路由或终端连接成功协调器,协调器是否可以获取路由或终端的设备信息?
时间:10-02
整理:3721RD
点击:
协调器成功建成网络以后,是否可以获取每个成功加入网络的路由或终端信息,并使用串口发送将数据信息发送给上位机进行数据储存
您可以在应用层定义一个命令,让路由器与终端设备定期把自己的短地址,长地址,及状态上报给协调器。
协调器通过检查是否定期上报了判断是否在线,然后通过UART传输给PC。
协调器端是否可以知道现在连接的设备有哪些呢?就是设备成功加入网络的同时,协调器就可以知道并将数据发送到上位机
每个节点在加入网络时会发送device announce包,里面有该节点的网络地址与长地址信息。您可以分析neighbour table中以及route table中存在的所有节点
请问这个divice announce 数据包是哪里获取得到的?是否有一个获取包的函数?
1 需要在应用层初始化的时候注册对device announce的处理函数,如下
// register for end device annce and simple descriptor responses
ZDO_RegisterForZDOMsg( ******, Device_annce );
2 在应用层的 uint16 XXXXX_ProcessEvent( uint8 task_id, uint16 events )函数中
case ZDO_CB_MSG:下的
XXXXX_ProcessZDOMsgs( (zdoIncomingMsg_t *)MSGpkt );函数中去处理就可以了,只要在里面加上case Device_annce就可以了。
好的,谢谢
很高兴能帮到您!