使用蓝牙网状网络进行设计:节点通信
本系列文章的第一部分概述了蓝牙 Mesh 及其支持的基本节点和功能类型。本部分介绍了蓝牙 Mesh 网络中的通信方式以及在使用蓝牙 Mesh 设计应用程序时需要了解的各种重要概念。
从一个节点到另一个节点的通信
蓝牙网状网络使用管理泛洪 将消息从一个节点传输到另一个节点的操作。托管泛洪是一种多路径实现,包括足够的冗余以确保消息到达其目的地。
在基本的洪泛实现中,每个节点都盲目地转发它收到的每条消息。蓝牙 Mesh 管理的泛洪操作通过将所有消息添加到缓存列表来防止 Mesh 设备中继先前收到的消息。当收到一条消息时,它会根据列表进行检查,如果已经存在则将其忽略。此外,每条消息都包含一个生存时间 (TTL) 值,该值限制了消息在网络中可以中继的次数。每次收到一条消息,然后由任何设备中继(最多 126 次),TTL 值减 1。
蓝牙网状网络实现了基于发布和订阅的通信 确保不同类型的产品可以在网络中共存,而不会受到来自它们不需要收听的设备的消息的干扰。发布者节点仅向订阅发布者的节点发送消息,并将对这些消息采取行动。此操作的一个示例是在您家中的不同房间中使用。每个房间都可以订阅来自该房间的特定电灯开关的消息。此外,消息可以是单播、多播和/或广播,这意味着消息可以到达网络中的一个、几个或所有节点。
图 1 显示了使用 CYBT-213043-MESH 评估套件的基于蓝牙 Mesh 发布和订阅的通信实施示例。 CYBT-213043-MESH套件使用CYBT-213043-02模块实现蓝牙Mesh通信。结合板载用户按钮和 RGB LED,评估板分别模拟蓝牙网状网络开关和蓝牙网状网络灯泡。
图 1. 连接照明的蓝牙网状网络发布和订阅示例。 (来源:赛普拉斯)
如图,左起第一个交换机将消息发布到餐厅组。右边的第一个和第二个灯泡仅订阅了餐厅组。然而,第三个灯泡已经订阅了餐厅和厨房组的消息。因此,当 Switch 1 发布消息时,可以控制前三个灯泡(餐厅和厨房)。但是,当Switch 2发布消息时,只能控制第三个灯泡(Kitchen)。
网状节点架构
现在,正如我们已经讨论了节点之间的消息通信方式,让我们从功能层面来看看蓝牙 Mesh 节点架构,看看是什么让蓝牙 Mesh 设备具有互操作性。
元素 定义节点的功能。每个节点至少有一个元素称为“主元素”。例如,一个灯泡通常有一个元素。此元素公开节点的开/关和亮度控制功能。另一个例子是带有集成占用传感器的可调光灯泡。该节点将有两个元素。第一个元素用于照明功能,第二个元素用于传感器功能。在这种情况下,主要元素将是照明功能。
节点内的每个元素都有一个唯一的地址,称为单播地址。这允许独立于同一节点内的其他元素对每个元素进行寻址。图 2 显示了两种节点类型的示例——第一种只有一个元素,另一种有两个元素。图 2 还显示了以下部分中讨论的其他概念,以及它们在蓝牙 Mesh 实现中的相互关系。
图 2. 具有一个和两个元素的节点。 (来源:赛普拉斯)
每个蓝牙网状网络节点使用一个或多个网状网络模型 定义给定节点的功能。模型类似于常规蓝牙设备中的服务。网格模型分为三种类型——客户端模型、服务器模型和控制模型(在单个模型中实现客户端和服务器)。
服务器模型 可以具有跨越一个或多个元素的一种或多种状态。服务器模型公开了可由客户端节点读取或控制的元素的设备状态。例如,蓝牙 Mesh 灯泡使用服务器模型。在此应用程序中,可以使用 On/Off Server 或 Light Lightness Server。 On/Off Server 模型将暴露灯泡的当前状态并根据客户端的输入更改状态以在 On 和 Off 之间切换灯泡状态。如果使用 Light Lightness Server,它将允许客户端读取灯泡的当前状态,控制其亮度,并打开或关闭它。 Server 模型的另一个应用是传感器节点,它只允许客户端读取传感器状态,但不允许更改其状态。
客户模型 允许其他节点发送消息以请求和/或更改服务器节点的状态。具有客户端模型的应用程序的最常见示例是蓝牙网状网络交换机。蓝牙网状网络交换机可以使用 On/Off Client 模型。它可以请求服务器设备的当前状态或发送消息以将状态更改为开或关。另一个示例是使用 Level Client 的蓝牙网状网络调光器。除了开关的功能之外,该模型还可以控制服务器的输出电平,例如控制灯泡的亮度。
在大多数应用程序中,服务器和客户端模型需要与一些基于接收到的消息或用户输入进行操作的控制代码一起使用。服务器和/或客户端模型与控制逻辑的组合导致控制模型 .
蓝牙网状网络模型可以扩展其他模型的功能。该能力允许具有不同能力的Mesh节点被同一个消息控制。
让我们以照明应用为例。允许控制亮度的灯泡通常使用 Light Lightness Server 模型。一些灯泡可能使用通用级别服务器模型来控制输出功率和亮度。只有开/关功能的基本蓝牙网状灯泡可能会使用开/关服务器模型。但是,Light Lightness Server 模型扩展了 On/Off Server 模型和 Level Server 模型的功能。这意味着由 On/Off 客户端发送的 On/Off 消息将控制所有三种灯泡类型的状态,而与使用的模型无关。
元素的条件存储在 States 中 .每个 State 都是某种类型的值。除了值之外,状态还具有与该状态相关联的行为。这些状态由蓝牙 SIG 定义。例如,开/关灯泡或喷水灭火控制器中的开/关服务器将具有称为通用开关的状态,该状态可以具有两个值之一——开和关。这对于灯泡或洒水控制器等设备很有用。术语“通用”用于表示此状态及其行为可能在不同类型的 Mesh 设备中有用。
您还可以观看了解有关蓝牙 Mesh 的更多信息视频,了解有关蓝牙 Mesh 通信以及如何开始使用蓝牙 Mesh 设计的更多信息。
在本系列文章的下一部分中,我们将探讨蓝牙网状网络的隐私和安全功能。
嵌入式
- 钨丝网会与空气发生反应吗?
- 蓝牙网状网络 - 工业物联网协议
- ZigBee Vs.蓝牙:具有范围计算的用例
- 使用蓝牙网状网络进行设计:芯片还是模块?
- ST 使用 STM32 神经网络开发人员工具箱将 AI 驱动到边缘和节点嵌入式设备
- 赛普拉斯:蓝牙 MCU 通过无处不在的智能手机连接提供网状网络
- ON Semi 通过蓝牙多传感器平台实现无电池物联网
- Future Electronics 与 Silvair 签署新的全球合作协议
- 预认证无线处理器模块具有蓝牙网状网络连接功能
- Bluetooth SIG Exec 关于为什么蓝牙网状网络是 IIoT 推动者
- 蓝牙使网状网络更加灵活
- 使用导电聚氨酯进行设计