tdrk's diary

とある情報系大学生。主には自分のための備忘録...になる予定

RAPIROで遊ぼう!(その3)

前回の記事でPS3コントローラでラピロの操作ができるようになったので、それを遠隔でできるようにしたときのことを書き起こします。nagisa314.hatenablog.jp


Bluetooth関連で必要なものをインストール

sudo apt-get install bluetooth bluez-utils blueman bluez-compat bluez-hcidump libusb-dev libbluetooth-dev

sixadなどのコンパイル

wget https://sourceforge.net/projects/qtsixa/files/QtSixA%201.5.1/QtSixA-1.5.1-src.tar.gz/download -O QtSixA-src.tar.gz
tar -xvf QtSixA-1.5.1-src.tar.gz
cd QtSixA-1.5.1-src
make 
sudo make install

(なんか他にもインストールしたものがあった気がするんだけど、履歴に残ってないし、まあいいか。 判明したら追記します。。。)

PS3コントローラとのBluetoothペアリング

BluetoothドングルとPS3コントローラをRaspberry PiにUSB接続する。
その状態で次のコマンドを実行。

# 一応USBが認識されているか確認
lsusb 
# ペアリング
sudo sixpair

PSボタン押下後、次のような表示が出たらOKです。

Current Bluetooth master: xx:xx:xx:xx:xx:xx
Setting master bd_addr to: xx:xx:xx:xx:xx:xx

xxの部分にBluetoothアドレスが表示されます。

その後、PS3コントローラをRaspberry Piから外します。

接続

sudo sixad -start

というコマンドを実行し、画面の指示に従いPS3コントローラのPSボタンを押下します。

このとき、

cat /dev/input/js0

として、ファイルの中身を確認するとなにやら怪しげな文字列が表示されます。
これが通信内容です(内容まではよくわかりませんが...)


というわけで、PS3コントローラを無線(Bluetooth)にて接続することが可能になりました。

次の記事で、起動時に自動的に

sudo sixad -start

が実行されるように設定ファイルについて書きたいと思います。