Android BLE蓝牙广播

我们通常扫描设备时会收到设备的广播数据,可根据广播数据得知设备的类型、属性及当前状态。

先列出几种典型的应用场景:

1,扫到设备,从广播中解析出设备的类型ID,然后到后台查询,从而知道是什么设备,该设备有哪些属性,怎么样和该设备通信。

2,扫到了几个手环,但是只想和手里拿的这个手环通信,可以通过手环上的按键触发手环发送配对广播,手机扫描到后就能知道该手环的名称,MAC地址及其它信息。当然也可以根据信号强度选择最近的设备。

3,体温计,当温度超过限定范围时立即发送广播,手机扫描到后立即预警。

4,宠物防丢,广播中带上身份ID,被扫描到后立即将位置信息和身份ID一起上报到后台,可以知道该设备的大致活动路线。

以上各类应用场景,其核心都是扫描到广播,解析广播中的数据获取其中蕴含的信息。

广播数据是以byte数组的形式表示的,其结构为若干段拼接而成。每一段的结构都一样,头一个byte表示长度,第二个byte表示类型,之后的byte为数据,注意头一个byte所示的长度是包括类型和数据一起的。

解析完成后,我们获得了若干数据段,每个数据段对应一个type。

常用type如下:

设备全名:0x08,简称:0x09

Service Data: 0x16

厂商自定义数据:0XFF,前两个字节是厂商ID,剩下的厂商自定义。

你可能感兴趣的:(Android BLE蓝牙广播)