1、BLE Mesh 网络角色(Low-Power,Friend,Relay,Proxy)
Mesh网络
中的设备被称为节点(Node),而非Mesh网络中的设备称为未经启动配置
的设备(Device)。将未经启动配置的设备
转换为节点
的过程称为启动配置
。
启动配置
是一个安全
的过程,原本未经启动配置的设备
经过启动配置
后会拥有一系列加密密钥
,并被启动配置
的设备识别
。
启动的设备
可以是Provisioner
(配置角色
),或者是Provisionee
(节点角色
)。
其中Provisionee
(节点角色
)又可以分为Client
(客户端
)和Server
(服务端
)。
Provisioner
(配置角色
)就是用于配置
这些设备的端
。同时要注意,传统的BLE低功耗设备
不能直接兼容Mesh网络
,而如果我们想把手机等具有BLE的设备
加入Mesh网络
中,则需要加入Proxy
(代理节点
)。
Provisioner
(配置角色
)启动配置是用于为新设备
提供加入网络所需的信息
。在这个配置过程中,为新设备
提供了一个网络密钥
、一个地址
和一个设备密钥
。设备密钥是一个专用密钥
,仅用于在Provisioner
(配置者
)和Provisionee
(被配置者
)之间进行私有通信
。
节点
是已经启动配置
(Provision
)并成为Mesh网络
中的一员的设备
。
所有节点
都能够在网络中发送
并接收Mesh消息
,此外还可以选择性地支持一个或多个
其他网络特性
,如下所列:
序号 | 特性(Feature) | 描述 |
---|---|---|
1 | 低功耗 (Low-Power) | 能够以明显较低 的接收端占空比 在Mesh网络 中运行。通过将无线电 接收器启用时间最小化 可实现节点功耗的降低 ,只有在绝对必要 时才启动接收器。LPN 通过与朋友节点 建立友谊 (Friendship )关系来实现这一点。 |
2 | 朋友 (Friend) | 通过存储 发往LPN 的消息 ,仅在LPN 明确发出请求 时,才进行转发 来帮助LPN 运行的能力 |
3 | 中继 (Relay) | 通过广播承载 层接收并重新发送 Mesh消息 ,以构建更大规模 网络的能力 |
4 | 代理 (Proxy) | 在GATT 和广播承载层 之间接收 并重新发送 Mesh消息 的能力 |
要了解友谊
是如何帮助LPN降低功耗
的,传感器
是很好的例子,它可以利用友谊
,并被用作LPN
。它们通常将绝大部分时间用于传输数据
,且很少
需要接收数据
。
传感器
可能只有在温度超出一系列预设的限制时才会发送温度读数,而这种情况每天可能只会发生两次。正是这种不频繁的数据传输
才使得此类设备的能耗使用维持在较低水平
。
2、代理节点的加入(Proxy)
低功耗蓝牙
(BLE
)是一项相当成功的无线技术。低功耗蓝牙设备
只要具有正确的低功耗蓝牙功能
和一些附加软件
,就能加入蓝牙Mesh网络
中。以智能手机为例,可能只需要一个可以与蓝牙Mesh网络
对话的普通应用程序
(App
)就足够了。
非Mesh低功耗蓝牙设备
成为蓝牙Mesh网络
成员的过程中,代理节点
是关键。代理节点
的根本目的
是执行承载层转换
。它能够实现从广播承载层
到GATT承载层
的转换,反之亦然。
因此,不支持广播承载层
的设备可通过GATT连接
来收发各类蓝牙Mesh消息
。
节点
可通过在特性字段
中设置代理特性位
(proxy feature bit
),来表示自身可用作代理节点
。特性字段
是所有节点都具有的成分数据状态
的一部分。
代理节点
(Proxy Node
) 可实施称为Mesh代理服务
的GATT服务
,即文本中代理服务器
(Proxy Server
)。Mesh代理服务
包含两个GATT特性
:Mesh代理数据输入
和Mesh代理数据输出
。
代理客户端
(Proxy Client
) 使用GATT Write Without Response
子程序,将代理协议PDU
写入Mesh代理数据输入特性
,并从GATT通知
中的Mesh代理数据输出特性
接收代理协议PDU
。这就是互联GATT设备
通过代理节点
在Mesh网络
中进行数据交换
的机制。