目录

未配网设备在配好网,被纳入网络后,可称之为节点。

蓝牙mesh网络中,节点可以有选择地支持四大功能——朋友、低功耗、转发、代理功能,可以复用多个功能(由于单片机硬件限制,ch582除了复用转发功能外不建议复用其他功能),或者作为边缘节点或者说普通节点——不启用任何一个功能,做好用户自定义的工作即可。

朋友节点和低功耗节点可以说是蓝牙mesh组网中的Feature了。

低功耗节点的低功耗,一部分要归功于朋友节点,朋友节点可以说是包揽了低功耗节点的消息“接收”功能。就像“菜鸟驿站”和“收件人”,在消息传递给与朋友节点相连的低功耗节点时,朋友节点会先代收(菜鸟驿站收到包裹),再由低功耗节点定时询问朋友节点是否有消息,有则接收(收件人去取件),没有就下次再说。这就给低功耗节点节省了功耗,不用时刻去抓取广播层中的数据,查看是否是发给自己的(收件人有自己的学习工作,不用不停地查询是否有包裹)。

沁恒的mesh协议栈中规定,低功耗节点上电并配网或是恢复网络信息后,会主动向外广播建立朋友关系的消息,自动与朋友节点相连,之后才能进行消息的接收。在往外发送消息时,低功耗节点就不用考虑对方是否有能力收到消息,配网成功后直接广播发出去就好了(甚至可以砍掉收数据功能,不用连接朋友节点就可以发数据,但是如肉夹馍不要馍一样奇怪且丢包率无保障,不推荐这么用)。

582做朋友节点默认支持4个低功耗节点(可以支持更多,在低功耗节点2sPOLL一次数据的情况下,至少可以支持10个),默认开启转发功能。理论上只要ram够用,朋友节点就能支持更多低功耗节点。如果需要一个朋友节点支持多个低功耗节点,比如说50+个低功耗节点,每个低功耗节点10sPOLL一次,那582做朋友节点ram不够用,可以考虑用208。

朋友节点↓

低功耗节点↓

转发节点一般是网络内部的节点,边缘节点可以不用启用转发功能,或者在开启/复用转发功能的节点较密集的地方减少转发功能的启用,以减少广播层的压力。

转发功能已由协议栈处理好,在app_mesh_config.h中使能一下就能实现自动转发,除了低功耗节点考虑到功耗要求外,其他节点都默认开启/复用了转发功能。转发过程由底层代码完成,不会告知用户层。转发功能可由下面的宏定义打开↓

代理节点可以实现通过手机APP对其配网,只不过代理节点proxy例程中运用的是BLE上层的mesh协议来实现连接手机,而自配网包含外设(即手机配网)例程中是走BLE传输配网信息后,芯片拿着配网信息进行自配网。由于proxy例程对手机APP有支持mesh功能的要求,需要APP开发人员储备有mesh协议栈相关知识,故不太推荐。如果需要测试,除了proxy例程外,也可以用天猫精灵例程在下图位置启用代理功能与GATT层配网功能,用nRF Mesh这个APP测试。

小贴士:①配网流程和工作流程是分开的,所有节点都需要先配网再实现节点功能,因为消息都在广播层传输,没有点对点的连接。配网后即各个节点分配到了网络地址后,消息才有落脚点,各节点才能各司其职。对于低功耗节点来说,比如说采集环境温度是它的工作;对于朋友节点来说,支持低功耗节点的接收数据是它的本职工作,转发数据是例程中默认开启的“转发”功能的兼职工作(保证附近有转发节点的情况下,可以在app_mesh_config.h中开启或关闭相关功能)。

②蓝牙mesh网络中所有的消息最终都通过BLE广播承载层传输,故低功耗节点在配网后发消息能够不依赖朋友节点,直接发出去——反正是广播,谁抓到包了谁就往外转发至目标节点。

③在582官方例程中,不启用代理功能也能实现与手机通信,不过是走BLE而不是mesh,也就是说芯片可以同时跑mesh与BLE的从机代码,手机作为BLE主机与芯片作为BLE从机连接通信。在后缀有_with_peripheral的工程中都是如此工作的。

蓝牙mesh组网实践(节点功能介绍)的更多相关文章

  1. 蓝牙mesh介绍

    了解一下关于蓝牙Mesh的知识. 蓝牙mesh网络使用,并且依赖于低功耗蓝牙(BLE).低功耗蓝牙技术是蓝牙mesh使用的无线通信协议栈. 蓝牙BR / EDR能够实现一台设备到另一台设备的连接和通信 ...

  2. 升讯威微信营销系统开发实践:(3)功能介绍与此项目推广过程的一些体会( 完整开源于 Github)

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...

  3. [蓝牙前沿应用] 照明即平台 —— 通过蓝牙增强服务提高照明投资回报率(蓝牙MESH、定位AoA、AoD)

      1.照明即平台(LAAP) 随着照明设施向LED转型,他们也在利用类似于蓝牙MESH的技术,创建一个可连接的照明平台,作为他们建筑的中枢神经系统.这些系统除了提供先进的照明控制,还建立了一个增强版 ...

  4. 蓝牙协议分析(3)_BLE协议栈介绍

    1. 前言 通过“蓝牙协议分析(2)_协议架构”的介绍,大家对蓝牙协议栈应该有了简单的了解,但是,肯定还有“似懂非懂.欲说还休”的感觉.有这种感觉太正常了,毕竟蓝牙协议是一个历史悠久又比较庞大的协议, ...

  5. SIG蓝牙mesh笔记2_mesh组成

    目录 SIG 蓝牙 mesh 组成 mesh网络概述 网络和子网 设备和节点 devices & nodes 入网 mesh中的几个概念 智能插座例子 SIG 蓝牙 mesh 组成 mesh网 ...

  6. 关于蓝牙Mesh您必须知道的七件事

    蓝牙技术联盟于7月19日正式宣布,蓝牙(Bluetooth)技术开始全面支持Mesh网状网络.全新的Mesh功能提供设备间多对多传输,并特别提高构建大范围网络覆盖的通信能力,适用于楼宇自动化.无线传感 ...

  7. 常见无线组网分析(NB-IOT组网和Mesh组网)

      NB-IOT LoRa Zigbee WIFI 蓝牙 组网方式 基于现有蜂窝组网 基于LoRa网关 基于Zigbee网关 基于无线路由器 居于蓝牙Mesh的网关 网络部署方式 节点 节点 + 网关 ...

  8. 什么,kafka能够从follower副本读数据了 —kafka新功能介绍

    最近看了kafka2.4新版本的一些功能特性,不得不说,在kafka2.0以后,kafka自身就比较少推出一些新的feature了,基本都是一些修修补补的东西.倒是kafka connect和kafk ...

  9. VUE+Element 前端应用开发框架功能介绍

    前面介绍了很多ABP系列的文章<ABP框架使用>,一步一步的把我们日常开发中涉及到的Web API服务构建.登录日志和操作审计日志.字典管理模块.省份城市的信息维护.权限管理模块中的组织机 ...

  10. 蓝牙mesh网络技术的亮点

    蓝牙mesh网络技术的亮点 The highlights of Bluetooth mesh networking technology 导言 蓝牙是当今最主要的低功耗无线技术之一,对无线设备用户和开 ...

随机推荐

  1. LeetCode-343. 整数拆分 - 题解分析

    题目来源 343. 整数拆分 题目详情 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化. 返回 你可以获得的最大乘积 . 示例 1: 输入: ...

  2. angular使用_HttpClient或者Fetch发送POST/GET请求下载/上传文件

    一:下载文件写法 1.post请求_HttpClient写法. myTest() { const params = { aa: "aa", bb: "bb" } ...

  3. 移动 WEB 开发布局方式 ---- rem 适配布局

    一.rem 基础 1. rem 单位 em : 相对于父元素的字体大小来说的 <div> <p></p> </div> div { font-size: ...

  4. python装饰器拦截方法执行

    import time def log(delay=0): def decorator(func): def wrapper(*args, **kwargs): """我 ...

  5. Java的两个好用的工具包 Apache commons

    Apache commons 介绍 这是apache commons lang3的工具类的截图 这个工具,小皮一般用在业务层较多 这是apache commons codec下面的工具 这个工具包,今 ...

  6. 【开发宝典】Java并发系列教程(四)

    作者:京东零售 刘跃明 Monitor概念 Java对象的内存布局 对象除了我们自定义的一些属性外,还有其它数据,在内存中可以分为三个区域:对象头.实例数据.对齐填充,这三个区域组成起来才是一个完整的 ...

  7. 视觉十四讲:第六讲_g2o图优化

    g2o是一个基于图优化的库,图优化是把优化问题表现为一种图的方式.一个图由若干个顶点和边组成. 顶点表示优化变量,边表示误差项. g2o的使用步骤: 1.定义顶点和边的类型: 2.构建图: 3.选择优 ...

  8. javascript的防抖与节流

    一.节流 一段时间内只能触发一次,如果这段时间内触发多次事件,只有第一次生效会触发回调函数,一段时间过后才能再次触发(一定时间内只执行第一次) 应用场景 1.鼠标连续不断地触发某事件(如点击),只在单 ...

  9. python之路76 路飞项目 企业项目类型、软件开发流程、路飞项目需求、pip永久换源、虚拟环境、路飞项目前后端创建、包导入、后端项目目录调整

    知识获取渠道 cnblogs csdn 掘金 思否 找工作app boss直骗.拉钩.智联.猎聘.脉脉(内推,hr). 企业项目类型 1.面向互联网用户:商城类项目 微信小程序商城 2.面向互联网用户 ...

  10. cowtransfer(奶牛快传)自动上传文件脚本—流程分析

    cowtransfer(奶牛快传)自动上传文件脚本-流程分析 序言: 距离上传发文也有几天了,这几天也是将这个脚本优化了一下.如果还不清楚这个脚本的效果是怎么样的小伙伴可以看看我上篇文章.话不多说,我 ...