PS3コントローラをBluetoothで接続
PS3_BlueUSBを使用すると、mbedとPS3コントローラをBluetoothで接続することができる。
バグ修正はRobot No.8080のブログを参照。
環境がMacなので、シリアル端末はCoolTermMacを使用。
手順
1. PS3_BlueUSBをインポートしてコンパイルし、実行ファイルをmbedにダウンロード。
2. USB BluetoothドングルをStarBoard Orangeに挿し、mbedをリセット。
3. シリアル端末の表示からUSB BluetoothドングルのMACアドレスを確認。
シリアル端末
Local Address: XX:XX:XX:XX:XX:XX
4. AutoEvents.cppの261行目のMACアドレスを書き換える。
AutoEvents.cpp
u8 my_mac[6] = {0x00, 0x02, 0x72, 0xAD, 0xF3, 0x5B}; // mac address of my Bluetooth device
5. hci.cppのバグを修正する。
hci.cpp
int HCI::WriteScanEnable() { // u8 buf[2]; // buf[0] = 0x03; // buf[1] = 0x01; u8 buf[1]; buf[0] = 0x03; SendCmd(HCI_OP_WRITE_SCAN_ENABLE,buf,sizeof(buf)); return 0; } int HCI::AcceptConnection(const BD_ADDR* addr) { // u8 buf[6+4]; // memset(buf,0,sizeof(buf)); // memcpy(buf,addr,6); // buf[7] = 0; u8 buf[6+1]; memset(buf,0,sizeof(buf)); memcpy(buf,addr,6); buf[6] = 0; SendCmd(HCI_OP_ACCEPT_CONN_REQ,buf,sizeof(buf)); return 0; }
6. 再度PS3_BlueUSBをコンパイルし、実行ファイルをmbedにダウンロード。
7. StarBoard OrangeとPS3コントローラをUSBケーブルで接続してmbedをリセット。
8. StarBoard OrangeにUSB Bluetoothドングルを挿し、mbedをリセットすると、シリアル端末にPS3コントローラのデータが表示される。
1 comment on PS3コントローラをBluetoothで接続:
Please log in to post comments.
現在の開発環境ではps3bluetoothプログラムがコンパイル出来ません: 原因が分からず、困っております: コンパイル済みのファイルを貼って頂けないですか❓