我们通常扫描设备时会收到设备的广播数据,可根据广播数据得知设备的类型、属性及当前状态。
先列出几种典型的应用场景:
1,扫到设备,从广播中解析出设备的类型ID,然后到后台查询,从而知道是什么设备,该设备有哪些属性,怎么样和该设备通信。
2,扫到了几个手环,但是只想和手里拿的这个手环通信,可以通过手环上的按键触发手环发送配对广播,手机扫描到后就能知道该手环的名称,MAC地址及其它信息。当然也可以根据信号强度选择最近的设备。
3,体温计,当温度超过限定范围时立即发送广播,手机扫描到后立即预警。
4,宠物防丢,广播中带上身份ID,被扫描到后立即将位置信息和身份ID一起上报到后台,可以知道该设备的大致活动路线。
以上各类应用场景,其核心都是扫描到广播,解析广播中的数据获取其中蕴含的信息。
广播数据是以byte数组的形式表示的,其结构为若干段拼接而成。每一段的结构都一样,头一个byte表示长度,第二个byte表示类型,之后的byte为数据,注意头一个byte所示的长度是包括类型和数据一起的。
解析完成后,我们获得了若干数据段,每个数据段对应一个type。
常用type如下:
设备全名:0x08,简称:0x09
Service Data: 0x16
厂商自定义数据:0XFF,前两个字节是厂商ID,剩下的厂商自定义。
网友评论