zigbee現存網絡下更換協調器

應用場景:現場協調器壞了,更換協調器,只改panid、加密信息、信道等是不行的

因爲之前壞掉的協調器已經創建了一個網絡,即使舊協調器壞了,網絡還在,新協調器如果開機前沒有之前的網絡設備處於開啓狀態,它可以創建網絡,但是開機前如果有開啓的(這個是更正常的,不可能把所有子設備/終端都重啓)新協調器的panid會加一,這樣就無法通信了;類似原因https://bbs.csdn.net/topics/360182803

不能更換協調器的一個原因http://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=1061986

解決方法是任意一個帶有舊網絡信息的設備重新/擦除燒寫一下程序;或者用 zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE);  SystemReset()(參考https://www.docin.com/p-1124248179.html)函數清掉子設備NV掉電保存的舊網絡信息;或者若是已經編譯了NV_RESTORE,可以嘗試使用FLASH工具把舊協調器hex文件讀出來,燒入新的協調器中

新協調器加入已組好網的網絡中http://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=447450

我理解的原理是清掉一個後,這個設備和新協調器建立連接,其它設備再通過這個設備和新協調器連接

  

在使能NV_RESTORE的情況,協調器斷電重新上電以後,和網絡裏面其他的設備再次通信是完全沒有問題的。

需要NV_RESTORE的原因:http://blog.sina.com.cn/s/blog_a21b99bf0101blq6.html

如果對協調器重新下載了程序,或者更換了新的協調器,還要和原來的網絡通信的話,那麼新上電的協調器就需要把之前的網絡參數都恢復出來,比方說channel,panid,ExtendPANID,security key等等。這些信息應該是從原先的協調器上獲得的,保存下來的。

原理參考http://www.ghostyu.com/kb/31

一種藉助擴展panid的方法:https://blog.csdn.net/xingqingly/article/details/47207597

 

如圖不是舊協調器壞掉,更換新新協調器燒寫程序時將erase flash去掉勾選即可如下圖

注意將新協調器燒錄相同hex程序後,仍然需要將終端重啓一遍,否則協調器只能收不能發

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章