2,367
个编辑
更改
→第七章节 Mesh设备的兼容
== 第七章节 Mesh设备的兼容 ==
蓝牙mesh获得如此大的关注,很大一个原因是可以与智能设备的互通。本章节介绍mesh如何实现这一功能。
=== 低功耗蓝牙 ===
低功耗蓝牙(Bluetooth Low Energy)是一项相当成功的无线技术。如今已经很难找到不支持低功耗蓝牙的智能手机或平板电脑了。可以说它是可穿戴技术兴起的关键因素。'''在医疗设备、智能家居设备、传感器等很多设备中,低功耗蓝牙的身影随处可见'''。
目前有数十亿支持低功耗蓝牙的设备已投入使用。那么,'''这些设备都能成为蓝牙mesh网络的一员吗?'''答案是肯定的。
'''低功耗蓝牙设备只要具有正确的低功耗蓝牙功能和一些附加软件,就能加入蓝牙mesh网络中'''。以智能手机为例,可能只需要一个可以与蓝牙mesh网络对话的普通应用程序(App)就足够了。换句话说,这是任何开发者都能编写的应用程序。
=== 承载层(bearer layer) ===
要了解非mesh低功耗蓝牙设备如何成为蓝牙mesh网络的一员,我们需要回顾一下蓝牙mesh协议栈,见第二章节。[[文件:BleMesh-蓝牙Mesh协议栈.png|居中|缩略图|750x750像素|蓝牙mesh网络协议栈]]'''蓝牙mesh网络采用低功耗蓝牙作为其射频通信协议栈'''。而具体如何使用,则是蓝牙mesh网络协议栈最底层的承载层需要负责的工作。
目前定义了两个承载层:'''广播承载层 (advertising bearer)和GATT承载层 (GATT bearer)'''。蓝牙mesh网络设备默认使用的是广播承载层,它负责在低功耗蓝牙广播数据包内收发蓝牙mesh数据包。
具有低功耗蓝牙协议栈、能够进行广播和扫描的设备具有基本的、必备的低功耗特性,因此能够支持广播承载层、乃至完整的蓝牙mesh网络协议栈。
'''既不支持也无法升级使用广播承载层的设备,则必须使用GATT承载层。'''使用GATT承载层时需要将蓝牙mesh协议数据单元(PDU)封装在代理协议(Proxy Protocol)中,我们将在下文中对此进行详细介绍。
=== 节点与特性 ===
'''成为蓝牙mesh网络中一员的设备被称为节点(Node)'''。很多种产品类型都能够成为节点:照明灯、灯具开关、温控器、窗锁、占用传感器等。然而,无论产品类型如何,节点都可能提供某些超出其产品本身功能的特定蓝牙mesh网络服务。
蓝牙mesh规格定义了'''节点可能拥有的特性'''。具有这些特性中的一个或多个,即表示节点可以在网络中扮演相应的特殊角色。定义的特性包括:
{| class="wikitable"
!设备类型
!说明
|-
|'''中继(Relay)'''
|中继节点可通过广播承载层,接收并重新发送蓝牙mesh消息。中继特性能让蓝牙mesh消息在设备之间实现多次跳跃,传送距离可超过两台设备之间直接进行无线电传输的范围,从而覆盖整个网络。
|-
|'''好友(Friend)'''
|好友节点能够存储发往相关低功耗节点的消息,随后再进行转发。
|-
|'''低功耗节点 (LPN)'''
|低功耗节点功率受限,可借助好友节点的支持,在蓝牙mesh网络中有效地运作,借此大幅降低空占比。
|-
|'''代理(Proxy)'''
|代理节点可通过承载层(广播承载层或GATT承载层)接受信息,并通过另一个广播承载层或GATT承载层重新发送消息。
|}
=== 代理节点(Proxy Node) ===
非mesh低功耗蓝牙设备成为蓝牙mesh网络成员的过程中,代理节点是关键。'''代理节点的根本目的是执行承载层转换。它能够实现从广播承载层到GATT承载层的转换,反之亦然。'''因此,不支持广播承载层的设备可通过GATT连接来收发各类蓝牙mesh消息。
节点可通过在特性字段中设置代理特性位(proxy feature bit),来表示自身可用作代理节点。特性字段是所有节点都具有的成分数据状态的一部分。
== Mesh系列文章 ==