从0开始学习BLE:广播包(2)
只有广播
广播者设备在3个广播信道上以广播事件的形式周期性地发送广播包。广播事件被及时分割,在上一次广播事件发生后加入0~10ms的随机延时。
可连接广播事件
广播包含的数据只有31个字节,基本上包含标签、设备的名字,设备外观特征等基本数据。
广播数据的结构上篇文章讲过了
类型0x01为标签,标识设备是否具备隐私特征,即设备是否使用随机地址
类型0x08,0x09为设备名称
标签
SCAN_REQ:请求更多关于广播者的信息
SCAN_REQ结构AdvA域包含广播者设备的地址。扫描者设备的地址将包含在ScanA域中。
SCAN_REQ数据
广播者收到SCAN_REQ后发送一个SCAN_RSP应答更多的数据给扫描者
SCAN_RSP:广播者发出的响应SCAN_REQ数据
SCAN_REQ结构有效数据中的数据结构和广播中的相同,也是由长度、类型、数据组成
SCAN_REQ数据连接
Connect_Req结构Add包含了3个数据域,分别为发起者设备地址(InitA)、广播者设备地址(AdvA)和链路层链接的介入地址(AA)。CRCInit 用来表明 CRC 校验的初始值;WinSize 域表示发送窗大小的值,发送窗大小=窗大小( WinSize)x1.25ms;WinOfset 域表示发送窗偏移(transmitWindowSize)的值,发送窗偏移=窗偏移(WinSize)x1.25ms;
Interval用来表明链路层链接事件时间间隔参数 connInterval的值,并且以 connInterval=Intervalx1.25ms 的形式给出,且In-terval将会有一个数值,它的范围为8~24;Lateney用来表示从设备链接延迟(eonnSlaveLaten-cy)的值,从设备链接延迟(connSaveLatency)=延迟(Latency);超时域指出链接监督超时(connSupervisionTimeout)的值,链接监督超时(connSupervisionTimeout)=超时(Timeout)x10ms;ChM包含了信道分布这个信道分布就表明了已经被使用的数据信道和未被使用的数据信道。每一个信道都由一个数据位所代表,这个数据位是按照数据信道索引被定位的。LSB代表数据信道索引0,第36个数据位代表数据信道索引36。如果一个信道是被使用的信道,则它的数据位设置为1。如果某个数据位的值为0,就表明这个信道没有使用。第37、38、39数据位设置为0,并且在接收时将会被忽略。Hop用来表明跳跃长度,这个长度被使用在数据信道选择中,且它将会有一个数值,它的范围为5~16;SCA用来表明睡眠时钟精确性;
Connect_Req数据
页:
[1]