BlueZを使用してBluetooth低エネルギーをプログラミングするのは初めてです。
Intel Edison で Bluetooth Low Energy 用の BlueZ API を使用して近くのデバイスをスキャンするためのネイティブ コード c を開発したいと考えています。この質問を見たことがありますが、答えはあまり役に立ちません。何かアドバイス?
BlueZを使用してBluetooth低エネルギーをプログラミングするのは初めてです。
Intel Edison で Bluetooth Low Energy 用の BlueZ API を使用して近くのデバイスをスキャンするためのネイティブ コード c を開発したいと考えています。この質問を見たことがありますが、答えはあまり役に立ちません。何かアドバイス?
他の回答の例は私にはうまくいきません。スキャンで停止します...
次のリンクは C 言語で機能しますが、de rssi シグナルに関する情報を含むバイトをキャストするときにエラーが発生します。 https://github.com/glock45/intel-edison-playground/blob/master/scan.c
この121行目:
printf("%s - RSSI %d\n", addr, (**char**)info->data[info->length]);
次のようにする必要があります。
printf("%s - RSSI %d\n", addr, (**int8_t**)info->data[info->length]);
bluez-version/monitor/*.c
これらは、btmon プログラムがある内を調べて見つけました。データ型と構造体を見ることができ、hcidump.c
非常に便利ですが、hci ソケットについて学ぶべきことがたくさんありますpackets.c
。main.c
Galileo または Edison での BlueZ を使用した BLE プログラミングは、他の x86 プラットフォームと同様です。
Edison (および Galileo) には通常、BlueZ ライブラリがプリインストールされています。それらを C コードでリンクし、他の x86 プラットフォームと同様にプログラムするだけです。
BlueZ を使用した完全なC コードの Bluetooth スキャンの例については、このリンクを参照してください。
HCI APIはこちら.