用hcitool发送eddystone uid框架

时间:2016-08-08 14:01:26

标签: ibeacon beacon eddystone google-nearby

我想发送Eddystone UID帧和iBeacons帧,如果我理解正确,我可以用 hcitool 来做。我可以使用来自Debian的iBeacon发送帧,它显示正常,但我怎么能用Eddystone标准发送它。是否还有一些转换图表可以将 Tx 功率从iBeacon(距离1米)或Eddystone(0米)转换为另一个标准?

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中捕获帧对于每个标准都不同?

1 个答案:

答案 0 :(得分:1)

尝试使用它来传输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

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

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

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

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

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