Braveridge 社のビーコン「どりっぴー君」(BVMCN1001CRH B)をセットアップする機会があったので、ラズパイからビーコンのUUIDを設定してみました。
この製品はサービスやCharacteristicの技術情報が公開されているので、開発者にとって扱い易い製品です。
基盤です。
スイッチを押すと設定モードになって、緑のLEDが点灯します。
ここからラズパイ。
まず hciconfig で内蔵bluetoothデバイスが上がってることを確認。
それから hcitool で周囲のBLE機器をスキャン。対象を発見。
以降、BLE機器のMACは一部伏せます。
発見したMACに接続し、プライマリサービス一覧を表示。
三行目の 12300100... のUUIDがセットアップ用のサービス。
特性(Characteristic)一覧を表示。
ビーコンUUIDの値は 12300101…のUUIDなので、そのハンドル0x000bを控えておく。
ハンドル0x000bにビーコンUUID "00112233-4455-6677-8899-AABBCCDDEEFF" を書き込み。
ハンドル0x000bの値を読み出し。
最後にハンドル0x0014 に 0x01 を書き込んでリセット。
設定したビーコンUUIDのビーコンシグナルが発信されることを、android のビーコンスキャナアプリで確認。
今回やったことは、ほとんど Bluez パッケージの gatttool なのでラズパイに限らずbluetoothアダプタを持ったlinuxマシンならどれでも同じようにできると思います。
ただ、ラズパイ3だと最初からbluetoothアダプタ内蔵なのですぐ使えます。