概述
一、前言
上一篇主要介绍一个BLE广播报文的结构以及报文头部各个部分的含义。在承接上一篇的基础上,本文将重点介绍广播报文PDU净荷的数据部分(AdvData)。
二、BLE广播报文数据
上一篇提到广播报文数据包含N个AD Structure,每个AD Structure由Length,AD Type和AD Data组成,最少是0个字节,最多可达31个字节。因此,报文数据部分的结构如下图所示。
接下来,我们重点讲解一下几种常见的类型。
- 0x01 - Flags: 指示本设备支持发现的能力,每一位的含义如下:
这是一个用nRFConnect工具扫描到的例子,它支持LE通用发现模式,不支持经典蓝牙模式。
- 0x02 ~ 0x07 - Service UUID: 设备的GATT服务
- 0x08 ~ 0x09 - Local Name: 设备名称,也就是扫描时看到的设备的名称,例如,下图左边是AdvData的原始数据,右边是根据各个类型解释出来后的各项含义,其中红色框图里面的就是设备名称。
顺便说一句,这个广播报文包含4个AD Structure,类型分别是0x01 (Flags),0x07 (Complete List of 128-bit Service Class UUIDs, 即完整的128位的UUID) , 0x09 (Complete Local Name,即完整的设备名称)和0xFF (Manufacturer Specific Data,即厂商自定义数据)。
- 0x0A - Tx Power Level: 设备输出功率
- 0xFF - Manufacturer Specific Data: 厂商自定义数据
至此,关于广播报文部分已经基本介绍完毕,接下来我们会探讨蓝牙扫描和连接等相关知识。
最后
以上就是尊敬可乐为你收集整理的BLE蓝牙广播入门(二)一、前言二、BLE广播报文数据的全部内容,希望文章能够帮你解决BLE蓝牙广播入门(二)一、前言二、BLE广播报文数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复