前言

mesh(网状网)在很多无线通信中都很经常看到,最早是在Zigbee中看到,后来渐渐地,Wifi和蓝牙都开始提出mesh的概念。主要是智能家居的逐渐普及带来的技术更新。

mesh网络

通过下面一张图来了解什么是mesh:

蓝牙mesh清单(蓝牙mesh基础知识)(1)

上面每个圆代表一个设备,每个设备相互连接,形成一张网。所以mesh网络就是网状网的意思。通过形成这样一张网络,就可以使通信距离更远。

基本概念

蓝牙mesh网络的设备叫做节点(node)。把未配网的设备变成节点的过程叫做 “配网” (provisioning)。

一个节点可以由多个部分组成,每个部分都可以独立进行控制,这些部分被称为元素。

蓝牙mesh定义了三种类型的地址:

1. 单播地址 (unicast address): 在配网的时候分配给设备, 单播地址仅可识别单一元素。

2. 组播地址(group address): 一个及以上元素的广播地址,组播地址可以由蓝牙SIG来定义,也可以动态分配。目前SIG定义了4个组播地址,分别是“All-proxies”, “All-friends”,“All-relays” and “All-nodes”。

3. 虚拟地址(virtual address): 厂家自定义的地址类型, 它采用128位UUID值的形式。

有使用过MQTT协议的,应该对这两个名词很熟吧。这里的意思和MQTT中的是一样的。

发送消息的行为称为发布,订阅就是希望接收哪些消息。

蓝牙mesh清单(蓝牙mesh基础知识)(2)

模型(Model) 定义了一个节点的基本功能。一个节点可以包含多个Model。

mesh定义了三种模型:

下图展示的是Device C(server model)带有状态,支持R S T X Y Z消息,Device A(client model)支持 X Y Z消息,Device B(client model)支持 R S T Z消息。

蓝牙mesh清单(蓝牙mesh基础知识)(3)

下图中 Device C(control model)可以作为client model与server model(device A与device B)进行通讯(分别支持X Y Z 和R S T Z消息),也可以作为server model与client model(device D)进行通讯(支持 A B C消息)。

蓝牙mesh清单(蓝牙mesh基础知识)(4)

参考文档:《Mesh Profile v1.0.1》

喜欢这篇文章,欢迎点赞,分享,关注

更多精彩文章,欢迎关注微信公众号"嵌入式软件开发交流"

,