蓝牙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开 ...
随机推荐
- 真正“搞”懂HTTP协议09之这个饼干不能吃
我们在之前的文章中介绍HTTP特性的时候聊过,HTTP是无状态的,每次聊起HTTP特性的时候,我都会回忆一下从前辉煌的日子,也就是互联网变革的初期,那时候其实HTTP不需要有状态,就是个浏览页面,没有 ...
- Blazor Pdf Reader PDF阅读器 组件 更新
Blazor Pdf Reader PDF阅读器 组件 https://www.nuget.org/packages/BootstrapBlazor.PdfReader#readme-body-tab ...
- c++ 跑酷小游戏之用户体验plus
#undef UNICODE#undef _UNICODE#include <iostream>#include <iomanip>#include <string> ...
- WPF中使用WebView2控件
目录 WebView2简介 概述 优势 支持的运行时平台 进程模型 基本使用 安装WebView2运行时 安装WebView2Sdk 打开一个网页 导航事件 打开一个网页的过程 更改url的过程 空u ...
- Python从零到壹丨图像增强及运算:图像掩膜直方图和HS直方图
摘要:本章主要讲解图像直方图相关知识点,包括掩膜直方图和HS直方图,并通过直方图判断黑夜与白天,通过案例分享直方图的实际应用. 本文分享自华为云社区<[Python从零到壹] 五十二.图像增强及 ...
- 创建型模式 - 原型模式Prototype
孩子生来没娘的NT审核机制,又开始说我涉及到广告了,我涉及到什么广告了?我接着发. 学习而来,代码是自己敲的.也有些自己的理解在里边,有问题希望大家指出. 所属:创建型模式 原型模式 一般会和 工场 ...
- tomcat报错:java.io.IOException: No space left on device
1 简介 今天网站很多页面访问突然就404了,路径分明没有变,是正确的,就很奇怪 排查日志发现报错java.io.IOException: No space left on device 这个错误,是 ...
- Python+chatGPT编程5分钟快速上手,强烈推荐!!!
最近一段时间chatGPT火爆出圈!无论是在互联网行业,还是其他各行业都赚足了话题. 俗话说:"外行看笑话,内行看门道",今天从chatGPT个人体验感受以及如何用的角度来分享一下 ...
- Spring AOP 报错:Error creating bean with name 'student' defined in file
问题概述 Spring AOP 报错,一直显示:Error creating bean with name 'student' defined in file 的报错.从五个方向排查:第一,aspec ...
- Java第三讲动手动脑
1 以上代码无法通过编译主要是由于在Foo类中自定义了有参的构造函数,系统不在提供默认的构造函数(无参),而在上述的引用中并没有提供参数导致无法通过编译. 2. 运行结果 由运行结果分析可知,在运行时 ...