实际测试中,如果COO复位后,本打算通过Device_annce来知道是否有设备接入,但是实际测试过程中发现,发现并不能通过Device_annce来知道是否以前接入过的Router会重新接入。
同样的测试,如果是ZED设备,设置RFD_RCVC_ALWAYS_ON=FALSE时候,COO可以通过Device_annce来得知ZED重新接入了。但是如果RFD_RCVC_ALWAYS_ON=TRUE,则情况同Router,COO同样无法通过Device_annce来获取是否ZED已经接入。
请问各位专家,COO重启后,如何能够快速知道ROUTER或者是已经RFD_RCVC_ALWAYS_ON的ZED已经加入了COO所在的网络?
谢谢!!
Viki Shi:
路由只有在第一次入网的时候发送device_annce信号。复位重启后要获取路由信息,需要在代码里增加内容,可以在重新上电以后,发送一个应用层的数据 ,作为这个重新上电的标记。
Lunfeng Yu:
回复 Viki Shi:
您好,请帮忙解答一下如下问题:
1. 这个Device_annce是ROUTE或者ZED主动发送的吗?
2.COO复位重启后,如果ZED或者ROUTER不JOIN IN,如何知道下面还挂着ZED或者是ROUTER呢?用社么API可以获取旗下的ZED或者ROUTER的ShortAddr和ExtAddr呢?谢谢!
Viki Shi:
回复 Lunfeng Yu:
1、是
2、device_annce就包含该设备的短地址,或者可以用ZDP_IEEEAddrReq()获取
Lunfeng Yu:
回复 Viki Shi:
谢谢答复!
请帮忙解答下如下问题:
COO重启后,如何知道下面的子节点的短地址呢,从实际测试看单纯的重启,ROUTER好像不能察觉这个事件,休眠模式的ZED倒是可以察觉COO重启过了。
谢谢!