BLE通告最多可以发送31个字节。在一个广告中,可能有几个广告。
我想知道只包含一个制造商特定数据AD的广告是否有效,以及这种AD是否可以填满所有31个字节(1字节的长度字段,1字节的类型字段(0xff),2字节的CIC和27字节的自定义数据)。
蓝牙核心规范或任何其他规范是否规定了这一点?
发布于 2016-10-26 07:03:06
摘自spec- Bluetooth Core Specification Version 4 Part A 1.4附录
1.4.1说明
制造商特定的数据类型用于制造商特定的数据。前两个数据二进制八位数应包含分配编号-公司标识符文档中的公司标识符代码。数据中任何其他八位字节的解释应由公司标识符指定的制造商定义。
1.4.2格式数据类型<>
描述:大小:2个或更多个八位字节前两个八位字节包含公司标识符代码,后跟附加的制造商特定数据
表1.4:制造商特定的数据类型
因此,除了广告分组长度本身之外没有限制,其为每个广告数据31字节,以及用于扫描响应的另外31字节。
对于具有Flags广告类型的广告数据,要求开头的3个字节(对于任何非零长度的广告都是必需的,请参阅Core V4.0第三卷C 11.1.3),从而将广告数据长度减少3。
然后是添加到制造数据中的制造广告类型标志和长度,减去另外2个字节。这就给你留下了:
广告数据中的
中的
对于制造数据本身(尽管其中两个字节应用于指定公司标识符代码),这将使其达到:
广告数据中的
发布于 2015-11-18 10:13:48
BT规范中对平均数据( AdvData )中的AD类型数据没有限制。AdvData可以为空或包含一个/多个AD类型数据。这取决于设备/应用程序。因此,没有什么可以阻止您将全部容量用于特定于制造商的数据。
注意:广告类型格式在核心规范补充中定义。
https://stackoverflow.com/questions/33535404
复制相似问题