2016-05-18 23 views
0

このコードを使用して、10hzの送信レートのイーバコンを開始します。ビーコンの送信レートを5Hzに変更してください

sudo hciconfig hci0 up 
sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00 
sudo hcitool -i hci0 cmd 0x08 0x0006 A0 00 A0 00 03 00 00 00 00 00 00 00 00 07 00 
sudo hcitool -i hci0 cmd 0x08 0x000a 01 

リトルエンディアンの最小値と最大値はありますか?私はこの値が私の命令が正しいことを確かめたい。

sudo hcitool -i hci0 cmd 0x08 0x0006 50 00 50 00 03 00 00 00 00 00 00 00 00 07 00 

このコマンドは、伝送速度を5Hzに変更しますか?このレートの最適スキャン期間は400msですか?

答えて

0

最小値と最大値はリトルエンディアンです。したがって、このコマンドで:

sudo hcitool -i hci0 cmd 0x08 0x0006 50 00 50 00 03 00 00 00 00 00 00 00 00 07 00 

0.625ミリ秒の粒度で80x0.625 = 50.0ミリ秒に変換0x0050に分間隔(80進)を、設定50 00最初の2バイト。 2番目の2バイトは最大間隔を50.0msに設定します。 Hzに変換するには、間隔1 /(0.050秒)= 20 Hzの逆数をとります。

あなたは5Hzが1 /(5Hz)= 0.2秒= 200msごとに1つの広告になるとします。粒度が0.625msの場合、200/0.625 = 320 = 0x0140となります。リトルエンディアンとして表現される0x40 0x01です。したがって、5 Hzで広告を掲載するには:

sudo hcitool -i hci0 cmd 0x08 0x0006 40 01 40 01 03 00 00 00 00 00 00 00 00 07 00 

あなたのBluetoothチップは、このレートをサポートしていない場合があります。試してみる必要があります。サポートしていない場合は、エラーは発生しません。サポートされている最も近いレートで広告が表示されます。

Androidビーコンライブラリまたはスキャン間隔を設定できるその他のライブラリを使用してこの広告をスキャンする場合、デフォルトのスキャン間隔は約1.0秒です。

関連する問題