Bluetooth iBeacon动态次值

Bluetooth iBeacon动态次值,bluetooth,raspberry-pi,bluetooth-lowenergy,ibeacon,bluez,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 到目前

我使用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当前传感器状态

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

但是我不知道怎么做,所以我希望有人能有一些见解,能给我指出正确的方向


谢谢你的时间

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

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


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

因此我将编写一个脚本,定期检查传感器值并基于此重新发出命令?是的。目前还不清楚您是如何读取传感器的,但如果您能发布一个示例,我可以展示一个动态更改信标传输值的shell脚本。谢谢!我用crontab和wiringPi解决了这个问题