发帖
5 4 1

【蓝牙Mesh_V1.1初体验】快速配网、稳定群控,100节点测试

Ai-Thinker小泽
论坛元老

36

主题

408

回帖

5571

积分

论坛元老

积分
5571
TB系列 113 5 3 天前

【100个节点测试蓝牙Mesh_V1.1】快速配网、稳定群控

image.png

蓝牙Mesh简介

蓝牙Mesh是一种先进的mesh网络技术。它扩展了低功耗蓝牙的功能,使其能够在具有数千个节点的网络中实现强大的并发多播(多对多)通信。这项功能是照明、传感器网络、预测性维护、资产跟踪和定位等新应用的重要更新。

蓝牙Mesh是一种受管理的泛洪网格。它是在大型网络中分发信息的一种简单可靠的方法。从源头到目的地的多条路径确保了可靠性,排除了单点故障。蓝牙Mesh技术对网络层和应用层分别进行加密,使网络管理员能够创建多级访问控制机制。

蓝牙MeshV1.1的升级

最新发布的蓝牙 Mesh 协议规范 v1.1 和相关规范进一步规范了核心用例、新功能和增强功能,满足了业界的需求。经过最新改进的蓝牙Mesh协议定义了网格设备固件升级(Mesh DFU)、远程配置和二进制大对象(BLOB)传输标准。这些功能旨在降低系统安装和维护的复杂性和成本。蓝牙Mesh协议 v1.1 还增加了一些新功能、增强功能和安全改进功能。

为了得到更详细的答案,我问了一下豆包Ai:

网络配置与管理

  • 零配置加入网络:V1.1 引入了零配置(Zero Configuration)功能,允许设备无需手动配置即可自动加入蓝牙 Mesh 网络。这简化了新设备的添加过程,提高了安装和部署的效率,尤其适用于大规模的商业和工业应用场景。
  • 快速配置:增强了配置过程,减少了设备加入网络所需的时间。通过优化配置消息的传输和处理,设备能够更快地完成网络参数的设置,如网络密钥、应用密钥等。
  • 网络管理功能增强:提供了更强大的网络管理工具,允许管理员对网络中的设备进行更细致的控制和监控。例如,可以远程配置设备的参数、查询设备状态、进行软件升级等。

安全性

  • 安全增强:V1.1 加强了网络的安全性,引入了新的安全机制和算法。例如,使用更强大的加密算法来保护数据传输,防止中间人攻击和数据泄露。同时,增强了设备身份验证和密钥管理,确保只有授权的设备能够加入网络。
  • 安全网络分区:支持安全网络分区功能,允许将一个蓝牙 Mesh 网络划分为多个独立的安全区域。每个区域可以有自己的安全策略和密钥,从而提高了网络的安全性和管理灵活性。

通信性能

  • 更高的吞吐量:通过优化通信协议和数据传输机制,V1.1 提高了网络的吞吐量。这意味着设备可以更快地发送和接收数据,减少了通信延迟,提高了系统的响应速度。
  • 多播和广播优化:改进了多播和广播消息的处理,提高了消息的可靠性和传输效率。在大规模网络中,多播和广播消息的准确传输对于系统的正常运行至关重要。
  • 自适应跳频增强:增强了自适应跳频(Adaptive Frequency Hopping)功能,使设备能够更好地应对干扰和噪声。通过实时监测信道质量,设备可以自动选择最佳的通信信道,提高了通信的稳定性和可靠性。

设备功能

  • 设备角色扩展:V1.1 扩展了设备的角色定义,引入了新的设备角色和功能。例如,增加了代理客户端(Proxy Client)角色,允许设备通过代理服务器与其他设备进行通信,提高了网络的扩展性和灵活性。
  • 设备固件升级改进:改进了设备固件升级(Over-the-Air Device Firmware Update,OTA DFU)功能,支持更高效、更安全的固件升级过程。通过优化升级协议和数据传输方式,减少了升级时间和功耗,同时提高了升级的成功率。
  • 低功耗模式优化:优化了设备的低功耗模式,延长了电池供电设备的续航时间。通过减少设备的空闲功耗和通信功耗,使设备能够在有限的电池容量下运行更长时间。

应用场景支持

  • 支持更多应用场景:V1.1 进一步扩展了蓝牙 Mesh 的应用场景,尤其适用于智能建筑、工业自动化、智能家居等领域。例如,在智能建筑中,可以实现对灯光、空调、门禁等设备的集中控制和管理;在工业自动化中,可以实现设备之间的实时通信和协同工作。

100个节点实测

前面的叽里咕噜说什么呢,我直接100个节点实测数据

image.png

本次测试使用了安信可的泰凌TB系列模组进行测试,主要的测试的点在于配网的大致速度、丢包率以及最长响应时间。

测试环境:安信可公司展厅(复杂的办公室环境)

48476ae8b91a62712894bc95ef9d8cc.jpg

c50ba1b8b185585cd5e143a6dc212ee.jpg

20ea6033b3cff68be5c812ec16eb18c.jpg

硬件搭建:分为20个TB系列开发板为一组,共五组,组成100个节点

软件编写:Mesh_V1.1测试固件,固件执行逻辑在不同测试项下单独说明

配网

模组配网的流程图如下:

image.png
由于配网的方式是以手机作为主机来配网,实际的配网速度受到多方因素影响,以视频的方式展出。

丢包率

在配网成功后,由于都处于同一个Mesh网络中,随机抽取一个节点作为发送端,再随机抽取一个节点作为接收端。发送端做发送计数累加,接收端做接收计数累加。通过AT指令控制发送包的间隔、数量、确认包间隔。测试在相同发送包数量、确认包间隔下,不同发送包间隔的丢包率。以接收端的收包数量比上发送包总数来获取成功率,进而得到丢包率。

确认包我们设置的间隔为固定400ms,确认包其实是每发20个发送包后单独发送的一个包,这个包的间隔会比较长以保证能成功发送并被接收,通过确认包可以进行一些ack的校验以应对一些丢包处理。

image.png

最终我们的初步测试结果如下:

发送包间隔 确认包间隔 丢包率 确认包丢包率
100ms 400ms 69.0% 0%
150ms 400ms 38.7% 0%
200ms 400ms 11.7% 0%
250ms 400ms 0% 0%

通过测试数据可以初步得出结论,当发送包间隔达到250ms以上时,丢包率为0,基本可以保证数据的稳定传输。

最长响应时间

在前面测试项中我们得到在250ms的间隔下发包,丢包率为0,基于此条件下我们需要测试发送端到接收端这个时间间隔是多少,我们设置发送包间隔为250ms,数量为100,通过串口助手的时间戳打印时间来确认。

由于100个节点数量较多,以随机抽样的方式进行,随机抽取十个节点,降其中一个作为发送端,其余九个则查看接收数据,发送端发送100包数据,查看最后一包的发送时间戳。接收端则有九组接收数据,查看对比他们之间接收最后一包的时间戳,选取接收时间最后那一个作记录。

这里共做了14组数据,取平均数作为最终的测试结果。

最后发送的时间戳 最后接收的时间戳 差值响应时间
17:00:37.413 17:00:37.558 145
18:05:15.759 18:05:15.933 174
18:07:17.584 18:07:17.747 163
18:08:48.157 18:08:48.308 151
18:10:12.855 18:10:12.983 128
18:11:41.991 18:11:42.143 152
18:13:05.583 18:13:05.744 161
18:14:26.094 18:14:26.255 161
18:16:02.405 18:16:02.591 186
18:17:33.555 18:17:33.723 168
18:19:11.387 18:19:11.539 152
18:20:37.090 18:20:37.212 122
18:22:30.245 18:22:30.397 146
18:23:51.347 18:23:51.503 156

平均下来是154.64ms,也就是说100个节点组成Mesh网络,从发送到最后一个节点收到数据的间隔可以在200ms以内完成。

测试过程可以查看B站视频:

──── 4人觉得很赞 ────

使用道具 举报

厉害啊,看到那一堆线连到板子上非常有感觉
mesh快不快不知道,反正没我的野牛快
这种实验多来点,mesh节点电流,平均功耗多少?
太高级啦
还得是泽哥
您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 28200 个
  • 话题数: 40095 篇