【Raspberry Pi】Raspberry Pi Mouseを試してみました ~セットアップ~

はじめに

こんにちは、がんがんです。
研究室の民よりラズパイマウスのセットアップをしてほしいと頼まれました。
ラズパイでロボットを動かしたいなーと思っていたのでちょうどいいタイミングでした。
今回は主に動かすためのセットアップを中心に書いておきます。

目的

  • Raspberry Pi Mouseのセットアップ
  • 今回はROSを使わない

環境

実験

Raspberry Pi Mouseを始めるためには以下の手順でセットアップを行う必要があります。

  1. OSのインストール
  2. GitHubからRaspberryPiMouseのリポジトリをインストール
  3. カーネルのバージョン確認
  4. RaspberryPiMouseのドライバをインストールする
  5. バイス用ドライバのシェルスクリプトを作成

4番目のところで躓いたので手順としては先にこちらの処理を記載します。

カーネルのバージョン確認・カーネルバージョンのダウングレード

まずは以下のコマンドでカーネルバージョンの確認を行います。

$ uname -r
4.19.57-v7+

ラズパイマウスのバージョン的には4.19.42-7+があったのでこちらにダウングレードしました。
しかし、ドライバをインストールすることは出来ませんでした。そのため、参考記事で動作確認できていた4.14.69-v7+にダウングレードしました。


以下のコマンドでダウングレードを行います。ハッシュ番号についてはGitHubより調べます。

$ sudo rpi-update c8da643e606a55971d22482ce829a6c109a6a7ad # 4.14.69-v7+のハッシュ番号
$ reboot

再起動後、カーネルのバージョンを確認すると変更出来ていました。

$ uname -r
4.14.69-v7+

デバイスドライバのインストール

次に、GitHubのReadmeを見ながらドライバのインストールを行います。

$ git clone https://github.com/rt-net/RaspberryPiMouse.git
#  インストール
$ sudo insmod /RaspberryPiMouse/lib/Pi2B+/`uname -r`/rtmouse.ko

インストールが完了するとLEDが点灯したり、ブラーの音がなります。
コマンドの方ではrtmouseが表示されます。

$ lsmod | grep rtmouse
rtmouse    28672 0

また、デバイスファイル直下にrt関連のファイルができていることが確認できます。ついでにパーミッションの設定も変更しておくと楽です。

$ ls /dev/rt*
$ sudo chmod 666 /dev/rt*

シェルスクリプトの作成

バイスのインストールが完了して安心していましたが、どうやら電源OFF時にリセットされるようで毎回再インストールが必要となります。
何度もやっているうちにフローを完璧に覚えましたが、面倒です。
そのため、シェルスクリプトを書いて楽をしたいと思います。スクリプトは以下の通りです。

cd ~
cd /home/pi/RaspberryPiMouse/lib/Pi2B+/`uname -r`/
sudo insmod rtmouse.ko
sudo chmod 666 /dev/rt*
echo 440 /dev/rtbuzzer0
echo 1 /dev/rtled0
echo 1 /dev/rtled1
echo 1 /dev/rtled2
echo 1 /dev/rtled3
sleep 1
echo 0 /dev/rtbuzzer0
echo 0 /dev/rtled0
echo 0 /dev/rtled1
echo 0 /dev/rtled2
echo 0 /dev/rtled3


次にこちらのサイトを参考にして、起動時に動作するようにします。
ラズパイ起動時にスクリプトを実行したい - Qiita

/etc/rc.localにアクセスします。

$ sudo nano /etc/rc.local

そして、以下をexit 0の前に追加します。&をつけることでバックグラウンド実行されるようです。

sh /home/pi/raspimouse.sh &

exit 0

再起動して、LED点灯とブザーの音がすれば成功です。

まとめ

今回はRaspberry Pi Mouseのセットアップを行いました。
次はサンプルプログラムで遊んだり、モーターの制御を実行したりします。