【Raspberry Pi】Raspberry PiにPS3コントローラを繋いでみました

はじめに

こんにちは、がんがんです。
学会から帰ってきて最近はRaspberry Pi Mouseをセットアップしています。
ラズパイマウスが動作することは確認できたので、コントローラで操作できないかなと考えました。前回記事はこちらです。
gangannikki.hatenadiary.jp



調べてみると、PS3コントローラをラズパイに接続する方法があることが分かりました。
今回はPS3コントローラでLチカする方法について備忘録を書いておきます。

目的

Bluetooth接続の準備

まずはBluetooth関連のドライバや必要ライブラリをインストールします。

$ sudo apt-get install libusb-dev libbluetooth-dev
$ sudo apt install python-qt4 pyqt4-dev-tools qt4-designer libjack-jackd2-dev 

次にsixpairについて設定します。

$ wget "https://help.ubuntu.com/community/Sixaxis?action=AttachFile&do=get&target=sixpair.c" -O sixpair.c
$ gcc -o sixpair sixpair.c -lusb
$ ls -la

最後にコンパイルします。

$ git clone https://github.com/falkTX/qtsixa.git
$ cd qtsixa
$ make
$ sudo make install

PS3コントローラの接続確認

まずはUSBケーブルでラズパイとPS3コントローラを接続します。接続後PSボタンを押し、以下のコマンドで認識されていればOKです。認識されていればランプの点滅はなくなります。

$ lsusb

次に、sixpairを行います。

$ sudo ./sixpair

最後に有線接続を解除し、sixadでbluetooth接続を行います。"Connected 'PLAYSTATION…"と表示されたらOKです。

$ sudo sixad -start &

# 終了コマンドは以下
$ sudo sixad -stop

起動時にいつでもsixadが起動して勝手に接続できるようにしとくと楽でした。

$ sudo systemctl enable sixad

まとめ

今回はRaspberry Pi MouseをPS3コントローラで操作する前段階として、PS3コントローラとRaspberry Piを接続してみました。
自分が思っていた以上には簡単に接続できるんだなという印象でした。この感じであればスイッチのコントローラとかも接続できたりするのかな?
接続はできたものの、Bluetoothドングルがないと接続が安定しないようなので、購入して再度トライしていきます。

次回は予定どおりPS3コントローラでラズパイマウスを制御していきます。