基于ZigBee無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的智能家居設計
2.2 設備入網(wǎng)
在一個(gè)ZigBee協(xié)調器設備建立網(wǎng)絡(luò )后,路由器設備或者終端設備,可以加入協(xié)調器建立的網(wǎng)絡(luò ),具體加入網(wǎng)絡(luò )有兩種方式,一種是通過(guò)關(guān)聯(lián)(Association)方式,就是待加入的設備發(fā)起加入網(wǎng)絡(luò ),另一種是直接(Direct)方式。下面重點(diǎn)討論第一種方式,也是實(shí)際中用的最多的方式。
首先對于一個(gè)ZigBee終端設備,只能加入一個(gè)網(wǎng)絡(luò )。對于新設備來(lái)說(shuō),它首先會(huì )掃描周?chē)烧业降木W(wǎng)絡(luò ),尋找有能力批準自己加入網(wǎng)絡(luò )的網(wǎng)絡(luò )協(xié)調器,并把可以找到的所有網(wǎng)絡(luò )協(xié)調器的資料存入自己的相鄰表。存入相鄰表的網(wǎng)絡(luò )協(xié)調器的資料包括ZigBee協(xié)議版本、協(xié)議棧配置文件、PAN ID、邏輯信道以及是否允許加入網(wǎng)絡(luò )等。在相鄰表中選擇一個(gè)深度最小的網(wǎng)絡(luò )協(xié)調器,并對其發(fā)出請求信息,如果出現相同最小深度的兩個(gè)以上網(wǎng)絡(luò )協(xié)調器信息,那么隨機選取一個(gè)發(fā)送請求。如果相鄰表中沒(méi)有合適的網(wǎng)絡(luò )協(xié)調器信息,那么表示入網(wǎng)失敗,終止過(guò)程。如果發(fā)出的請求被批準,那么網(wǎng)絡(luò )協(xié)調器同時(shí)會(huì )分配給它一個(gè)16位的網(wǎng)絡(luò )地址,此時(shí)入網(wǎng)成功,終端設備可以開(kāi)始通信。如果請求失敗,那么重新查找相鄰表,繼續發(fā)送請求信息,直到加入網(wǎng)絡(luò )或者相鄰表中沒(méi)有合適的網(wǎng)絡(luò )器。
設備關(guān)聯(lián)加入網(wǎng)絡(luò )的具體實(shí)現如下:
(1)在加入網(wǎng)絡(luò )前,首先要確定這個(gè)設備是ZigBee終端設備。通過(guò)協(xié)議棧配置文件ZigBee.def中的#define I_AM_END_DEVICE來(lái)定義這個(gè)設備為ZigBee終端設備。
(2)確定為終端設備后,應用層首先設定待掃描的信道以及每個(gè)信道掃描的時(shí)間,調用NLME_NE1WORK_DISCOVERY.request原語(yǔ)尋找合適網(wǎng)絡(luò ),網(wǎng)絡(luò )層收到該原語(yǔ)后,通過(guò)MLME_SCAN.request,原語(yǔ)要求MAC層執行主動(dòng)掃描獲得目前網(wǎng)絡(luò )描述參數。通過(guò)函數NWKStartDiscovery(),對掃描的起始信道進(jìn)行設置,假定起始值為N。然后執行MACStartScan(TRUE)對信道N進(jìn)行主動(dòng)掃描。
(3)完成掃描后,網(wǎng)絡(luò )層將發(fā)送NLMF_NETWORK_DISCOVERY.confirm原語(yǔ)告知應用層。通過(guò)調用回調函數AppOkayToAssociate()來(lái)判斷是否要加入這個(gè)網(wǎng)絡(luò ),判斷的標準是網(wǎng)絡(luò )協(xié)調器的MAC地址是否符合終端設備的要求,這樣可以使終端設備加入到指定的網(wǎng)絡(luò )中,應用層根據情況調用NLME_JOIN.request原語(yǔ)從鄰居表中選擇所發(fā)現的網(wǎng)絡(luò )加入。網(wǎng)絡(luò )確定后,網(wǎng)絡(luò )層將請求MAC層管理實(shí)體對邏輯信道,PAN標識符等有關(guān)屬性進(jìn)行配置,發(fā)送MLME_SYNC.request原語(yǔ)獲取它所要連接協(xié)調器的信標,實(shí)現與協(xié)調器的同步。然后調用MLME_ASSOCIATE.request原語(yǔ)到MAC層。
(4)執行函數PHYPutTxData(MAC_CMD_AS_SOCIATE_REQ)向協(xié)調器發(fā)送加入請求,并等待發(fā)送加入請求的確認。協(xié)調器接收到連接請求后首先調用MACIsJoinPermitted()來(lái)判斷網(wǎng)絡(luò )是否允許任何設備關(guān)聯(lián),允許則返回給終端設備確認幀。協(xié)調器的網(wǎng)絡(luò )層將分配惟一的16位網(wǎng)絡(luò )地址給該設備,并根據設備提供的信息在它的鄰居表中為終端設備創(chuàng )建新的入口,隨后向MAC發(fā)送表明連接成功的MLM_ASSOCIATE.response原語(yǔ)表明設備已經(jīng)成功同網(wǎng)絡(luò )連接。設備的MAC層收到來(lái)自協(xié)調器的連接響應命令幀后,通過(guò)MLME_ASSOCIATE.confirm原語(yǔ)發(fā)送給設備應用層表明加入成功,設備的網(wǎng)絡(luò )層將在鄰居表中設置邏輯地址信息。
3 結束語(yǔ)
介紹了基于ZigBee無(wú)線(xiàn)傳感器網(wǎng)絡(luò )技術(shù)組建信息家居網(wǎng)絡(luò ),如圖4所示,能夠對家居環(huán)境進(jìn)行較好的監控,根據現在家居存在的問(wèn)題,擬采取現有通信網(wǎng)絡(luò )與短距離無(wú)線(xiàn)網(wǎng)絡(luò )相結合的方法提高家居數據的準確性、實(shí)時(shí)性和可靠性。相對于常見(jiàn)的Bluetooth、Wi-Fi等具有低復雜度、低成本、低功耗、高安全性等優(yōu)點(diǎn),隨著(zhù)無(wú)線(xiàn)網(wǎng)絡(luò )技術(shù)的進(jìn)一步發(fā)展,它將成為智能家居發(fā)展的趨勢。本文引用地址:http://dyxdggzs.com/article/154878.htm
評論