BLE MESH学习2——自定义MESH网络架构思考

BLE MESH学习2——自定义MESH网络架构思考

基于对WCH CH582这款单片机的了解,其可以实现mesh配网、朋友节点、低功耗节点和中继节点的角色,基本功能无问题。在此基础上,考虑满足IoT需求的MESH架构设计,作为后续设计的“白皮书”。

一、前置知识和条件

  1. CH582M的FLASH和ram支持为128个节点配网,官方后续发布CH584/585的芯片,ram增加到128KB,可以实现最多255个节点配网。(实际上,手机配网的上限为65525个,但是手机例程的测试并不顺利)
  2. CH582M工作在蓝牙频段,后续可以考虑GATT连接的方式进行OTA升级。(虽然感觉有点麻烦,因为要靠近设备并且只能手机操控,增加了复杂性)
  3. 环境安装了HASS,可以通过mqtt接收到自定义的传感器和器件,为后续MESH网络中的设备加入提供了必要平台。
  4. ESP32和AT指令,可以很方便让CH582M接入互联网络,利用MQTT通信将MESH网络中状态发布到网络中。

二、MESH设计需求

  1. 支持低功耗节点,如人体移动传感器、开关、温湿度传感器,利用纽扣电池或5号电池可以用2年以上。
  2. 支持接入HASS,方便对环境传感、灯、电器进行状态显示和控制。
  3. 支持OTA,能够利用无线网络进行固件升级不需要连线操控
  4. 支持100+设备同时运行。
  5. 支持配对,例如开关和LED的配对,实现方式类似于MQTT的订阅发布方式,但是无需中央节点调度。
  6. 可选:通过CH582的其他协议如LWNS为灯组控制提供更方便的控制方式,实现不占用MESH节点地址并且同步控制。

三、MESH设计架构

角色分配

  1. 配网者:利用CH582M或后续的CH584制作配网者,通过小屏幕和按键为附近的设备进行配网。(无奈之举,本想着用手机配网的,但是手机配网例程有些问题难以解决)。配网成功后将同步数据给网关,之后可以关机休眠。
  2. 网关:搭配ESP32,将MESH网络中的数据通过MQTT发布到MQTT服务器中。其接收配网者的节点信息,并发布自己的地址给所有节点,让他们在需要的时候发布状态给自己。(虽然网关也可以集成到配网者中,但是占用更多的ram可能导致配网者ram不够,也是考虑到后续可能可以通过手机配网,因此网关需要单独提出来)。
  3. 朋友节点:无需考虑功耗的节点,一直接着电源。
  4. 低功耗节点:开关、传感器等,需要时候进行通信,1h启动一次检查是否有数据发送给自己。

结构图

mesh网络框架

四、后续测试流程

  1. 测试MESH网络搭建过程。【基本完成】
  2. 测试获取节点信息。
  3. 测试网关广播自身地址和状态接收功能。
  4. 测试开关与灯控绑定功能。
  5. 测试节点加入和删除功能。
  6. 测试AT接入互联网测试。
    参考资料
    1) https://www.bilibili.com/read/cv18483671/
    2) https://blog.csdn.net/Mark_md/article/details/107879589
  7. 测试MQTT发布和接收功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值