Bluetooth を既存の組み込みデバイスに実装しようとしています。私が使用しているコントローラは、Ti CC2564 デュアル モード IC を使用する LS Research TiWi-uB2 です。ホストは LPC2378 マイクロコントローラーです。デバイスは、他のデバイス (現時点では Android デバイスと PC) によって検出可能である必要があります。このデバイスには、自分のニーズ (コスト、静的メモリ割り当て、メモリ サイズ) に合った既製の BT スタックがないため、独自のスタックを作成しています。
仕様のボリューム 2 パート E を経て、最終的に HCI で意味のある通信が得られましたが、デバイスが他の方法で「検出可能」であるようには見えませんでした。この時点では、LE 機能ではなく BR/EDR 機能のみを使用しています。
以下は、HCI インターフェイスのデバッグ ダンプです (UART パケット タイプを含む)。
BT_Reset
Tx: 0x01 0x03 0x0C 0x00
Rx: 0x04 0x0E 0x04 0x01 0x03 0x0C 0x00
Device info
Tx: 0x01 0x01 0x10 0x00
Rx: 0x04 0x0E 0x0C 0x01 0x01 0x10 0x00 0x06 0x00 0x00 0x06 0x0D 0x00 0x0F 0x1B
Local supported commands
Tx: 0x01 0x02 0x10 0x00
Rx: 0x04 0x0E 0x44 0x01 0x02 0x10 0x00 0xFF 0xFF 0xFF 0x03 0xCE 0xFF 0xFF 0xFF 0xFF
Local supported features
Tx: 0x01 0x03 0x10 0x00
Rx: 0x04 0x0E 0x0C 0x01 0x03 0x10 0x00 0xFF 0xFE 0x2D 0xFE 0xDB 0xFF 0x7B 0x87
Get device address
Tx: 0x01 0x09 0x10 0x00
Rx: 0x04 0x0E 0x0A 0x01 0x09 0x10 0x00 0x81 0xA6 0xD3 0x2F 0x18 0x00
Address: 00 18 2F D3 A6 81
Read buffer size
Tx: 0x01 0x05 0x10 0x00
Rx: 0x04 0x0E 0x0B 0x01 0x05 0x10 0x00 0xFD 0x03 0xB4 0x04 0x00 0x04 0x00
ACL len = 1021
Write buffer size
Tx: 0x01 0x33 0x0C 0x07 0xFC 0x00 0x00 0x00 0x00 0x00 0x00
Rx: 0x04 0x0E 0x04 0x01 0x33 0x0C 0x00
Write local name
Tx: 0x01 0x13 0x0C 0x08 0x42 0x54 0x5F 0x54 0x65 0x73 0x74 0x00
Rx: 0x04 0x0E 0x04 0x01 0x13 0x0C 0x00
Read class of device
Tx: 0x01 0x23 0x0C 0x00
Rx: 0x04 0x0E 0x07 0x01 0x23 0x0C 0x00 0x14 0x01 0x08
Write class of device
Tx: 0x01 0x24 0x0C 0x03 0x14 0x01 0x08
Rx: 0x04 0x0E 0x04 0x01 0x24 0x0C 0x00
Write scan enabled
Tx: 0x01 0x1A 0x0C 0x01 0x03
Rx: 0x04 0x0E 0x04 0x01 0x1A 0x0C 0x00
Finished
リンクのお問い合わせも承ります。
Tx: 0x01 0x01 0x04 0x05 0x33 0x8B 0x9E 0x0A 0x0A
Rx: 0x04 0x0F 0x04 0x00 0x01 0x01 0x04
…
Rx: 0x04 0x01 0x01 0x00
しかし、デバイスが見つかりません。
かなり明白な何かが欠けていると確信していますが、それが何であるかはわかりません。BR/EDR モードで実行するために CC2564 を特別に処理する必要があることはわかりません。また、すべてのデフォルトが適切に思えます。
アップデート
モジュールには初期化スクリプト (別名「サービス パック」) が必要です。「初期化スクリプト」の下にあるhttps://code.google.com/p/btstack/wiki/MSP430GettingStartedを参照してください。幸いなことに、スクリプトを使用すると、モジュールが検出可能になりました。悪いニュースは、LS Research によると、私自身のスタックは Bluetooth SIG の苦情ではなく、Bluetopia スタックを使用する必要があるということです。すべてが Ti プロセッサの使用に重点を置いているようです。
この時点で、より高いレベルのインターフェイスを備えた BR/EDR/BLE モジュールがオンラインになるまで待つ必要があります。