基于JN5139的智能家居內(nèi)部組網(wǎng)
智能家居網(wǎng)絡(luò)主要包括外部網(wǎng)、家庭網(wǎng)關(guān)和內(nèi)部網(wǎng)。外部網(wǎng)可以是因特網(wǎng)、公用電話網(wǎng)或小區(qū)局域網(wǎng);內(nèi)部網(wǎng)是家庭內(nèi)部家電設(shè)備互聯(lián)的局域網(wǎng)。目前有多種技術(shù)應(yīng)用于內(nèi)部組網(wǎng),如HomeRF、電力載波、ZigBee等;家庭網(wǎng)關(guān)則是連接外部網(wǎng)和內(nèi)部網(wǎng)的重要環(huán)節(jié),以協(xié)議轉(zhuǎn)換方式完成外部網(wǎng)和內(nèi)部網(wǎng)的數(shù)據(jù)交換。
實現(xiàn)智能家居系統(tǒng)的關(guān)鍵是智能家居組網(wǎng)技術(shù)。智能家居內(nèi)部網(wǎng)絡(luò)的特點:需要傳輸?shù)臄?shù)據(jù)量?。患彝ブ行枰刂频脑O(shè)備多,網(wǎng)絡(luò)容量大;傳輸信息需要延時短、實時性高。ZigBee技術(shù)是近幾年來發(fā)展起來的一種無線通信技術(shù),具有距離短、低功耗、低數(shù)據(jù)率、低成本、高可靠性、網(wǎng)絡(luò)容量大等特點,這些技術(shù)特點決定了其能很好地滿足智能家居內(nèi)部組網(wǎng)的要求。
組成ZigBee網(wǎng)絡(luò)的設(shè)備有協(xié)調(diào)器、路由器和終端設(shè)備。協(xié)調(diào)器建立和控制網(wǎng)絡(luò),存儲網(wǎng)絡(luò)的信息,包括作為認(rèn)證中心和安全密鑰的存儲。路由器用來擴(kuò)展網(wǎng)絡(luò)的覆蓋面,并提供備份路由以防止網(wǎng)絡(luò)擁塞,可與協(xié)調(diào)器和其他路由器通信,并且支持子設(shè)備。終端設(shè)備可以發(fā)送或接收信息,不做路由使用,它只能與協(xié)調(diào)器或一個路由器通信。
2 硬件設(shè)計
2.1 組網(wǎng)方式
內(nèi)部網(wǎng)采用ZigBee協(xié)議,ZigBee標(biāo)準(zhǔn)支持星形、樹狀和對等3種網(wǎng)絡(luò)拓?fù)?。在星形網(wǎng)絡(luò)中,協(xié)調(diào)器負(fù)責(zé)發(fā)起和維持網(wǎng)絡(luò)結(jié)構(gòu),所有其他終端設(shè)備直接和協(xié)調(diào)器通信。在智能家居中各個節(jié)點之間的通信距離比較短,無需路由器擴(kuò)展網(wǎng)絡(luò)覆蓋面。內(nèi)部網(wǎng)可使用ZigBee星形網(wǎng)絡(luò)組網(wǎng),只需要協(xié)調(diào)器和終端設(shè)備即可構(gòu)成網(wǎng)絡(luò),從而降低整個系統(tǒng)的組網(wǎng)復(fù)雜程度。該系統(tǒng)將協(xié)調(diào)器與家庭網(wǎng)關(guān)統(tǒng)一設(shè)計,協(xié)調(diào)器/家庭網(wǎng)關(guān)負(fù)責(zé)處理與各個終端設(shè)備的通信及與外網(wǎng)的通信,終端設(shè)備實現(xiàn)環(huán)境控制、安全檢測、家電控制等具體的功能。圖1給出系統(tǒng)總體框圖。
2.2 系統(tǒng)原理
當(dāng)外部網(wǎng)絡(luò)傳來的控制信息進(jìn)入家庭網(wǎng)關(guān),即進(jìn)入安全檢測和接入認(rèn)證,如果通過認(rèn)證,采用協(xié)議轉(zhuǎn)換將控制信息轉(zhuǎn)換成符合內(nèi)部網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)格式送入?yún)f(xié)調(diào)器,并根據(jù)家庭網(wǎng)關(guān)的控制信息輸送到終端設(shè)備。
如果發(fā)生非允許入侵、煤氣泄露等異常事件,終端設(shè)備檢測并將信息發(fā)往協(xié)調(diào)器,協(xié)調(diào)器將這些信息送入家庭網(wǎng)關(guān),從而轉(zhuǎn)化成外部網(wǎng)絡(luò)的信息格式,發(fā)往遠(yuǎn)程監(jiān)控設(shè)備。同時,內(nèi)部網(wǎng)絡(luò)也盡可能完成一些自處理,比如在發(fā)生煤氣泄漏時,可以在非人為的干預(yù)下打開排氣風(fēng)扇,將處理結(jié)果發(fā)往遠(yuǎn)程控制端。
2.3 電路組成
采用Jennic公司生產(chǎn)的ZigBee JN5139模塊構(gòu)成內(nèi)部網(wǎng)絡(luò)。該模塊的特點是以高性能、低功耗的32位無線微控制器JN5139為核心,使用2.4 GHz射頻收發(fā)電路,兼容IEEE802.15.4和ZigBee標(biāo)準(zhǔn);低至2.6μA的睡眠電流;有可供用戶程序使用的128 KB外部SPI接口存儲器;4輸入12 bit A/D轉(zhuǎn)換器、2個11 bitD/A轉(zhuǎn)換器、2個比較器;2路UART串口、5個選擇位的SPI接口、1個I2C接口等。JN5139模塊多樣的接口為外接各種傳感器和控制電路提供了便利。
系統(tǒng)將協(xié)調(diào)器和家庭網(wǎng)關(guān)制作在一塊電路板上,圖2給出其電路框圖。這樣作為協(xié)調(diào)器的JN5139的性能可以充分利用,既可處理內(nèi)部ZigBee網(wǎng)絡(luò)的互聯(lián),也可與外網(wǎng)通信;同時也使得系統(tǒng)結(jié)構(gòu)更為緊湊。外網(wǎng)接入電路可使用GPRS、INTERNET、有線電話網(wǎng)絡(luò)等形式,外網(wǎng)的信息經(jīng)JN5139協(xié)議轉(zhuǎn)換,使其適合在ZigBee網(wǎng)絡(luò)中傳輸。
終端設(shè)備節(jié)點是ZigBee網(wǎng)絡(luò)的最終功能單元,與具體的家電設(shè)備互聯(lián),圖3給出終端設(shè)備節(jié)點電路框圖。傳感器采集家電設(shè)備或家居環(huán)境信息,經(jīng)由JN5139處理,打包成ZigBee協(xié)議的信息格式,送至協(xié)調(diào)器進(jìn)行下一步處理。JN5139也接收來自協(xié)調(diào)器的控制信息,經(jīng)解碼后送至控制電路,執(zhí)行相應(yīng)的操作。
3 軟件設(shè)計
3.1 開發(fā)環(huán)境
JN5139的集成開發(fā)環(huán)境為CodeBlocks,該軟件是Jennie公司提供的代碼編輯和編譯環(huán)境,它和基于Cygwin的GCC編譯器進(jìn)行連接完成代碼的編譯工作。CodeBlocks是一款開源的C/C++開發(fā)工具,Jecnnic基于這個工具對其擴(kuò)展形成了自己的開發(fā)平臺。另外Jennic還提供易用的下載軟件FlashProgrammer,可將CodeBlocks生成的能夠在JNl539上運行的程序下載到電路中。這些開發(fā)工具都可在其官方網(wǎng)站上免費獲得,從而降低開發(fā)成本。
3.2 程序流程
協(xié)調(diào)器/家庭網(wǎng)關(guān)在初始化過程中,首先進(jìn)行能量掃描和激活掃描信道,如果未發(fā)現(xiàn)合適的信道,則終止建立網(wǎng)絡(luò):如果找到合適的信道,則分配給該網(wǎng)絡(luò)一個唯一的16位PANID和16位的網(wǎng)絡(luò)地址,并向物理層發(fā)出組網(wǎng)請求,收到確認(rèn)后組網(wǎng)成功。然后,協(xié)調(diào)器/家庭網(wǎng)關(guān)循環(huán)檢測終端設(shè)備的綁定請求,當(dāng)收到綁定請求時,進(jìn)行接入認(rèn)證,通過認(rèn)證后進(jìn)行綁定并更新鄰居表。然后接收數(shù)據(jù)并判定數(shù)據(jù)的來源,如果是外網(wǎng)發(fā)來的數(shù)據(jù),進(jìn)行協(xié)議轉(zhuǎn)換并處理外網(wǎng)請求;如果為內(nèi)網(wǎng)發(fā)來的數(shù)據(jù)請求,則接收查詢并發(fā)送需要查詢的數(shù)據(jù)。協(xié)調(diào)器/家庭網(wǎng)關(guān)的程序流程如圖4所示。
終端設(shè)備將可能加入網(wǎng)絡(luò)的協(xié)調(diào)器資料存入自己的鄰居表,包括協(xié)議版本、堆棧規(guī)范、PAN ID和其他可以加入的 信息。然后向協(xié)調(diào)器發(fā)出請求信息。如果鄰居表中沒有合適的協(xié)調(diào)器,則表示入網(wǎng)失敗,終止加入網(wǎng)絡(luò)。如果發(fā)出的請求被批準(zhǔn),會得到協(xié)調(diào)器分配的一個16位的網(wǎng)絡(luò)地址,此時入網(wǎng)成功。終端設(shè)備與協(xié)調(diào)器進(jìn)行綁定操作,終端設(shè)備進(jìn)入查詢狀態(tài),并以一定的時間間隔查詢協(xié)調(diào)器緩沖區(qū)是否有對該節(jié)點的數(shù)據(jù)傳輸命令,若有則讀取傳感器數(shù)據(jù)或?qū)刂齐娐钒l(fā)出控制命令。圖5給出終端設(shè)備程序流程圖。
4 結(jié)語
將ZigBee這種低功耗、高可靠性、可擴(kuò)展性強(qiáng)的無線網(wǎng)絡(luò)應(yīng)用于智能家居內(nèi)部組網(wǎng),避免了各種現(xiàn)場布線,而且可以靈活增加新的家電設(shè)備。系統(tǒng)內(nèi)部組網(wǎng)完成后,可以直接由家庭網(wǎng)關(guān)連接GRPS、INTERNET等外部網(wǎng)絡(luò),實現(xiàn)各種家電設(shè)備和家居環(huán)境的實時遠(yuǎn)程監(jiān)控。