美文网首页
在iOS中获取BLE的ADV数据

在iOS中获取BLE的ADV数据

作者: LongFei_Brook | 来源:发表于2022-04-19 13:47 被阅读0次

    iOS不允许您访问RAW广告数据.

    如果您打算将信息放入广告包并从iOS应用程序中读取它们而不连接外围设备,则可以这样做:

    1)在外围固件中,您必须在广告数据包中插入制造商特定数据,数据类型为GAP_ADTYPE_MANUFACTURER_SPECIFIC (0xFF)请记住,在制造商特定数据中,前2个八位字节包含公司标识符代码,后跟附加的制造商特定数据.
    例如:


    image.png

    上图中红圈中的内容就是完整的AdvData,AdvData由N个AD Structure组层成,每个AD Structure的格式都是Length |AD Type|AD Data组成。图中第一个第一个字节02表示第一个AD Structure的长度是2个字节,即第一个AD Structure是由02加上紧跟着02后面的2个字节组成,因此,第一个AD Structure是:020106。以此类推,整个AdvData就可以分解成下面两个Structure
    020106
    1BFF570100A2E20A75A1671A187c7967856E24977C02EA055D085078
    其中第二个Structure的Type,0xFF代表的就是厂商自定义内容,对应到iOS系统的advertisementData中我们可以得到570100A2E20A75A1671A187c7967856E24977C02EA055D085078而0201061BFF我们是读不到的。如果你的设备厂商把数据写到了非0xFF类型的Structure中,那么在iOS系统中你就不能获取到这些数据了。

    相关文章

      网友评论

          本文标题:在iOS中获取BLE的ADV数据

          本文链接:https://www.haomeiwen.com/subject/zkpsertx.html