2014-03-03 19 views
5

我是蓝牙系统的新手,我想了解用于新Apple技术的数据:iBeacon。了解iBeacon数据:电源字段和其他字节

已经有一些很好的解释它是如何工作的,我一直在阅读我能找到的所有东西(特别是蓝牙规范)。不过,我错过了一些观点,我会去一个例子第一:(我用的是设置广告数据命令,在这里错过了hcitool cmd的OGF)之前

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 

我会列出在这里我不理解或找到有关的信息。

  1. 有没有关于OGF的任何信息(这里是0x08)?我知道它代表的是OpCode Group Field,但是跟在OGF之后的OCF却没有找到任何东西。
  2. 02 01 1A 1A字节代表什么?我知道第一个字节1E讲述了其余数据的长度,在该行之后,从FF开始,您将获得制造商特定的数据。但是我找不到有关这4个字节的任何内容。
  3. 电源字节是如何工作的?这里是C5。我知道我得到的是测量我的iBeacon时的dBm值(例如在我的iPhone上)。而且我知道值越高(在功率字节),功率越高,这意味着更高的精度,但也更多的能源消耗。 但是,您如何使用该字节?您可以设置的最小值和最大值是多少?或者那里有任何一种公式?你会得到一个设定的dBm值(距离你的iBeacon一米)的字节设置值吗?

谢谢。

回答

5

前两个问题的答案可以在巨大的Bluetooth 4.0 Core spec中找到。

  1. 0x08的基团为LE控制器OCF命令的OGF:

    对于LE控制器命令时,OGF代码被定义为0x08的。 (蓝牙规范版本4.0 [卷2],页1114)

    因为×0008 OCF命令是控制器命令,则必须用它使用0x08的OGF代码。困惑?算了吧。只要知道您使用0x08 0x0008即可使用hcitool设置广告数据。

  2. 启动广告的字节序列如下:

    1E Number of bytes that follow in the advertisement 
    02 Number of bytes that follow in first AD structure 
    01 Flags AD type 
    1A Flags value 0x1A = 000011010 
        bit 0 (OFF) LE Limited Discoverable Mode 
        bit 1 (ON) LE General Discoverable Mode 
        bit 2 (OFF) BR/EDR Not Supported 
        bit 3 (ON) Simultaneous LE and BR/EDR to Same Device Capable (controller) 
        bit 4 (ON) Simultaneous LE and BR/EDR to Same Device Capable (Host) 
    1A Number of bytes that follow in second (and last) AD structure 
    FF Manufacturer specific data AD type 
    4C Company identifier code LSB 
    00 Company identifier code MSB (0x004C == Apple) 
    02 Byte 0 of iBeacon advertisement indicator 
    15 Byte 1 of iBeacon advertisement indicator 
    

    - 蓝牙规范版本4.0 [卷3], “广告和扫描响应DATA FORMAT” 页。蓝牙规范版本4.0 [第3卷],附录C(规范):EIR和AD格式“,p.128。401

  3. 功率场只是一个字节的二进制补码,代表RSSI的“测量功率”。简单来说

    这里是如何工作的:

    1. 保持一个iBeacon显示扫描仪(如Locate for iBeacon iOS设备)一米从iBeacon显示发射器。
    2. 在RSSI中阅读其信号强度。它将是-1到-127之间的数字。 (-1非常强,-127非常弱)
    3. 使用二进制补码将此数字转换为十六进制数。 (添加256然后转换为十六进制)

注:发电场可以80-FF。如果它是00,iOS根本不会进行距离计算。你可以阅读更多关于如何使用这个here

+0

谢谢你的回答,关于电源领域的解释为我提供了我在该字节和测量的RSSI之间缺失的链接。我希望能够快速找到更多关于我的其他讯问的信息。 – ySiggen

+0

我找到了一个很好的答案,可以帮助我了解距离测量的工作原理:http://stackoverflow.com/questions/19719659/how-to-limit-the-advertising-range-of-a-beacon Still寻找一些关于这些可怜的未知字节的信息。 – ySiggen

+1

好吧,很明显你已经达到了我的好奇心,因为我查了其余的东西。哇。阅读蓝牙规范真的很无聊。 – davidgyoung