蓝牙Mesh网络基础知识——节点、元素和节点功能

来源:All About Circuits 作者:Dr. Steve Arar

在本文中,我们将熟悉一些基本的蓝牙Mesh网络概念,例如节点和元素。我们还将看到,在蓝牙Mesh网络中的节点往往具有不同的功能需求,而为了满足这些需求,蓝牙Mesh网络协议允许每个节点具有一些额外的可选功能,即中继、友元、低功耗和代理等。

※ 了解蓝牙Mesh网络中的节点

首先,让我们设想一个智能家居的场景来解释这些概念。参考图1中的一个案例。

图1.智能家居布局中的节点示例。

在这个例子中,每个房间中有一个或多个灯,还有一个恒温器来控制室温。此外,走廊中还有一个占用传感器(图中的节点15)。这些设备中的每一个都集成了蓝牙无线模块,以便能够与系统的其他部分进行通信。在蓝牙Mesh网络术语中,这些设备各自都可称为一个节点。

换句话说,节点是蓝牙Mesh网络的基本单元,它执行特定的功能,例如照明或感测物理参数,并且包含一个能与网络中其他部分通信的蓝牙模块。

某个特定节点一般可以直接与附近的一个或多个节点通信,但通常它不能直接与网络中的每个其他节点通信。彼此不在直接无线范围内的节点应当通过中间节点进行通信。例如,在上图中,节点11可以通过节点9与节点14通信。

※ 蓝牙Mesh网络的节点元素

蓝牙Mesh网络中的节点可能具有多个组成部分。在上面的示例中,一组三个灯泡被抽象为网络中的单个节点——节点6。在这种情况下,这三个灯泡的通信通过单个蓝牙无线通道进行。在蓝牙Mesh网络的描述中,节点的组成部分称为元素。

节点中的每个元素都有一个唯一的地址,称为单播地址。通过这些单播地址,我们能够独立控制节点的元素。根据蓝牙Mesh网络规范,元素是节点内的可寻址实体。

节点可以具有不同类型的元素。例如,设想一个还包含占用传感器的开关。在这种情况下,开关功能和占用感应功能是节点的两个不同元素。同样,整合了光照传感器的占用传感器也是具有两个元素的节点。网络的每个节点至少需要一个称为“主要元素”的元素,而节点的附加功能(如果有的话)称为“次要元素”。

※ 蓝牙节点特性:节点是异构的!

在蓝牙Mesh网络中,节点有不同的功能需求。例如,灯泡节点由市电供电,而传感器节点可能由电池供电。这两个节点的功率要求明显不同。虽然灯泡可以始终打开,但传感器应将大部分时间置于休眠模式以节省电量。

节点的处理能力也不相同,例如,通过网络路由信息的节点比网络边缘不充当路由器的节点需要更多的处理能力。此外,网络中的某些节点可能需要能够与不直接支持蓝牙Mesh网络的设备(如智能手机和平板电脑)进行通信。

为了满足所有这些要求,蓝牙Mesh网络协议允许每个节点具有一些额外的可选功能。有四个预定义的节点功能(图2),即中继、友元、低功耗和代理。

图2.典型的蓝牙Mesh网络由具有不同特征的节点组成。(图片来源:英飞凌)

让我们看一下这些节点功能。

※ 中继节点特性:与Zigbee和Thread存在区别

中继节点的功能是重新传输它接收到的信息。这是网状网络的基本功能要求之一,用于扩展覆盖范围和增强可靠性。但是注意,这只是一个可选功能,并非所有节点都需要充当中继器,比如位于网络边缘的节点就不需要是中继节点。

由于中继节点需要连续侦听网络并重新传输接收到的信息,因此它具有较高的功耗,通常需要由市电供电。

蓝牙Mesh网络与Zigbee和Thread等协议之间存在根本区别。Zigbee和Thread使用路由表,这意味着为从节点A到节点B的消息会选择特定路径。但是,使用蓝牙Mesh网络的话是没有特定的路径的,数据包只是广播到附近的所有节点。中继节点转发它们收到的消息,直到它到达其最终目的地。

由于蓝牙Mesh网络采用这种“泛洪传输”模型,因此在部署过程中必须仔细选择中继节点的数量和位置,以提供足够的传输路径,同时又不增加不必要的网络流量。大量的中继节点会增加网络的数据包冲突率、延迟和能耗。

※ 低功耗节点和友元功能

顾名思义,低功耗节点(LPN)会尝试将功耗降至最低。这对于电源有限的设备非常有用,例如智能家居中采用电池供电的传感器节点和零售行业中的价格标签。为了最大限度地降低功耗,LPN大部分时间都处于休眠模式,节点的无线电硬件处于关闭状态。

总体而言,LPN只是短暂唤醒来与网络通信,并且在休眠模式下无法接收其消息。因此,需要另一个没有电源限制且可以始终处于打开状态的节点来收集应传递到LPN的消息,LPN通过该关联节点与网络进行通信,这一节点被称为友元节点(Friend Node)。

友元节点始终侦听网络并收集其关联LPN的传入消息。当LPN唤醒时,它会ping它的友元节点以检查是否有任何新消息。友元节点还可以将来自LPN的消息中继到网络中,这意味着友节点本质上也是中继节点。

例如,灯泡是一种常见的设备类型,可以充当其附近功率受限设备的友元节点。如图3所示,一个友元节点可以与多个LPN建立友情关系。

图3.有源节点和LPN关系的示意图。

Friendship功能使我们能够将功率受限的设备添加到蓝牙Mesh网络。要了解有关蓝牙Mesh网络中Friendship的更多信息,请参阅此文章

※ 节点代理功能

代理功能允许节点充当网状网络与不直接支持蓝牙Mesh网络,但支持低功耗蓝牙(BLE)的设备(如智能手机)之间的接口。在蓝牙Mesh网络中,有两种不同的方法来传输消息:通过ADV(广告)或通过GATT(通用属性规范),如图4所示。

图4.通过ADV传送(左)和通过GATT传送(右)的示意图。(图片来源:瑞萨电子)

ADV方式使用BLE设备的广告状态来发送和接收消息。当BLE设备通告时,它会定期发送数据包,这些数据包可以被其附近的设备检测到和处理。ADV方式发送的消息可以同时由多个节点接收。此方法用于网状网络内部的通信,但并非所有可用的智能手机都支持此方法。ADV方式基于BLE的GAP(通用访问配置文件),并使用一种特殊类型的广告,称为不可连接和不可扫描的定向广告。

而GATT方式在点对点拓扑中发送和接收消息。在这种情况下,需要先建立连接。所有支持BLE的智能手机都可以通过GATT方式进行通信。蓝牙Mesh网络的代理节点支持使用GATT方式和ADV方式进行通信。换句话说,代理节点能够在GATT和ADV之间中继消息,因此可以充当不支持蓝牙Mesh网络但具有BLE功能的智能手机等设备的Mesh接口。

代理功能还可用于将支持BLE的旧传感器连接到蓝牙Mesh网络。例如,基于蓝牙4.0的旧传感器可以与具有代理功能的灯泡进行通信。在这种情况下,灯泡将消息从一个方式转换为另一个方式,以便旧传感器可以与网络通信。

首页    新闻中心    蓝牙Mesh网络基础知识——节点、元素和节点功能

新闻中心

NEWS

发布时间:2022-05-10 09:45