目录
链路层包格式:
在蓝牙4.2的spec中,BLE链路层的广播包格式如下:

图1
如上图所示,“数据字段”最长为37字节,格式为6字节的广播设备地址 + 31字节广播数据(AD Structure1 + AD Structure2 + ........ + AD Structure N),广播数据最长31字节。

图2
AD Structure的格式如图2:Length(1字节)+ AD Type(1字节)+ AD Data(Length - 1)。
每个AD Type对应的AD Data的格式在《Generic Access Profile》的文档中有介绍。
beacon格式:
beacon作为广播包中的一种,当然也符合链路层数据格式。
beacon广播报文类型:
一般使用ADV_NONCONN_IND(不可连接的非定向广播)作为Beacon包的“广播报文类型”,发送beacon包的设备,本来也不希望别来来连接它。
beacon的ad type:
有两种AD Type可以被用作自定义beacon帧,分别是一个是0xFF,另外一个是0x16。
| 0xFF | «Manufacturer Specific Data» | Bluetooth Core Specification:Vol. 3, Part C, section 8.1.4 (v2.1 + EDR, 3.0 + HS and 4.0)Vol. 3, Part C, sections 11.1.4 and 18.11 (v4.0)Core Specification Supplement, Part A, section 1.4 |
| 0x16 | «Service Data - 16-bit UUID» | Core Specification Supplement, Part A, section 1.11 |
| 0x2B | «Mesh Beacon» | Mesh Profile Specification Section 3.9 |
自定义beacon帧格式:
使用0xFF作为beacon的公司有苹果公司的ibeacon,Radius Network的AltBeacon。
苹果ibeacon的AD Structure:

使用0x16作为beacon的公司有谷歌公司的Eddystone,xiaomi的mibeacon。
小米mibeacon的AD Stucture:小米IoT文档与资源中心,AD Length + Type(0x16)+ 16bit Service Data UUID(0xFE95,小米申请的UUID)+ Frame Control(2字节) + Product ID(2字节) + Frame Counter (1字节)+ ......
各大公司申请的UUID:
其中百度(0xFDC2,0xFDC3),小米(0xFDAB,0xFDAA,0xFE95),alibaba(0xFE3C),nordic(0xFE59,0xFE58)
各大公司申请的CID:
Company Identifiers | Bluetooth® Technology Website
AD Type的定义:
详细的解释可以看Core的补充协议:
https://www.bluetooth.com/specifications/specs/core-specification-supplement-10/
4025



被折叠的 条评论
为什么被折叠?



