1. 程式人生 > >ZigBee終端怎樣檢測協調器或路由器已不在網路中

ZigBee終端怎樣檢測協調器或路由器已不在網路中

使用TI Z-STACK, 終端與協調器中間沒有路由.

終端通過定時傳送MAC地址請求或傳送資料的結果來判斷協議器是否還在網路中.如果連續數次mac地址請求失敗或傳送資料失敗,則認為協調器已經不在網路.

檢測次數通過f8wConfig.cfg中的巨集MAX_POLL_FAILURE_RETRIES來定,預設值為2.當檢測到協調器不在網路時,app會收到ZDO_STATE_CHANGE事件,通知

app,終端網路狀態變為DEV_NWK_ORPHAN.

經實驗,把協調器電斷了,終端網路狀態變為DEV_NWK_ORPHAN,然後再變為DEV_NWK_DISC, 終端一直在尋找網路.當再給協調器上電後,終端能自動加入網路.

終端能自動加入網路的這個功能不需要配置任何的編譯選項.

這裡的協調器也可以是路由器,是直接跟終端互動的父裝置.