蓝牙mesh组网实践(手机配网例程改低功耗)
在22年7月版本的CH583EVT更新之后,582芯片的adv_vendor_self_provision_with_peripheral例程,适配了wch mesh手机app,支持了OTA,成为功能最全的一个例程。但是默认例程适合常供电的节点,改为wch mesh配网的低功耗节点,需要做一些修改。
①配置宏定义,使能低功耗节点功能和HAL_SLEEP,关闭转发功能。节点功能可以在app_mesh_config.h 中配置。HAL_SLEEP可以在右键点击工程名->Properties中配置,不建议直接修改公共文件config.h中的宏。改朋友节点好改,朋友节点是常供电节点,直接将朋友节点功能的宏置1即可,但是开启朋友节点功能会增加ram的开销。


②IO口全配置成上拉,固定一下电平,不要留不确定的引脚状态。可以在一开始就配置,后面要用比如说串口,再用串口的引脚的GPIO配置覆盖一下就行。

③BLE广播在配网完成后关闭。如果后面还需要BLE通信,可以自定义指令,需要的时候走mesh消息开启BLE广播。在代码中有两处需要关闭BLE广播,一处是第一次配网过程完成后,另一处是flash中保存有配网信息,恢复配网信息之后。下面是笔者加的处理。注意:如果还需要用到BLE的话,还需要添加接口或是指令再开广播。


④关掉按键循环,留一个TMOS任务。默认例程中按键循环100ms一次,不关的话会将功耗拉到500uA的水平。睡眠的话至少要留一个TMOS任务由RTC唤醒,最长定时为23.5h。默认例程中有一个2min一次的RF校准任务,帮助校准RTC的值。可以延长比如说5分钟校准一次,通信不出问题就行。 
⑤配好网,连上朋友节点。配网过程是由未配网节点发起的,类似的,朋友关系的建立也是由低功耗节点发起的,如果这两件事情不做,低功耗节点“寝食难安”,即使休眠了也会不断唤醒去作这两件事。
⑥关掉BLE_MESH_BEACON_ENABLED。使能后,每10s一次安全广播用于IV值更新。低功耗节点可以由朋友节点支持IV值更新,可以关掉。上面的relay enabled默认就好,节点功能宏定义中关掉转发功能就行。

接下来是实测情况。板子上LDO没有去掉,如果去掉LDO,直接用测功耗工具的3.3v供电,功耗会再降低5到6uA。保留了默认例程中2min一次的RTC校准任务,这个时间可以延长,只要RTC正常能跑就行。低功耗节点每隔一段时间向朋友节点POLL请求消息,实际没有POLL到消息包。
一段时间内什么都没做,平均功耗在11.5uA左右

低功耗节点每隔1s向朋友节点POLL请求一次消息,平均功耗在160uA左右

低功耗节点每隔2s向朋友节点POLL请求一次消息,平均功耗在80uA左右

低功耗节点每隔3s向朋友节点POLL请求一次消息,平均功耗在60uA左右

低功耗节点每隔5s向朋友节点POLL请求一次消息,平均功耗在40uA左右

低功耗节点每隔10s向朋友节点POLL请求一次消息,平均功耗20+uA

低功耗节点每隔1min向朋友节点POLL请求一次消息,平均功耗10+uA

蓝牙mesh组网实践(手机配网例程改低功耗)的更多相关文章
- IoT时代:Wi-Fi“配网”技术剖析总结
导读 近年来,物联网市场竞争激烈,从物联网平台厂商,设备生产商,到服务提供商,都在涌入这片红海.预计到2020年,全球联网设备数量将达到260亿个,年复合增长率达到20%:全球联网设备带来的数据将达到 ...
- [蓝牙前沿应用] 照明即平台 —— 通过蓝牙增强服务提高照明投资回报率(蓝牙MESH、定位AoA、AoD)
1.照明即平台(LAAP) 随着照明设施向LED转型,他们也在利用类似于蓝牙MESH的技术,创建一个可连接的照明平台,作为他们建筑的中枢神经系统.这些系统除了提供先进的照明控制,还建立了一个增强版 ...
- SIG蓝牙mesh笔记2_mesh组成
目录 SIG 蓝牙 mesh 组成 mesh网络概述 网络和子网 设备和节点 devices & nodes 入网 mesh中的几个概念 智能插座例子 SIG 蓝牙 mesh 组成 mesh网 ...
- 常见无线组网分析(NB-IOT组网和Mesh组网)
NB-IOT LoRa Zigbee WIFI 蓝牙 组网方式 基于现有蜂窝组网 基于LoRa网关 基于Zigbee网关 基于无线路由器 居于蓝牙Mesh的网关 网络部署方式 节点 节点 + 网关 ...
- SIG蓝牙mesh笔记5_Provisionging
目录 Bluetooth Mesh Provisioning Provisioning bearer layer Generic Provisioning PDU Bluetooth Mesh Pro ...
- 【转载】wifi一键配网smartconfig原理及应用
物联网给我们又提供了一种窃取WiFi密码的好方式:让智能设备主动断线. 同时也提供一种让智能设备连接到恶意WiFi的方式:设备一键配置功能时疯狂广播恶意WiFi的信息. 转自:http://blog. ...
- WiFi-ESP8266入门http(3-4)网页一键配网(1若为普通wifi直连 2若为西电网页认证自动网页post请求连接)+网页按钮灯控+MQTT通信
网页一键配网(1若为普通wifi直连 2若为西电网页认证自动网页post请求连接)+网页按钮灯控+MQTT通信 工程连接:https://github.com/Dongvdong/ESP8266_H ...
- WIFI智能配网 - SmartConfig
要开始IoT项目的第一步是什么?当然不是硬件,而是硬件与硬件的连接!即使有各种各样的通信协议没有好的连接方式绝对不行.那外设上没有的屏幕,没有键盘怎末输入密码怎末选择网络?对,这就是WIFI模块最重要 ...
- ESP8266开发之旅 网络篇⑧ SmartConfig——一键配网
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- ESP8266开发之旅 网络篇⑭ web配网
1. 前言 目前,市面上流行多种配网方式: WIFI模块的智能配网(SmartConfig以及微信AirKiss配网) SmartConfig 配网方式 请参考博主之前的博文 ESP8266开 ...
随机推荐
- centos搭建neo4j环境(含java)2021_12
限centos neo4j与java下载: 链接:https://pan.baidu.com/s/1ei15dROGy3OwJfbislxH7g 提取码:8B3A 下载后 1.在linux中建立文 ...
- 异步async await 相关知识点总结以及代码练习
<script> const setTimeoutToPromise = duration => new Promise(resolve => { setTimeout(res ...
- Windows喝水记录工具v2.0
Windows喝水记录工具v2.0 作者以前基本不喝水,后面体检出来身体出现了一些问题(肾结晶什么的),多喝水可以减轻甚至痊愈,由于没有喝水的习惯怕喝多或者喝少,所以做了这个桌面小工具,喝一杯记录一下 ...
- 函数传参 Java JavaScript python 都是按值传递的
实验代码如下: Java python JavaScript:
- Vue21 组件
1 模块及组件简介 组件(component)是vue.js最强大的功能之一.组件的作用就是封装可重用的代码,通常一个组件就是一个功能体,便于在多个地方都能够调用这个功能体. 每个组件都是Vue的实例 ...
- JAVA虚拟机20-基于栈的解释器执行过程示例
1.准备代码 public int calc() { int a = 100; int b = 200; int c = 300; return (a + b) * c; } 2.使用javap -v ...
- 【LeetCode字符串#06】KMP巩固练习:重复子串
重复的子字符串 力扣题目链接(opens new window) 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 示例 1: ...
- 【Oculus Interaction SDK】(九)使用控制器时显示手的模型
前言 这篇文章是[Oculus Interaction SDK]系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言.如果文章的内容已经不适用于新版本了,也可以直接联系我 ...
- 学习Java Day10
今天学习了数组的相关知识
- Visual Studio 集成了.NET 升级助手插件
.NET团队2023年2月16日在官方博客上发布了名为".NET Upgrade Assistant"的全新 Visual Studio 扩展,帮助开发人员升级.NET 应用程序. ...