当前位置: 首页 > article >正文

BLE MESH学习1-基于沁恒CH582学习

BLE MESH学习1-基于沁恒CH582学习

一、BLE mesh说明

  1. mesh组网可以实现相比点对点模式更远的距离、更灵活的网络形式、更可靠的连接和更多的设备加入。
  2. BLE mesh在IoT中的传感器和控制具有重要意义。
  3. 我的目的也是IoT领域,实现自己的传感器读取、开关控制等类似米家智能的可自定义mesh。

二、选型

  1. 由于之前使用过CH582,对其使用的mesh框架和TMOS的较为熟悉,因此选择该芯片作为mesh学习的基础。
  2. 另外,该款芯片实现的mesh是软件定义的,自由化更高。
  3. 缺点是MESH_LIB的代码时封装的,无法深入学习mesh内部实现,只能对mesh的流程进行学习和理解。

三、mesh角色

成为蓝牙mesh 网络中一员的设备被称为节点(Node),蓝牙mesh 规格定义了节点可能拥有的特性。具有这些特性中的一个或多个,即表示节点可以在网络中扮演相应的特殊角色

  1. 朋友friend功能:朋友节点能够存储发往相关低功耗节点的消息,随后再进行转发。
  2. 低功耗low-power功能:低功耗节点功率受限,可借助朋友节点的支持,在蓝牙mesh 网络中有效地运作,借此大幅降低电量消耗
  3. 代理proxy功能:代理节点可通过承载层(广播承载层或GATT 承载层)接受信息,并通过另一个广播承载层或GATT 承载层重新发送消息。通常可用于连接处于相同网络配置中的手机,或者用于使用手机作为管理网络的配网者的场景。
  4. 中继relay功能:中继节点可通过adv(广播承载层),接收并重新发送蓝牙mesh 消息,中继特性能让蓝牙mesh 消息在设备之间实现多次跳跃,最多可进行127 跳,传送距离可超过两台设备之间直接进行无线电传输的范围,从而覆盖整个网络。

蓝牙mesh 网络采用一种称为“网络泛洪(flooding)”的方式来发布和中继消息。为了避免数据堵塞,所有数据包都包含一个称为TTL(生存次数)的字段,它可用于限制消息中继的跳数。同时每台设备都包含消息缓存,以确定自身是否已经中继过该消息。一般情况下,所有节点都即可设置中继功能,从而创建鲁棒性高的网络。

四、mesh参数配置

说明几个 比较关注的配置:

  1. 信道配置CONFIG_MESH_RF_ACCESSADDRESS:mesh使用adv方式进行通信时,需要选择三个信道,默认使用的是37-39三个通道,即普通蓝牙的广播通道,可能会存在干扰多的情况。在实际应用中可统一配置成其他信道。
  2. 低功耗节点请求间隔CONFIG_MESH_LPN_POLLINTERVAL_DEF:低功耗节点每隔多久唤醒一次并向朋友节点请求数据。

五、MESH配网者的意义

  1. 对于重置或新创建的节点,他们由于没有对应的网络密钥,无法加入到所需的MESH网络中。需要通过配网者进行配网,因此,配网者真是的作用就是对其下放网络密钥和应用密钥,并分配对应的ID,id为0x0000至0xffff。
  2. 因此,只需要能够满足上述配网过程的设备,均可以叫做配网者,例如CH582自己的例程、或NRF MESH的手机APP,抑或是自己给自己配网均可以。
  3. 配网成功之后,节点就可以通过密钥加入到网络中,之后配网者可以下线。
  4. 配网者存在比普通节点更多的信息,他们包括各个节点的4字节ID和对应的16字节UUID;而普通节点只有自己的4字节ID,想要发送给其他设备信息,如果不预先知道,只能随机发送一个ID碰碰运气,或者发送给0x0001,一般为配网者。

六、更多参考资料

  1. https://blog.csdn.net/Hongwei_1990/article/details/107030808
    完整介绍了MESH的结构、密钥说明和配网流程。

  2. https://blog.csdn.net/Hongwei_1990/article/details/90085476
    介绍了mesh的网络角色。
    在这里插入图片描述


http://www.kler.cn/news/336911.html

相关文章:

  • 考研论坛平台|考研论坛小程序系统|基于java和微信小程序的考研论坛平台小程序设计与实现(源码+数据库+文档)
  • 02.usePrevious
  • 力扣110:判断二叉树是否为平衡二叉树
  • 【大模型理论篇】大模型相关的周边技术分享-关于《NN and DL》的笔记
  • 【Easy RL】Easy RL蘑菇书全书学习笔记
  • MySQL基础之DQL
  • CSS Style position: absolute 的含义
  • Web安全 - 重放攻击(Replay Attack)
  • 助动词的分类及其缩略形式
  • 在 Qt 中构建和解析多层嵌套的 JSON 数据
  • 《计算机原理与系统结构》学习系列
  • XSY5053 数(number)
  • k8s-pod的管理及优化设置
  • 快速部署vue项目
  • Bloom Filter 布隆过滤器
  • 服务器虚拟化
  • python数据分析与可视化工具介绍-matplotlib库
  • Python入门--判断语句
  • c++包管理工具conan
  • 图论day55|深度优先搜索理论基础、98. 所有可达路径(卡码网)