【Raspberry Pi】PS4コントローラー(DUALSHOCK 4)をBluetooth接続する方法

Raspberry piとPS4コントローラーを接続する方法

こんにちは! けい(Twitter)です!

今回は,PS4コントローラーをラズベリーパイに接続して,操作する方法について紹介していきたいと思います.PS4コントローラーを繋げれば,このようなこともできます.

ちなみに,今回の記事の内容は動画にまとめたので,文章じゃなくて動画で見たい!という人は,一番下までスクロールしてもらえると,Youtubeで見ることができます.

必要なパッケージのインストール

pyPS4Controller

pyPS4Controllerは,PS4のコントローラーのボタンの違いを認識したりするためのライブラリです.こちらのリンクより,インストール手順について見ることができます.

ターミナル上で,pipコマンドでライブラリをインストールします.

$ sudo pip install pyPS4Controller

インストールが完了したら,もう一つのパッケージのインストールに移ります.

ds4drv

ゲームパッドをLinuxで認識するためのドライバーです.こちらもインストールしていきます.

こちらも同様,ターミナル上でpipコマンドでライブラリをインストールします.

$ sudo pip install ds4drv

これで,パッケージのインストールは終了です.

Raspberry pi と PS4コントローラーをBluetoothで接続

Raspberry piのBluetooth設定をONにしてください.
その後,ターミナル上で下のコマンドを入力します.

$ sudo ds4drv

こんな感じで,Scanning for deviceと表示されます.Raspberry piが接続先のデバイスを探しています.

ここで,PS4コントローラーのPSボタンとSHAREボタンを同時に長押ししてください.
接続が完了すると,コントローラーの上面のライトが光ます.また,ラズパイのターミナルでの表示も追加されます.

新しいターミナルを開いて,下のコードを入力します.

$ ls -la /dev/input

結果で,js0と出てきて,js1などが出てこなかったらOKです.基本的にはjs0の一つだけが出てくると思います.

コントローラーのボタンの認識

from pyPS4Controller.controller import Controller


class MyController(Controller):

    def __init__(self, **kwargs):
        Controller.__init__(self, **kwargs)


controller = MyController(interface="/dev/input/js0", connecting_using_ds4drv=False)
controller.listen()

上のコードをコピペして,test.pyとして保存しましょう.
ターミナル上でpythonファイルを実行します.

$ python test.py

実行して,コントローラを動かしたときに,値がターミナル上で表示されればOKです.

こんな感じでターミナルに表示されます.

まとめ

Raspberry piとPS4コントローラーを接続する方法を紹介してきました.文章だけでは,伝わらないこともあるので,動画にしてみました.
もし,興味がある方がいたらぜひ見てみてください!
では!