目录

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

蓝牙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. 【力扣】剑指 Offer II 092. 翻转字符

    题目 解题思路 一个很暴力的想法,在满足单调递增的前提下,使每一位分别取 1 或 0,去看看哪个结果小. 递归函数定义int dp(StringBuilder sb, int ind, int pre ...

  2. flutter 设置Appbar上面的电池显示的状态栏的背景与颜色

    写代码,修改了一下Appbar后,发现这个顶部颜色不对劲 找到这个文件lib\main.dart import 'dart:io'; import 'package:flutter/services. ...

  3. DNS 是如何影响你冲浪速度的?

    本文详细介绍了 DNS 相关知识,包括 DNS 工作原理.如何提升域名解析速度.以及 DNS 记录与报文等内容. 1. 域名与域名服务器 在日常上网过程中,出于好记的原因,人们更喜欢在浏览器中输入网站 ...

  4. 【学习笔记】QT从入门到实战完整版(Lambda)(2)

    Lambda Lambda 表达式很有意思,相信很多人初次见到 Lambda 表达式都会不能理解有什么用,我也一样,看了视频教程之后,突然意识到,Lambda 真的是太好用了,它可以在某些情况下可以很 ...

  5. 【Oculus Interaction SDK】(一)设置 VR 相机与控制器 && 实现简单的抓取功能

    前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了.本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发.当然,不排除我文章刚写完 SDK 又变 ...

  6. vulnhub靶场之VENOM: 1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Venom: 1,下载地址:https://download.vulnhub.com/venom/venom.zip,下载后直接vbox打开即可 ...

  7. ARM启动顺序

    iROM(也叫BL0)的作用:   初始化系统时钟,设置看门狗,初始化栈和堆   加载BL1 BL1的作用:   初始化RAM , 关闭Cache , 设置栈   加载BL2 BL2的作用:   初始 ...

  8. Vue22 VueCli 脚手架

    1 简介 CLI 是 Command-Line Interface, 翻译为命令行界面, 但是俗称脚手架 Vue CLI是一个官方发布 vue.js 项目脚手架 使用 vue-cli 可以快速搭建 V ...

  9. Android面试-字节一面

    距离上次跳槽已经过了3年多,突然看到字节的HR来捞.想着自己好久没面了,就打算去试试看. 0. 准备 视频面试,不用去现场真的太赞了.由于项目比较忙,自己又不是特别想跳槽,所以没怎么准备.面试当天看了 ...

  10. 无法将“obj\Debug\net5.0\xxx.dll”复制到“bin\Debug\net5.0\xxx.dll”。超出了重试计数 10。失败。

    解决办法 VS选中项目,右键清理解决方案,再次右键重新生成方案即可. 以上就是无法将"obj\Debug\net5.0\xxx.dll"复制到"bin\Debug\net ...