背景
PS3のコントローラーはUSB接続時に親機のBluetoothアドレスを更新し、その後の起動時に覚えている親機へのBluetooth接続を試みる動作をします。親機のアドレス変更方法に関しては、Windowsの場合は日本語の解説記事やプログラムがすぐに見つかったのですが、同様のことをUbuntuで実現するのに時間をとられました。
備忘録を兼ねて、実現した手順を記事に残します。
使ったもの
Ubuntu20.04PS3コントローラー
USB miniBケーブル
接続先アドレス変更プログラムの準備と実行
接続先アドレスの変更にはsixpairというプログラムを利用します。これはUbuntu向けにaptを利用してインストールできる仕組みがあるのですが、Ubuntu20.04では依存を満たせないようで、その方法ではインストールできませんでした。
調査をすすめた所、Raspberry Pi向けにプログラムのファイルをダウンロードしてビルドして実行する手順があり、それは成功しました。
準備と実行時のコマンドを共有します。
依存ライブラリをインストールします。
sudo apt install libbluetooth3 libusb-dev
/tmpディレクトリにプログラムをダウンロードしてビルドします。
cd /tmp
wget http://www.pabr.org/sixlinux/sixpair.c
gcc -o sixpair sixpair.c -lusb
PS3のコントローラーをPCにUSB接続した状態でsixpairを実行して接続先アドレスを変更します。
アドレスを変更せず親機のアドレスを見たい場合は-hオプションを付けて実行します。
-hもアドレス指定も無ければ、PCのBluetoothモジュールのアドレスが親機のアドレスとして登録されます。
cd /tmp
sudo ./sixpair -h
sudo ./sixpair aa:bb:cc:dd:ee:ff
まとめ
UbuntuでPS3のコントローラーの接続先アドレスを変更できました。親機のアドレスを変えれば、ライブラリを利用してESP32と連携できます。
0 件のコメント :
コメントを投稿