广播内容的自定义是蓝牙BLE开发的基本技能,用户最多能够设置31字节。但是用户定义是必须要遵循BLE协议的。另外,ibeacon应用和一些特定的应用要利用广播来传递数据,而且不同时间段的广播内容还会改变,如ibeacon的major/minor和电量显示等待。本文即阐述蓝牙的广播数据格式和动态改变。
参考文档:bluetooth specification version 4.0, p1735-p1738
一、广播数据格式
总共31字节,由一个或者多个广播结构单元组成,每个单元由长度Length、广播内容类型AD Type、广播数据AD Data组成;长度为AD Type加上AD Data的长度,不包括长度自身所占字节。
二、常见广播内容类型AD Type
1.flag
AD Type是0x1,代表广播模式。LElimited Discoverable(AD data是0x0)是有限时间广播,而General Discoverable(AD data是0x1)是无限广播,直到被主动停止广播。
2. Manufacture specific data
AD Type是0xff,代表厂商数据,自定义的数据可以写到这里。很多第三方场景应用都是利用这个字段来进一步定义应用协议格式