【问题标题】:Change Beacon transmission rate to 5Hz将信标传输速率更改为 5Hz
【发布时间】:2016-05-18 11:45:13
【问题描述】:

我使用此代码以 10hz 的传输速率启动 ibacon。

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?这个速率的最佳扫描周期是 400 毫秒吗?

【问题讨论】:

    标签: ibeacon ibeacon-android android-ibeacon


    【解决方案1】:

    最小值和最大值是小端,是的。所以在这个命令中:

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

    前两个字节50 00 将最小间隔设置为 0x0050(十进制 80),以 0.625 毫秒的粒度转换为 80x0.625 = 50.0 毫秒。后两个字节也将最大间隔设置为 50.0 ms。要转换为 Hz,请取区间的倒数 1/(0.050 秒) = 20 Hz。

    您说您想要 5 Hz,这将是每 1/(5 Hz) = 0.2 秒 = 200 毫秒一个广告。以 0.625 ms 的粒度,即 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
    

    您的蓝牙芯片可能或许多不支持此速率。你将不得不尝试看看。如果它不支持它,您可能不会收到任何错误,它只会以最接近的支持速率进行广告。

    如果您使用 Android Beacon 库或其他可让您配置扫描间隔的库来扫描此广告,则默认扫描间隔约为 1.0 秒即可。

    【讨论】:

      猜你喜欢
      • 2016-09-08
      • 1970-01-01
      • 2012-01-26
      • 2014-10-04
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      相关资源
      最近更新 更多