什么是BLE制造商特定数据AD的最大长度?

时间:2015-11-05 02:00:27

标签: bluetooth-lowenergy

BLE广告最多可发送31个字节。在广告中,可能有几个广告。

我想知道广告是否只包含一个制造商特定数据AD,以及这种AD是否可以填满所有31个字节(1个字节的长度字段,1个字节的类型字段)是否有效(0xff),2个字节的CIC和27个字节的自定义数据。)

蓝牙核心规范或任何其他规范是否指明了这一点?

2 个答案:

答案 0 :(得分:8)

从蓝牙核心规范的spec- 补充说明 第4版A部分1.4

  

1.4.1说明

     

制造商特定数据类型用于制造商特定   数据。前两个数据八位字节应包含公司标识符   来自Assigned Numbers - Company Identifiers文档的代码。该   数据中任何其他八位字节的解释应由   由公司标识符指定的制造商。

     

1.4.2格式                数据类型<>

     

描述:大小: 2个或更多八位字节前两个八位字节包含   公司标识符代码后跟其他制造商特定   数据

     

表1.4:制造商特定数据类型

因此除了广告包长度本身没有限制,每个广告数据为31个字节,扫描响应为31个字节。

要求广告数据开头的3个字节具有Flags广告类型(任何非零长度广告都需要,请参阅 Core V4.0第3卷第C部分11.1.3 ),将广告数据长度减少3个。

然后,制造广告类型标志和长度会添加到您的制造数据中,减去另外2个字节。这让你:

  • 广告数据中的26个字节 或
  • 扫描响应中的29个字节

用于制造数据本身(尽管应该使用其中两个字节来指定公司标识符代码),这将带来:

  • 广告数据中的24字节实际数据 或
  • 扫描响应中的27个字节。

答案 1 :(得分:1)

关于广告数据(AdvData)中的AD类型数据,BT规范没有限制.AdvData可以为空或包含一个/多个AD类型数据。这取决于设备/应用程序。因此,没有什么可以阻止您使用制造商特定数据的完整容量。

注意:AD类型格式在核心规范补充中定义。