ch32v208w mesh组网的一些问题

环境:adv_vendor_self_provision_with_peripheral工程,就修改了按下按键向mesh网络的所有节点发送数据包,用的是评估板,启用FLASH存储功能。

问题:

有三个节点,通过手机配网,配网成功后,任意按下一个key,三个都能接收到数据包。重新烧录一个节点,手机APP上删除这个节点的配置信息,再重新添加回原来的配置。

结果重新烧录节点按下key,另外两节点接收不到数据包。但是另外两个节点按下key,三个节点都能接收到数据包。

思考:

未修改的节点,存储的网络信息还是之前的网络信息,所以三个节点都能接收到数据包。但是重新烧录的节点按下按键时,其他两个节点未收到广播数据包。


疑问:

1、配网成功后,ram中存在哪些配网信息?(是该网络下的节点的网络(节点)地址吗?)

2、能不能在程序中写死网络地址等信息,上电默认不需要配网,直接接到相同有相同网络key的网络?



您好,208作为配网者,ram中是保存有网络中其他所有节点的地址的,配网相关的其他信息包括节点元素数量、网络密钥索引等,可以在node_t类型的 app_nodes[]结构体数组中查看。

代码中有保存网络信息到flash中这样的功能,可以在app_mesh_config中选择性开启。掉电再上电后,可以自行回复网络信息。注意调试过程中,用ISP工具烧录代码时,要关闭代码保护功能,否则解除代码保护时会清空208的flash导致网络信息丢失,包序列号过期,被接收方判断为过期包而丢弃,产生上面收不到包的问题。


只有登录才能回复,可以选择微信账号登录