基于ZigBee技術(shù)的家居智能無線網(wǎng)絡(luò)系統(tǒng)
摘要:介紹了一種基于ZigBee技術(shù)的智能家居無線網(wǎng)絡(luò)系統(tǒng)。重點闡述了該系統(tǒng)的組成、通訊協(xié)議以及無線節(jié)點的軟硬件設(shè)計。該系統(tǒng)在傳統(tǒng)的有線家居網(wǎng)絡(luò)系統(tǒng)的基礎(chǔ)上使用ZigBee技術(shù),使其具有成本低、功耗低、覆蓋范圍大的特點。特別是其符合IEEE802.15.4協(xié)議,利用系統(tǒng)與其它符合標準的產(chǎn)品的互聯(lián),具有良好的通用性和可擴展性。
關(guān)鍵詞:智能家居 無線網(wǎng)絡(luò) ZigBee 低功耗
在智能家居系統(tǒng)中,將無線網(wǎng)絡(luò)技術(shù)應(yīng)用于家庭網(wǎng)絡(luò)已成為勢不可擋的趨勢。這不僅僅是因為無線網(wǎng)絡(luò)可以提供更大的靈活性、流動性,省去花在綜合布線上的費用和精力,而且更因為它符合家庭網(wǎng)絡(luò)的通訊特點。隨著無線網(wǎng)絡(luò)技術(shù)的進一步發(fā)展,必將大大促進家庭網(wǎng)絡(luò)智能化的進程。
本文介紹的智能家居無線網(wǎng)絡(luò)系統(tǒng)采用ZigBee技術(shù),它是一種近距離、低復(fù)雜度、低功耗、低數(shù)據(jù)速率、低成本的雙向無線通信技術(shù),符合IEEE802.15.4協(xié)議,是IEEE工作組專門為家庭短距離通訊制定的新標準。
1 ZigBee技術(shù)簡介
ZigBee技術(shù)的主要優(yōu)點有:(1)省電:兩節(jié)五號電池可使用長達六個月到兩年左右的時間;(2)可靠;采用了碰撞避免機制;(3)成本低;(4)時延短;(5)網(wǎng)絡(luò)容量大;(6)安全:ZigBee提供了數(shù)據(jù)完整性檢查和鑒權(quán)功能,加密算法采用AES-128,各種應(yīng)用可以靈活確定其安全屬性。
ZigBee技術(shù)的特點完全符合家庭網(wǎng)絡(luò)通訊的需要,因此選擇ZigBee技術(shù)構(gòu)建智能家居無線網(wǎng)絡(luò)系統(tǒng)。
2 智能家居無線網(wǎng)絡(luò)系統(tǒng)
本系統(tǒng)以家庭為單位進行設(shè)計安裝,每個家庭都安裝一個家庭網(wǎng)關(guān)、若干個無線通訊ZigBee子節(jié)能模塊。在家庭網(wǎng)關(guān)和每個子節(jié)點上都接有一個HeliLink無線網(wǎng)絡(luò)收發(fā)模塊(符號ZigBee技術(shù)標準的產(chǎn)品),通過這些無線網(wǎng)絡(luò)收發(fā)模塊,數(shù)據(jù)在網(wǎng)關(guān)和子節(jié)點之間進行傳送。其系統(tǒng)組成如圖1所示。
下面介紹各部分的結(jié)構(gòu)及功能。
家庭網(wǎng)關(guān)的結(jié)構(gòu)及功能為:
(1)采用ARM構(gòu)架的32位嵌入式RISC處理器和.uClinux操作系統(tǒng);
(2)通過門鎖進行自動設(shè)防/解防;
(3)遇搶劫或疾病,按緊急按鈕,自動向管理中心報警;
(4)每家每戶配有自己的網(wǎng)頁,通過網(wǎng)頁顯示小區(qū)通知、系統(tǒng)各部分工作狀況及數(shù)據(jù);
(5)水、電、氣各表數(shù)據(jù)發(fā)給牧業(yè)管理中心;
(6)通過以太網(wǎng)與小區(qū)管理中心通訊;
(7)通過網(wǎng)關(guān)上的無線ZigBee(IEEE802.15.4)模塊與網(wǎng)絡(luò)中各子節(jié)點進行通訊。
ZigBee無線通訊子節(jié)點的功能為:
(1)兩路脈沖量數(shù)據(jù)采集,可采集水、電、氣三表數(shù)據(jù);
(2)兩路安防傳感器開關(guān)量數(shù)據(jù)采集,可進行設(shè)防/撤防報警、安防報警(紅外幕簾、門磁、窗磁、玻璃破碎等);
(3)一路模擬量數(shù)據(jù)采集;
(4)一路模擬量數(shù)據(jù)輸出;
(5)一路繼電器觸點輸出;
(6)通過無線通訊IEEE802.15.4協(xié)議及家庭網(wǎng)關(guān)通訊。
3 通訊協(xié)議
3.1 ZigBee協(xié)議的幀結(jié)構(gòu)
采用符號ZigBee標準的HeliLink模塊的數(shù)據(jù)幀由數(shù)據(jù)模式、目標地址、數(shù)據(jù)長度、數(shù)據(jù)信息與校驗和五部分構(gòu)成,格式如下(數(shù)據(jù)幀結(jié)構(gòu)中的數(shù)據(jù)都是16進制數(shù)):
“數(shù)據(jù)模式”占用一個字節(jié)。“目標地址”表示數(shù)據(jù)幀結(jié)構(gòu)要發(fā)送的目標位置(網(wǎng)絡(luò)中的節(jié)點號),它占用一個字節(jié)。“數(shù)據(jù)長度”表示數(shù)據(jù)幀結(jié)構(gòu)中從“數(shù)據(jù)1”到“數(shù)據(jù)n”所占據(jù)的字節(jié)數(shù),它也占據(jù)了一個字節(jié)。“數(shù)據(jù)信息”表示用戶要通過UART0傳送的命令或者有效數(shù)據(jù),占據(jù)的字節(jié)數(shù)由“數(shù)據(jù)長度”決定。“校驗和”是對幀結(jié)構(gòu)中的全部數(shù)據(jù)(校驗和字節(jié)除外)進行的校驗,采用字節(jié)逐位異或的方式實現(xiàn)。“校驗和”也占據(jù)一個字節(jié)。
3.2 無線網(wǎng)絡(luò)通訊協(xié)議幀結(jié)構(gòu)
家庭網(wǎng)關(guān)通訊協(xié)議幀結(jié)構(gòu)是建立在ZigBee協(xié)議幀結(jié)構(gòu)的基礎(chǔ)上的,相當于底層協(xié)議中的數(shù)據(jù)場部分。所以幀結(jié)構(gòu)由節(jié)點號、功能編碼、數(shù)據(jù)信息三部分組成,如下所示:
節(jié)點號字段數(shù)據(jù)長度為1字節(jié),其中低四位為數(shù)據(jù)采集功能編號,高四位為子節(jié)點號,如下所示:
功能編碼分為三個部分:方向位、數(shù)據(jù)類型和功能類型。其格式為:
方向位:
根據(jù)主節(jié)點作為通訊發(fā)送者還是接收者,本系統(tǒng)功能可分為兩大類:上行和下行。方向位即決定了這一點。
數(shù)據(jù)類型:
數(shù)據(jù)信息與功能編碼關(guān)系十分密切,根據(jù)功能不同,數(shù)據(jù)場中數(shù)據(jù)的內(nèi)容含義不同;根據(jù)數(shù)據(jù)長度不同,數(shù)據(jù)類型也不同。
功能類型:
每一個功能類型對應(yīng)一種系統(tǒng)功能。通過解析功能類型編碼可得到系統(tǒng)功能,對于下行幀,子節(jié)點得到主節(jié)點通知其執(zhí)行的命令和需要的數(shù)據(jù);對于上行幀,主節(jié)點得到子節(jié)點返回的信息、數(shù)據(jù)和命令執(zhí)行的情況。
數(shù)據(jù)信息存放數(shù)據(jù),數(shù)據(jù)信息長度可根據(jù)功能編碼中的數(shù)據(jù)類型而定。
4 無線節(jié)點硬件設(shè)計
由于無線節(jié)點使用電池供電,且需要安裝在三表或電器內(nèi)部,要求電池體積很小,因此電池的容量不可能太大。希望一顆鈕扣電池可以有效工作一年以上。無線通訊需要電池提供足夠大的電流,耗電量較大,所以低功耗設(shè)計成為子節(jié)點設(shè)計的重點和難點。
無線網(wǎng)絡(luò)節(jié)點硬件組成如圖2所示,采用TI公司的16位單片機MSP430F1232作為處理器,采用符合ZigBee標準的Heililink無線網(wǎng)絡(luò)收發(fā)模塊建立無線通訊,采用RAMTRON公司的鐵電存儲器FM24LC16存儲數(shù)據(jù),開關(guān)量輸出使用松下公司的磁保持繼電器TQ2L2—3V,PWM輸出放大器采用MAXIM公司的MAX4464。使用鋰離子鈕扣電池供電,通過采用TI公司的電荷泵IPS60210將電壓穩(wěn)定至3.3V。無線子節(jié)點通過查詢八位撥碼開關(guān)確定其功能,可以實現(xiàn)兩路脈沖量的計數(shù)、兩路開關(guān)量的輸入、兩路開關(guān)量的輸出、一路模擬量的輸入、一路模擬量的輸出、電池電量采集無線通訊等功能。
4.1 處理器
處理器采用TI公司的16位單片機MSP430F1232。該單片機突出的特點是可以實現(xiàn)極低的功耗,具有五種省電工作模式,而每種工作模式可以通過對時鐘的控制實現(xiàn)不同的功耗,其工作在LPM4模式下的功耗電流只有0.1μA,非常適合采用電池供電的系統(tǒng)。片內(nèi)FLASH ROM用于存儲應(yīng)用程序、通訊協(xié)議;UART接口連接無線通信模塊;10位A/D轉(zhuǎn)換器實現(xiàn)電池電壓檢測、模擬量輸入;內(nèi)部16位定時計數(shù)器實現(xiàn)PWM輸出,經(jīng)低通濾波后,再由放大器放大,實現(xiàn)模擬量輸出;I2C接口連接鐵電存儲器FRAM。其余的通用輸入輸出端口分別實現(xiàn)數(shù)字量和脈沖量的輸入、輸出以及撥碼開關(guān)狀態(tài)的輸入。
4.2 鐵電存儲器
存儲器采用RAMTRON公司的FM24CL16,它是一種串行非易失性存儲器,其特點是可無限次地讀寫,掉電數(shù)據(jù)可保護10年;寫數(shù)據(jù)無延時;使用二線制串行總線及其傳輸規(guī)范進行雙向傳輸,這種方式占用腳位少,占用線路板空間小,總線速度可以達到1MHz,靜態(tài)工作電流僅為1μA。這些特點使其十分適合本設(shè)計對功耗低、體積小、數(shù)據(jù)讀寫頻繁的要求。
4.3 磁保持繼電路
磁保持繼電器采用松下公司的TQ2-L2—3V,通過MSP430F1232的輸出管腳DO_S、DO_R控制開關(guān)管Q1、Q2的開關(guān)狀態(tài),實現(xiàn)繼電器線圈電流的通斷控制,從而控制繼電器觸點的動作。如果采用傳統(tǒng)繼電器,需要一直提供電流來維持繼電器狀態(tài),這樣功耗很難降低。磁保持繼電器具有鎖存功能,觸點動作后無需繼續(xù)提供電流,從而降低了功耗。其開關(guān)兩端可耐壓直流220V,交流250V,滿足了通斷市電的要求。
4.4 無線網(wǎng)絡(luò)收發(fā)模塊
該模塊特點是體積小、內(nèi)嵌網(wǎng)絡(luò)通訊協(xié)議,符合ZigBee網(wǎng)絡(luò)層的標準,為IEEE.802.15.4標準兼容產(chǎn)品,可實現(xiàn)高效率發(fā)射、高靈敏度接收,無線數(shù)據(jù)速率高達76.8kbit/s。通過串口與MSP430F1232進行通訊,將獲得的數(shù)據(jù)無線發(fā)送出去。
4.5 撥碼開關(guān)
八位撥碼開關(guān)的狀態(tài)決定該子節(jié)點的節(jié)點號和其實現(xiàn)的功能。
5 無線節(jié)點軟件設(shè)計
鑒于節(jié)點使用的通用性要求,需要上電后根據(jù)撥碼開關(guān)確定子節(jié)點號及其所要完成的功能。其主要功能包括水電氣三表的數(shù)據(jù)采集和存儲、報警信息的獲取、設(shè)防撤防狀態(tài)的獲取和以上信息數(shù)據(jù)的無線發(fā)送。根據(jù)撥碼開關(guān)的狀態(tài)確定節(jié)點需要完成的其中一項或幾項工作,并調(diào)用相應(yīng)的初始化程序。由于無線通訊模塊的功耗較大,CPU大部分時間都處于休眠狀態(tài),通過各級中斷喚醒CPU和恢復(fù)無線通訊模塊的正常工作。數(shù)據(jù)的無線發(fā)送和接收要遵守家庭網(wǎng)關(guān)通訊協(xié)議。
系統(tǒng)主程序流程圖如圖3所示。系統(tǒng)上電后,先關(guān)閉看門狗定時器,開關(guān)電源進入SNOOZE節(jié)功狀態(tài),同時關(guān)閉無線通訊模塊電源,進行I2C接口的初始化,讀取撥碼開關(guān)狀態(tài),并根據(jù)撥碼開關(guān)的狀態(tài)進行單片機通用I/O口的初始化,以確定其作為脈沖量輸入端口還是開關(guān)量輸入端口,或是撤防設(shè)防輸入端口。其中,若作為脈沖量輸入端口,則調(diào)用相應(yīng)脈沖量初始化程序,設(shè)置其端口為上升沿觸發(fā);若作為開關(guān)量輸入端口,則調(diào)用相應(yīng)開關(guān)量初始化程序,設(shè)置其端口為下降觸發(fā);若作為撤防設(shè)防輸入端口,則調(diào)用設(shè)防撤防初始化程序,當前端口狀態(tài)為設(shè)防狀態(tài)時,進行撤防初始化,設(shè)置其端口為上升沿觸發(fā)。當前端口狀態(tài)為撤防狀態(tài)時,進行設(shè)防初始化,設(shè)置其端口為下降沿觸發(fā)。
端口初始化結(jié)束之后,進行串行通訊UART接口初始化,打開UART接收中斷使能,使其能響應(yīng)網(wǎng)關(guān)發(fā)送給子節(jié)點的命令。定時器連續(xù)工作在計數(shù)模式,打開計數(shù)器溢出中斷使能。
單片機各部分初始化結(jié)束后,進入LPM3休眠模式,只有ACLK始終保持工作,因此在串行通訊UART和定時器初始化中,將其工作時鐘定義為ACLK是十分重要的,否則進入LPM3休眠模式后,串口和定時器將停止工作和相應(yīng)中斷。進入LPM3休眠模式后,系統(tǒng)的功耗最低。
系統(tǒng)可響應(yīng)I/O中斷,當其作為脈沖量輸入端口時,脈沖量上升沿觸發(fā)中斷,經(jīng)過去抖處理后,脈沖量計數(shù)增1,遇到進位時,調(diào)用函數(shù)處理進位,最后將計數(shù)值寫入FRAM,進入LPM3休眠模式。當其作為開關(guān)量輸入端口時,開關(guān)量下降沿觸發(fā)中斷,停止計數(shù)器計數(shù),打開電源,打開串行通訊,重復(fù)發(fā)送報警信息,直到收到網(wǎng)關(guān)應(yīng)答信息時才停止報警,恢復(fù)定時器計數(shù),進入LPM3休眠模式。
數(shù)據(jù)發(fā)送要遵循通訊協(xié)議,圖4所示為數(shù)據(jù)發(fā)送程序流程圖。由于文章篇幅所限,這里就不多述了。
本文介紹的基于ZigBee技術(shù)的智能家居無線網(wǎng)絡(luò)系統(tǒng),由于其具有低成本、低功耗、較遠的覆蓋范圍及通用性的特點,將成為智能家居系統(tǒng)中的又一亮點,必將給現(xiàn)代智能家居系統(tǒng)帶來一場新的變革。
評論