2017-03-17 7 views
0

私は(のbluezを使用して)次のコマンドを実行し、起動時に実行されるLaunchServiceを作成することにより、iBeaconとしてラズベリーパイを使用しています:iBeaconダイナミックマイナー値

sudo hciconfig hci0 up 
sudo hcitool -i hci0 cmd 0x08 0x0006 40 [...] 00 
sudo hcitool -i hci0 cmd 0x08 0x000A 01 
sudo hcitool -i hci0 cmd 0x08 0x0008 1E [...] 02 C0 00 00 00 00 C5 00 

今のところ、これは美しくてきました。サービスが実行され、Piに電源が供給されている限り、iBeaconがアドバタイズされます。

今、私は広告データでいくつかの情報を送信したいと思います。私は明るさの特定のしきい値を超えている場合は、単にtrueを返すPiに配線された明るさセンサーを持っています。

マイナーIDを使用して、「それは明るい」と「それは暗い」を表すために1を使用し、0を使用してください。私のアプリはこれを解釈することができ、現在のセンサーの状態をネットワーク要求を介してPiにポーリングする必要はありません。

私は広告パッケージを静的に設定しているので、このアプローチを今後も使用することはできません。

これ以外にどのようにすればいいのかわからないので、誰かが洞察力を持っていて、正しい方向に向けることを期待していました。

ありがとうございました!

答えて

1

簡単。あなたは、単に、特に最後の1、それらのコマンドを再発行することができます:あなたは1のマイナーを送信したい場合は

sudo hcitool -i hci0 cmd 0x08 0x0008 1E [...] 02 C0 00 00 00 00 C5 00

ただ、01であることを上記のC5の前に最後のバイトを変更し、戻ってそれを変更しますあなたが0のマイナーを送信したい場合00に。

+0

私は定期的にセンサーの値をチェックし、それに基づいてコマンドを再発行するスクリプトを書くだろうか? – LJGibbs

+0

はい、正確です。どのようにセンサーを読み取るのかは不明ですが、例を投稿することができれば、ビーコンの送信値を動的に変更するシェルスクリプトを表示できます。 – davidgyoung

+0

ありがとう!私はcrontabとwiringPiを使ってそれを試しました! :) – LJGibbs

関連する問題