【干貨】探尋ZigBee Light Link
物聯(lián)網(wǎng)時代隨著科技的發(fā)展,人們的生活水平和生活品味也在提高,人們對于生活的需求不僅僅是最基礎(chǔ)的要求,智能家居應(yīng)運而生。
當(dāng)ZigBee風(fēng)吹向智能家居市場。其中針對家庭照明控制應(yīng)用,ZigBee 聯(lián)盟發(fā)布新的無線通訊連結(jié)標(biāo)準ZigBee Light Link。
ZigBee Light Link作為一種用于保證普通民用照明和控制產(chǎn)品的互連互通和易于使用的全球標(biāo)準,它提供了更多的照明功能,包含遠程控制、可編程定時控制和情緒照明等等,只要透過單一網(wǎng)路,就可控制異廠牌的照明產(chǎn)品,還能同時能與電腦、手機、平板等移動設(shè)備連結(jié),助力相關(guān)供應(yīng)鏈加速推出智能照明與控制產(chǎn)品。
其中ZigBee Light Link的touchlink行為已經(jīng)在Base Device Behavior Specification文檔詳細寫出.touchlink分為initiator和target.touchlink實質(zhì)是當(dāng)initiator對選擇的target成為一個網(wǎng)絡(luò),如果initiator存在網(wǎng)絡(luò)就企圖拉target進入網(wǎng)絡(luò);如果initiator不在網(wǎng)絡(luò)但是能生成網(wǎng)絡(luò),就先創(chuàng)建網(wǎng)絡(luò)再把target拉入網(wǎng)絡(luò);如果initiator不在網(wǎng)絡(luò)也不能生成網(wǎng)絡(luò),讓target生成網(wǎng)絡(luò)并企圖加入進去.

initiator行為

1:標(biāo)志Commissioning狀態(tài)為處理中
2:生成transaction號,設(shè)置掃描的主信道和次信道(如果有次信道)
3:在每個主信道發(fā)起掃描請求命令,并等待一定時間
4:如果有次信道,則再在每個次信道發(fā)起掃描請求命令
5:掃描完成后,如果不存在有效的掃描回復(fù)命令,則結(jié)束touchlink,并返回沒有掃描回 ? ? ? 復(fù)命令,有則進入6
6:因為也許會收到不止一個回復(fù),選擇最接近initiator的target
7:請求target更多的信息
8,如果initiator和target在同一個網(wǎng)絡(luò)則進入9否則10
9:則可以更新信道(如果有必要)
10:initiator是在集中式網(wǎng)絡(luò)則返回不允許否則進入11
11:如果initiator沒有分配地址能力則返回沒有分配地址能力否則進入12
12:如果節(jié)點在一個網(wǎng)絡(luò),則進23否則進入13
13:initiator是路由器則進入21,22否則進入14
14:如果target是路由器則進入15否則返回沒有網(wǎng)絡(luò)
15:對target發(fā)起網(wǎng)絡(luò)建立請求
16:沒有收到有效的回復(fù)則返回沒有網(wǎng)絡(luò),否則進入17
17,18:復(fù)制網(wǎng)絡(luò)參數(shù)等待target建立網(wǎng)絡(luò)
19:如果initiator不是end device則返回建立成功,否則進入20
20:重新加入網(wǎng)絡(luò)
21,22:建立一個新的網(wǎng)絡(luò)
23:對target發(fā)起路由器/終端網(wǎng)絡(luò)加入請求命令
24:沒有收到有效的回復(fù)則返回目標(biāo)失敗,否則進入25
25:等待目標(biāo)加入網(wǎng)絡(luò)

target行為

1:沒有收到掃描請求則結(jié)束,否則進入2
2:如果收到的掃描請求已經(jīng)小于設(shè)置的信號閾值,則結(jié)束否則進入3
3:開始交互,給initiator設(shè)備掃描回復(fù)并進入4
4:開啟接收超時,如果超時就結(jié)束,否則等待initiator的命令
5:發(fā)送設(shè)備信息回復(fù)命令
6:識別設(shè)備
7:更新網(wǎng)絡(luò)(如果必要)
8:收到網(wǎng)絡(luò)建立請求,判斷自己是否為路由器,是就進入9否則繼續(xù)等待超時
9:建立網(wǎng)絡(luò)成功則進入10否則回復(fù)initiator建網(wǎng)失敗
10:根據(jù)剛才的交互信息決定網(wǎng)絡(luò)參數(shù)
11:回復(fù)initiator建網(wǎng)成功
12:如果不是出廠設(shè)備則離開舊網(wǎng)絡(luò)
13:建立網(wǎng)絡(luò)
14:initiator直接加入
15:如果收到的是加入網(wǎng)絡(luò)請求,且信息符合則16,否則等待超時
16:加入網(wǎng)絡(luò)失敗則回復(fù)initiator入網(wǎng)失敗否則進入17
17:回復(fù)initiator入網(wǎng)成功
18:如果不是出廠設(shè)備則離開舊網(wǎng)絡(luò)
19:復(fù)制網(wǎng)絡(luò)參數(shù),進行網(wǎng)絡(luò)操作
20:建立網(wǎng)絡(luò)連接
21:收到復(fù)位命令,target重新為出廠配置