End device設備分為睡眠和非睡眠兩種(RxOnWhenIdle標記不同)。 入網時的association請求,會使用這個標記。
共同特性
-
子節點多次發送數據失敗(無回應),發送孤點掃描 (realignment) , 嘗試重回網絡。
802.15.4 : 用於網絡同步,設備與協調器通信異常,可發orphan notify。
An orphan scan allows a device to attempt to relocate its coordinator following a loss of synchronization.
During an orphan scan, the MAC sublayer shall discard all frames received over the PHY data service that
are not coordinator realignment command frames.
An orphan scan over a specified set of logical channels is requested using the MLME-SCAN.request
primitive with the ScanType parameter set to indicate an orphan scan. For each logical channel, the device
shall first switch to the channel, by setting phyCurrentChannel and phyCurrentPage accordingly, and then
send an orphan notification command (see 7.3.6). Upon successful transmission of the orphan notification
command, the device shall enable its receiver for at most macResponseWaitTime symbols. If the device
successfully receives a coordinator realignment command (see 7.3.8) within this time, the device shall
terminate the scan.
孤點通知:
重排列: The coordinator realignment command is sent by the PAN coordinator

-
子節點N次data request沒有收到回應(參數N子設備可配置)。認為丟失父節點,開始move過程。發送beacon request尋找父節點,找到后,通過rejoin回到網絡。
-
父節點判斷子節點是否已離開的方式:父節點設置超時時間(默認值 nwkEndDeviceTimeoutDefault) ,如果超時時間內一直沒有收到子節點的data request,認為子節點已離開;子節點重新回來的時候,會通知子節點rejoin。
(子節點入網后,需要通過End Device Timeout Request命令通知父節點設置超時時間數值 zigbee specification 3.6.10。)


-
子節點重新上電一般發送孤點掃描(realignment), silabs可修改這項配置。
非睡眠end device
-
父節點可以直接向該節點發送數據,不需要等待子節點的data poll

驗證步驟:編譯一個非睡眠的固件,long poll設置為10秒,子節點直連協調器,協調器發送多個on命令,每個命令可以直接發出,不需要等待子節點的data request
睡眠end device
-
父節點緩存報文,子節點通過data poll請求數據后,將數據發給子節點


Rejoin安全性
參考silicon labs 的文檔 ug103-05-fundamentals-security.pdf
Section 3.5 Network Rejoin
