さて、BlueZを使ってBLEをなんかするプログラムを作ろう。
もちろん、C/C++だ(それしかわからん)。
動かすのは、Raspberry Piにする。
私がメインで使っているのはWindows7で、資料がそっちにあるからLinuxを立ち上げたくないのだ。
Raspberry Piだとセルフビルドできるので、お手軽でもある。
ファイルはWindowsで作って、WinSCPで転送している。
BLEが使えるドングルは、こちらで購入したものを使った。
http://ssci.to/2116
ソースは、ここからいただいた。
bluez-experiments/scantest.c at master · carsonmcdonald/bluez-experiments
$ sudo apt-get install libbluetooth-dev
$ sudo apt-get install libncurses5-dev
$ gcc -o scantest scantest.c -lbluetooth -lcurses
これでビルドできた。
$ ./scantest
・・・出てこない。
Scanning、というのは出てくるのだが、そこから出てこないのだ。
hcitool lescanでは出てくるから、作ったプログラムで読み取れてないだけのようだ。
よくわからんので、hcitoolのソースファイルからlescanの部分だけ抜き出してプログラムを作ってみた。
動かしてみると"Operation not permitted"って出てきた。
ああ・・・sudoしてやらんといかんのか・・・
$ sudo ./scantest
はい、無事に出てきました。
Raspberry PiはCentralとして使うので、gattoolでやってるようなことをやらにゃいかん。
それはまた次回で。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。