TI中文支持网
TI专业的中文技术问题搜集分享网站

关于串口修改路由节点的问题

协议栈中码进了串口配置内容,通过串口发送固定字符修改节点panid,但是当节点类型为Coordinator时,修改没问题。节点是Router时,修改完用后无法串口修改panid,但是如果先让Router入网后,串口修改可以成功,不过修改完成以后用抓包工具查看Router节点变成了Coordinate功能,请教这是怎么回事

第一张图片是路由器刚下载完程序抓包的图

第二张图是先让路由节点加入协调器的网,再通过串口修改,修改完以后发现路由和协调器的包一样了

xiaoye Lu:

TI的工作人员呢  求帮助啊

VV:

如果路由有串口的话,是可以修改的。

你是需要通过串口配置路由设备,让它加入到特定的网络吗?

你可以使能NV_INIT和NV_RESTORE

通过串口把panid信息写到zgConfigPANID,然后保存到ZCD_NV_PANID,再重启就可以了。

xiaoye Lu:

回复 VV:

是的 想通过串口修改加入所需网络。

但是我在配置过程中遇到了一下两个问题:

1.利用_NIB.nwkPanId = new_panid;           NLME_UpdateNV(0x01);          osal_start_timerEx(SerialApp_TaskID,Serial_SYS_RESET,2000);

配置协调器时,重启,配置成功;但是配置路由器时都不重启,感觉最后一条指令不执行。

2.让路由器先加入协调器的网络中,再用上面的方法配置,这时候路由器重启,配置成功,但是给协调器发送消息时,协调器无法收到,而且重新上电后,就算周围没有网络,依然自动默认为路由器

VV:

回复 xiaoye Lu:

你可以按照下面的步骤试下,

1, 使能,HOLD_AUTO_START,目的是设备在上电处于hold状态,不会主动发起加网,等待串口接收命令

2,串口发送命令,把收到的PANID值赋值给zgConfigPANID

3,在发送串口命令调用ZDOInitDevice( 0),开始搜网,这样节点就可以加入到zgConfigPANID配置的PANID网络中去了。

xiaoye Lu:

回复 VV:

先谢谢你的回答。

我使能了HOLD_AUTO_START,设备是等待入网,但是这时候也无法收到消息,我的板子没有加入按钮,因为打算在高空使用,因此不适用按键式操作,有没有办法直接用串口对router节点进行配置,不入网的情况下?

赞(0)
未经允许不得转载:TI中文支持网 » 关于串口修改路由节点的问题
分享到: 更多 (0)