##はじめに
簡単なロボットの制御をRaspberryPiで実現したかったので、一通りインストールしてみました。
RaspberryPiを使うときに、どのOSにするか最初に悩みます。
今回はUbuntu20.04にしました。
決め手は最新のROSを入れれるのと、18.04と比較して簡単にGPIOの設定ができるからです。今回はROS1を入れましたが、UbuntuなのでROS2も容易に入れられるようです。こちらも試したらいつか記事にしたいと思います。
##使用デバイス
- Raspberry Pi 3 Model B+
##Ubuntu20.04の書き込み
これは既に情報が豊富ですね。
自分はUbuntuの公式サイトの通りでできました。
##初期設定
最初は有線LANをつないで設定するのがオススメのようです。
(どうしても有線LANが準備できない場合は、以下のWiFi設定を先にしても大丈夫かもしれないですが、自分は試していないです。)
起動後は
ユーザ名 | パスワード |
---|---|
ubuntu | ubuntu |
でログインできます。
ログインしたら、お決まりのコマンドでアップデートしておきます。
$sudo apt update
$sudo apt upgrade
あと、自分はifconfigに頼っているのでnet-toolsもインストールします。
$sudo apt install net-tools
##WiFiの設定
こちらの記事はUbuntu18.04ですが、同じ方法でWiFiが使えました。
##WiringPi(GPIO)のインストール(6/29修正)
こちらの記事を参考にしましたが、
/dev/gpiomemをchownでグループ変更する方法では再起動すると元に戻ってしまうようです。
こちらに書いてあるとおり、udevの設定ファイルを追加することで、永続的に/dev/gpiomemのグループを変更できます。
全体の手順は以下のとおりです。
$ sudo apt install wiringpi
$ sudo adduser ubuntu gpio
/etc/udev/rules.d/99-com.rulesを新規作成し、以下の内容を記述します。
SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0660"
これでGPIOコマンドは使えるようになりますが、CでwiringPiのライブラリを呼び出そうとすると、
$ gcc test_pwm.c -o test_pwm -lwiringPi
test_pwm.c:1:10: fatal error: wiringPi.h: No such file or directory
1 | #include <wiringPi.h>
| ^~~~~~~~~~~~
compilation terminated.
と怒られてしまいますので、libwiringpi-devをインストールします。
$ sudo apt install libwiringpi-dev
##ROS(Noetic)のインストール
ROS公式サイトの手順通りで、問題なくインストールできました。
今回はRaspberryPi本体でGUIを使うつもりがないのでbaseを選択しました。