蓝牙mesh组网实践(手机配网例程配合wch mesh手机app的使用)
CH582的官方EVT在22年7月更新后,修改了手机配网代码以支持wch mesh手机app。使用该app可以保存手动配网信息,设置订阅地址分组,OTA升级,极大方便了用户管理节点。
老版本的EVT中也有对手机配网的支持,但是只有一条指令,即向节点配置net key、节点主元素地址,并没有涉及IV值。新版本的例程,使用wch meh手机app配网,有两条指令,在配置net key、节点主元素地址前加了一条配置IV值相关的指令,能够给新添加节点配置网络中现在使用的IV值,前提是手机需要先连接到mesh网络中自动获取一下最新IV值。两条指令的操作码在app.c中都可以找到,也可以参考《沁恒MESH APP管理配网应用手册》PDF文件。如果一个网络已经正常跑了一年,再向其中添加一个节点,由于老版本的代码IV值默认设置为0,新添加的节点是无法与网络中现有节点通信的;新版本的代码配合wch mesh能够配置最新IV值,以解决这个问题。
整个网络中的IV_index是需要同步的,否则无法通信。IV值不同步的节点,本该被踢出网络,但是底层中没有做这样的操作,结果只是无法与正常节点通信。网络中每个节点都有一个序列号SEQ,节点每发一则消息,会将SEQ自加1。如果某个节点的SEQ超过一定数值,会触发IV更新机制,这个节点会发出一条IV即将更新的广播,其他节点收到后会记录IV即将更新的状态,在IV更新时将自己的SEQ清零。IV值短则1h长则96h后更新一次,具体看发包频率高的节点到底发了多少包。
手机配网的例程adv_vendor_self_provision_with_peripheral由于增加了OTA功能,编译获得hex文件后,需要与其他三个hex文件合成,否则无法使用。其他三个文件不常改动,可以都放在一个文件夹内,用合并工具合成bin文件的时候方便找文件。
在沁恒官网搜索关键字“mesh”,可以找到合并工具WCH_AssembingFileTool和wch mesh手机app↓
搜索 mesh - 南京沁恒微电子股份有限公司 (wch.cn)

合并工具的使用很简单,勾上框选,选择文件,点击合并文件即可。4个hex的文件顺序任意。合成后的bin文件用ISP工具烧录,烧录不报错即可。
注:最新版的ISP工具整合了合并的功能,可以跳过使用AssemblingFileTool这个工具合并的步骤,直接用ISP工具下载4个hex文件。

最新ISP工具中,下面选4个hex同时下载就行。

接下来看看如何在wch mesh手机app中新增节点↓
①Network页中点击增加节点


②点击周围等待配网的设备。已配网设备这里搜索不到。

③输入16个字节的网络密钥、地址、节点名称。节点名称不会被配置到芯片程序中,网络密钥和节点地址会。

④点击“配置节点”,配置无误的话会自动返回主页,显示新增节点。

新增后的默认状态是离线。查询节点的在线状态,需要连接到网络中,然后点击刷新状态。查询在线状态只需要手机通过BLE连接随机一个网络中的节点,app会借由这个节点发送mesh消息轮询节点是否在线(同理节点配置、OTA等功能,会经由网络转发,不需要直连待管理节点)。轮询过程中,超时未收到回包,则判断这个节点离线。低功耗节点在轮询发包时不一定能够刚好向朋友节点POLL到查询包,且该app是单线程的,没有后台实时查询回包,低功耗节点回包时可能已经轮询结束,故可能会显示低功耗节点离线,但不一定表示低功耗节点已经脱离网络。app的demo在官网资料压缩包中有,有开发能力的用户可以改进一下。


wch mesh还支持订阅与发布功能的管理↓
①点击下面的“Group”按钮,切换到分组管理页面。

②点击“增加Group”。新增分组无需连接到网络中。

③在弹出的页面中设置新建的分组。注意分组地址为0xC000~0xFEFF。组名不会被配置到节点芯片中,组地址会。

④点击“确定”后会出现新增的分组。显示目前分组下没有节点设备。

⑤将节点配置到分组中,需要回到Network页面,点击列表中的节点。


⑥点击右上角三个点,点击“添加Group”。

⑦点击“确定”添加到指定分组后,提示“订阅成功”后,可以在Group页面看到分组下多了一个设备。


至此就完成了节点的“订阅”工作。若要发布消息到相应地址,可在Group页面点击分组,在接下来的页面中发布消息。需要删除Group可以点击右上角的三个点。

蓝牙mesh组网实践(手机配网例程配合wch mesh手机app的使用)的更多相关文章
- IoT时代:Wi-Fi“配网”技术剖析总结
导读 近年来,物联网市场竞争激烈,从物联网平台厂商,设备生产商,到服务提供商,都在涌入这片红海.预计到2020年,全球联网设备数量将达到260亿个,年复合增长率达到20%:全球联网设备带来的数据将达到 ...
- 【转载】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开 ...
- 深入学习 esp8266 wifimanager源码解析(打造专属自己的web配网)
QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷 单片机菜鸟博哥CSDN 1.前言 废话少说,本篇博文的目的就是深入学习 WifiManager 这个gi ...
- ESA2GJK1DH1K微信小程序篇: 测试微信小程序APUConfig给WI-Fi模块配网并绑定设备,并通过MQTT控制设备
前言(源码使用介绍在最后) 一,微信小程序篇小程序下载(该源码为这节测试源代码) 二.有多少人一直在期盼着小程序可以实现SmartConfig或者Airkiss的功能? 来吧!我的这种方式包您满意. ...
- 5-(微信小程序篇)关于WiFi模块配网以后利用小程序绑定设备,绑定方式说明
https://www.cnblogs.com/yangfengwu/p/11625189.html 众所周知:使用微信Airkiss 只能给设备配网,并不能够获取设备的MAC地址信息,但是我在 ht ...
- 12-网页,网站,微信公众号基础入门(编写后台PHP程序,实现Airkiss配网)
https://www.cnblogs.com/yangfengwu/p/11067590.html 首先说一下,这两个地方需要配置一样 网站根目录建个文件夹 airkiss的文件夹 里面放上 ind ...
随机推荐
- Atcoder dp I Coins 题解
Atcoder链接:Coins Luogu链接:Coins $\scr{\color{BlueViolet}{Solution}}$ 观察数据,发现$ \cal{n} \le 3000 $,说明 $ ...
- Unity之屏幕自适应
Unity之屏幕自适应 哪个小伙伴能告诉我为什么CSDN我上传资源之后,下载费用是5积分啊!?怎么改为0呢,小黑苦恼啊!!!!!!! 一.前言 先言归正传吧,今天小黑给大家带来一个非常不错的分享--屏 ...
- 通过一个示例形象地理解C# async await 非并行异步、并行异步、并行异步的并发量控制
前言 接上一篇 通过一个示例形象地理解C# async await异步 我在 .NET与大数据 中吐槽前同事在双层循环体中(肯定是单线程了)频繁请求es,导致接口的总耗时很长.这不能怪前同事,确实难写 ...
- typora配置图床
PicGo无法上传图片,报下图错误 Error: Error in repo name 这里我使用图床是gitee 上传之前需要安装插件 解决方法: 最后一步:配置typora, 点击验证图片选项,查 ...
- 使用nvm时报错:exit status 1: ļ Ѵ ʱ ļ 的解决办法
1.出现问题 如图,安装完nvm后,使用[nvm use 版本号]命令切换版本,出现如题错误,具体截图如下 2.分析原因 1)安装路径是否包含中文 2)安装路径有空格 3)cmd使用是否是管理员方式打 ...
- TF坐标
1.简介 TF是一个让用户随时间跟踪多个坐标系的功能包,它使用树形数据结构,根据时间缓冲并维护多个坐标系之间的坐标变换关系. 2.TF工具 tf_monitor :查看TF树中所有坐标系的发布状态 t ...
- javaEE(Stream流、日志、IO流、File)
Stream流 简化集合和数组操作的API List<String> list =new ArrayList<>(); Collection.addAll(list," ...
- 接口自动化库-apist
前言 目前很多公司用jmeter或者RF框架来实现接口自动化,确实是可以实现,但不利于CI/CD. 为了方便后续的可拓展性.可维护性.可复用性,项目leader在技术选型的时候应当以趋势.主流的为主, ...
- 【GDKOI 2021提高组DAY2】抄写
\(\text{Solution}\) \(dp\) 翻折就只需预处理回文中心 \(Manacher\) 预处理即可 \(Code\) #include<cstdio> #include& ...
- JZOJ 5352. 【NOIP2017提高A组模拟9.7】计数题
题目 分析 考虑 \(kruskal\) 的过程 我们选边从高位开始 当前位为 \(0\) 的放一边,为 \(1\) 的放另一边 将 \(0\) 的建一棵字典树, \(1\) 的匹配 因为是异或,那就 ...