2015/05/25

[ble]TxAdd=1はrandom address

SensorTagはBlueZのgatttoolでつながることがわかったので、手持ちのBVMCNDT52(Braveridge社、nRF51822)に載せたアプリで試してみた。
が、connectできず・・・。

しばらく悩んだが、パケットモニタで確認するとわかった。
SensorTagはpublic addressなのだが、私はrandom addressでやってたのだ。
hiro99ma blog: [ble]Device Addressのpublicとrandom

image

上が自作、下がSensorTagだ。
gatttoolはデフォルトでpublicとしてconnectするようになっているので、指定が必要。

[F1:78:92:42:17:BF][LE]> connect F1:78:92:42:17:BF random

これで接続できた。
primaryコマンドでも、自作サービスのUUID(128bit)が載っている。

載っているのだが、ハンドル値の意味がよくわからない。
まあ、ハンドル値はSoftDeviceが返してくるから管理対象ではないのだけど、有効範囲は知っておきたい。
Core_V4.2.pdfのVol.3 Part GにGATTのことが書いてあり、その2.5章 ATTRIBUTE PROTOCOLの2.5.1節に「0x0001~0xFFFF」と書かれていた。
最初が0x0001で、追加するごとにインクリメントしているようだ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。