iBeacon动态次要值

时间:2017-03-17 20:43:08

标签: bluetooth raspberry-pi bluetooth-lowenergy ibeacon bluez

我使用Raspberry Pi作为iBeacon,创建一个在启动时运行的LaunchService,执行以下操作(使用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的亮度传感器,如果超过某个亮度阈值,它只返回true

我的想法是使用次要标识符并使​​用1来表示"它很明亮"和0代表"它是黑暗的"。我的应用程序可以解释这一点,而无需通过网络请求轮询Pi目前的传感器状态。

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

我不知道该如何做到这一点,所以我希望有人可能有一些见解并指出我正确的方向。

谢谢你的时间!

1 个答案:

答案 0 :(得分:1)

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

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

如果你想发送一个未成年人1,只需将上面C5之前的最后一个字节更改为01,如果你想发送一个0的小调,则将其改回00.