Mesh Provisioning Service和Mesh Proxy Service

如果一个蓝牙4.0的手机需要用作Provisioner,并完成对其他节点的配网过程。则需要使用Mesh Provisioning Service服务来对其他节点配网。因此在手机和其他节点建立GATT连接之前,其他节点需要广播PB-GATT的广播包,结构如下图所示:


这里的Device UUID和之前提到的Unprovisioned Device Beacon里面的Device UUID是一样的。因此,其他节点一般需要交叉广播Unprovisioned Device Beacon广播包和PB-GATT的广播包。

不支持蓝牙Mesh的手机(比如蓝牙4.0手机),在通过PB-GATT完成对其他节点的配网过程后,仍然需要通过支持Proxy的节点的Mesh Proxy Service和其他节点通信。在建立GATT连接之前,支持Proxy的节点需要广播以下两种包:

1)Network ID包:为了支持Proxy特性,需要设置节点的Proxy Feature为Enable,那么节点会广播如下图所示广播包:


如果节点属于多个网络,则需要交叉广播相应网络的Network ID包。

蓝牙4.0手机通过Network ID广播包和同属于一个Network的节点建立GATT连接。但是这个时候蓝牙4.0手机并不知道自己连上了哪个unicast address的节点,而是随机连接上支持Proxy的同属于一个网络的任意节点。如果需要指定具体unicast address的节点来作为代理节点,则需要使用如下广播包。

2)Node Identity包:为了支持Proxy特性,且节点的Proxy Feature设置为Enable,节点还会在以下两种情况下广播Node Identity包:

1、节点通过PB-GATT入网后立即开始广播

2、节点在Configuration阶段设置Node Identity State是Enable的时候立即开始广播,广播时间限制在60秒以内。

Node Identity广播包如下图所示:


你可能感兴趣的:(Mesh Provisioning Service和Mesh Proxy Service)