iBeacon 动态次要值

iBeacon Dynamic Minor Value

我通过创建启动时运行的 LaunchService 来使用 Raspberry Pi 作为 iBeacon,执行以下命令(使用 BlueZ):

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 就会被通告。

现在我想发送一些带有广告数据的信息。我有一个连接到 Pi 的亮度传感器,如果超过某个亮度阈值,它会简单地 returns true

我的想法是使用Minor标识符,用1表示"it is bright",0表示"it is dark"。然后,我的应用程序可以解释这一点,而无需通过网络请求轮询 Pi 当前的传感器状态是什么。

但是由于我静态设置了广告包,我相信我以后将无法使用这种方法。

不过我不知道还有什么方法可以做到这一点,所以我希望有人能提供一些见解并能为我指明正确的方向。

感谢您的宝贵时间!

简单。您可以简单地重新发出这些命令,特别是最后一个:

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

如果要发1的辅音就把上面C5之前的最后一个字节改成01,如果要发0的辅音就改回00