发送eddystone uid框架与hcitool



我想发送Eddystone UID帧以及iBeacons帧,如果我理解正确的话,我可以用hcitool来做这两件事。我能够使用iBeacon从我的Debian发送帧,它显示正确,但我怎么能用Eddystone标准发送它。是否还有一些转换图表可以将Tx功率从iBeacon(距离1m)或Eddystone(距离0m)转换为其他标准?

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 12 34 00 01 66 00

我是否也正确地理解了在iOS或Android上捕捉帧对于每个标准都是不同的?

尝试使用这个来传输Eddystone-UID:

 hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 06 03 03 aa fe 15 16 aa fe 00 e7 00 01 02 03 04 05 06 07 08 09 01 02 03 04 05 06

警告:我还没有测试过以上内容。让我知道它是否有效!

如果一切顺利,上面将发送:

  • 一个10字节的命名空间标识符00010203040506070809
  • 一个6字节的实例标识符010203040506
  • 0米Tx功率电平为e7 (-25 dBm)。

要将Eddystone的零米Tx功率电平(例如-25 dBm)转换为iBeacon和AltBeacon的一米Tx功率电平,只需减去41 dBm。因此- 25dbm在零米处变成- 66dbm。

在iOS上,你必须使用CoreLocation API来检测iBeacon和CoreBluetooth来检测Eddystone(可能使用更高级别的API,如Google的Proximity API或AltBeacon Beacon Tools)。在Android上,有几个工具可以让你检测这两种帧类型。我将为我自己的Android Beacon Library添加一个无耻的插头。

最新更新