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プログラムがコンパイル出来ません: 原因が分からず、困っております: コンパイル済みのファイルを貼って頂けないですか❓