这里涉及两个数据包:广播包、扫描回应包
广播包Advertisement Data指设备在空闲、可发现模式下不断的对外广播的数据
扫描回应包Scan Response Data是指当主机扫描到设备后,向设备请求扫描回应时,设备返回给主机的数据。
这两个数据包最大长度都是31Byte,都是相同的数据格式,由多个连续的AD Structure组成。
每个AD Structure的格式为
{
AD Length,
AD Type,
AD Data*length
}
只要数据长度不超过31Byte,广播包中可以连续包含多个AD Structure,如
对外声明本地服务UUID
0x03, // length of this data
GAP_ADTYPE_16BIT_MORE, //在广播中对外声明本地包含的16bit uuid
LO_UINT16( SMART_SERVICE_UUID),
HI_UINT16( SMART_SERVICE_UUID ),
对外声明制造商自定义广播数据
0X07,//长度
GAP_ADTYPE_MANUFACTURER_SPECIFIC,//制造商自定义广播数据
0,0,0,0,0,0//AD data