在BLE Mesh中常用于数据通信的几种方式:Mesh Beacon、Mesh Message、PB-ADV、PB-GATT。
前三种是广播类型,最后一种是基于代理走BLE连接的一种数据通信。
广播包种类 |
广播包类型 |
Mesh Beacon |
0x2B |
Mesh Message |
0x2A |
PB-ADV |
0x29 |
下面对这几种通信方式进行解释:
1、Mesh Beacon
1.1 Unprovisioned Device beacon
未配置的设备信标被未配网的设备使用,以便由配网器发现它们。该信标的格式如图:
1.2 Secure Network beacon
节点使用安全网络信标来识别子网及其安全状态。该信标的格式如图:
2、Mesh Message
3、PB-ADV
PB-ADV是一种供应载体,用于通过广播渠道使用通用供应pdu提供设备。配置机制是基于会话的。未配网的设备一次只能支持一个会话。对于配网器来说,没有这样的限制。使用链接建立程序建立会话。 链接建立由配网器通过发送链接打开的消息来启动。链接打开消息包含设备的设备UUID。在PB-ADV上,PB-ADV PDU格式包含一个链接ID字段。除非已经设置,即设备已经收到设置邀请PDU,否则设备在接收到链接打开消息时,应通过回复具有相同链接ID的链接ACK消息来接受它。
PB-ADV承载用于传输通用供应pdu。PB-ADV承载MTU(最大传输单元)大小为24字节。
任何使用PB-ADV AD类型的广告应为不可连接和不可扫描的无定向广告事件。如果一个节点在一个可连接的或可扫描的广告事件中接收到一个PB-ADV AD类型,则应忽略该消息。
PB-ADV PDU的格式定义为:
|
大小 |
含义 |
Link ID |
4 |
一个链接的标识符 |
Transaction Number
|
1 |
用于标识事务处理的编号 |
Generic Provisioning PDU
|
1-24 |
正在传输的通用配置PDU |
4、PB-GATT
PB-GATT是一种用于使用代理pdu提供设备的配置承载,当配网器由于应用程序接口的限制而不支持PB-ADV时,提供PB-GATT作为支持 。建议连接间隔在250到1000ms之间。