2015/04/28

汝の名はBlueZ - (5)

なんでこんなタイトルにしたんだろう・・・そう思いながらも5回目だ。

スキャンはなんとなくわかったので、次は接続だ。
いつもの図を載せるが、今回はCentralとしての動きになる。
Scanningするけど、そこから続けてInitiatingになるのではなく、一度Standbyを挟んでいる。
つまり、Scanningは必須ではないということだろう。
InitiatingからConnectionは一連の流れだ。

image

 

BlueZで使えるコマンドラインツールでも、そういう動きになっている。
Linux でBLEのドングルを刺して通信させる。 | mbed

まず、hcitool lescanでスキャンするが、次に使うのはgatttoolだ。
スキャンをCtrl+C・・・じゃなくてCtrl+Zで止めてるが、とにかく連続した操作ではなく、アドレスが共通で使われるだけだ。


と、勝ち誇ったように書いたのだが・・・。
Raspberry Pi乗で、gatttool使ってconnectしようとしても、エラーが出てしまう。
特に悪いことはしてなさそうなんだが・・・。

俺はこうやって対応したぜ、というのがあった。
raspberry pi - BLE gatttool cannot connect even though device is discoverable with hcitool lescan - Stack Overflow
apt-getでインストールされるBlueZではなく、自分で最新版を持ってきてビルドするのだ。
さっきRaspberry Piのbluezをdpkg -lで見ると、4.99とかだった。
今は5.30が最新みたいなので、その差なんだろうか。

 

ビルドして動かそうと思ったが、セルフビルドは遅い・・・。
また今度にしよう。

0 件のコメント:

コメントを投稿

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