RAPIROで遊ぼう!(その2)
前回の記事ではRAPIROというよりRaspberry Piの設定しかしてなかった。nagisa314.hatenablog.jp
PS3コントローラーで操作する部分を書き起こします。
(RAPIRO自体の設定は他を当たってくださいm(__)m)
まずは公式サイトで書かれているサンプルプログラムをダウンロードしてきます。
mkdir controller cd controller curl -O http://www.kiluck.co.jp/rapiro/rapiro_ps3.py
必要なモジュールなどをインストールします。
(この作業、2015/05/22時点では不要になっていたような気がします...)
sudo apt-get install pyserial
RAPIROにセットしたRaspberry PiにPS3コントローラをUSB接続します。
しっかり接続できているか確認しましょう。
lsusb
このコマンドの出力に
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 006: ID 054c:0268 Sony Corp. Batoh Device / PlayStation 3 Controller
てな感じで「PlayStation 3 Controller」と出ていたらOKです。
これで先ほどダウンロードしたプログラムを動かすとPS3コントローラで操作できるはずです。
python rapiro_ps3.py
コントローラのボタンを押してみると
You pressed the SELECT button You released the SELECT button ...
などと出力されます。
おそらく、何度かボタンを押しているとエラーが起きてプログラムが終了してしまうと思います。
RAPIRO自身は最後に受け付けた命令を実行し続けていますが...
この原因はRaspberry Piのシリアルコンソール出力が原因のようです。
なので、その対策として次のコマンドを実行します。
sudo wget https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console -O /usr/bin/rpi-serial-console && sudo chmod +x /usr/bin/rpi-serial-console sudo rpi-serial-console disable sudo reboot
再起動後、プログラムを実行してから何度もコントローラのボタンを押してもエラーが怒らなくなりました。
python rapiro_ps3.py
ここまででPS3コントローラによるRAPIROの操作が可能になりました。
次の記事では、目標である遠隔操作の設定です。
現状ではUSBでつないでいるPS3コントローラを外して、無線(Bluetooth)通信できるように設定した方法について書き起こしたいと思います。