关于如何将 USB 蓝牙 4 加密狗设置为 iBeacon 有一篇众所周知的博客文章。它归结为这个神奇的命令:
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
向 hci0 设备发送 hci 命令
0x08 0x0008
设置广告包只是魔术,其他stackoverflow命令都说“只需使用它,不要问
1e
是整个数据包的长度,以字节为单位
02 01 1a 1a
是设置广告包的标志(详情请咨询)
ff 4c 00 ...
是对 iBeacon 信息进行编码的“公司特定数据”
我尝试做的是将“FF ...”字节替换为用于设置 NAME 参数“04 09 41 42 43”(应该将其设置为 ABC)的操作码,但这不起作用。
我很惊讶 hcitool 没有给我们一些关于如何设置广告包的示例,因为这在设置各种其他参数(如 TEMP 或 POWER)时非常有用。有没有其他人有过使用 hcitool 来设置 NAME 之类的东西的经验?