2015/04/25

汝の名はBlueZ - (3)

さて、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 件のコメント:

コメントを投稿

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

注: コメントを投稿できるのは、このブログのメンバーだけです。