システム要件
- PlayStation 3/4/5のコントローラはBluetooth Classicで通信するので、ESP32シリーズでは無印ESP32のみ利用可能。ESP32-C3やESP32-S3では利用できない。
- 開発環境は Arduino とする。
ESP32のBluetoothのMACアドレスを調べる
ESP32で下記のスケッチを実行して、ESP32のBluetoothのMACアドレスをメモしておく。
void setup(void) { Serial.begin(115200); uint8_t btmac[6]; esp_read_mac(btmac, ESP_MAC_BT); Serial.printf("[Bluetooth] Mac Address = %02X:%02X:%02X:%02X:%02X:%02X\n", btmac[0], btmac[1], btmac[2], btmac[3], btmac[4], btmac[5]); } void loop() { }
コントローラにMACアドレス書込み
- sixaxispairtoolをダウンロードしてインストール。
- コントローラをUSBでパソコンと接続して sixaxispairtool を起動。
- メモしておいたMACアドレスを入力して Updateボタンを押す。
ライブラリをインストール
- PS3🎮用ライブラリ: PS3 Controller Host
https://github.com/jvpernis/esp32-ps3 - PS4🎮用ライブラリ: PS4Controller
https://github.com/pablomarquez76/PS4_Controller_Host - PS5🎮用ライブラリ:
https://github.com/rodneybakiskan/ps5-esp32
スケッチ例で動作確認
- インストールしたライブラリのスケッチ例を開く。
( 例えば、PS4であれば スケッチ例→PS4Controller→PS4ReceiveData ) - setup() 内の PS4.begin("xx:xx:xx:xx:xx:xx"); にメモしておいたMACアドレスを記入する。
または、PS4.begin(); とする - ESP32に書き込んで動作を確認する。
参考記事