基于ZigBee無(wú)線網(wǎng)絡(luò)的嵌入式智能家居監(jiān)控系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0.設(shè)計(jì)摘要
與普通的家居相比,智能家居(Smart Home)不僅具有傳統(tǒng)的居住功能,能夠提供舒適安全、高品位且宜人的生活空間,還把原來(lái)的被動(dòng)靜止結(jié)構(gòu)轉(zhuǎn)變?yōu)榫哂心軇?dòng)智慧的工具,幫助家庭與外部保持信息交流暢通,優(yōu)化人們的生活方式,甚至為各種能源支出節(jié)約資金家居。無(wú)線監(jiān)控問(wèn)題是當(dāng)今國(guó)際建筑智能化領(lǐng)域的前沿性研究課題。無(wú)線傳感網(wǎng)絡(luò)的出現(xiàn)克服了家庭中布線的煩瑣,充分體現(xiàn)了智能家居系統(tǒng)的靈活、方便、高效。本項(xiàng)目研究開(kāi)發(fā)了基于ZigBee技術(shù)和Internet技術(shù)的智能家居監(jiān)控系統(tǒng),將Internet的遠(yuǎn)程監(jiān)控與ZigBee短距離控制相結(jié)合,實(shí)現(xiàn)系統(tǒng)的家居無(wú)線控制和數(shù)據(jù)采集,避免了綜合布線,可擴(kuò)展性好。
整個(gè)智能家居監(jiān)控系統(tǒng)能夠?qū)矣秒娖鞯耐瓿砷_(kāi)關(guān)量的控制,還能夠?qū)θ?水表、電表、燃?xì)獗?進(jìn)行無(wú)線抄表,最重要的是可監(jiān)測(cè)來(lái)自家庭安防傳感器(火警、煤氣泄露)的數(shù)據(jù),以備物業(yè)等部門(mén)監(jiān)控。通過(guò)測(cè)試后,證實(shí)了設(shè)計(jì)方案的正確性,結(jié)果滿足系統(tǒng)設(shè)計(jì)要求,該設(shè)計(jì)具有一定的新穎性和實(shí)用性。本項(xiàng)目針對(duì)目前人們對(duì)居住環(huán)境的要求越來(lái)越高,同時(shí)家用設(shè)施的管理和安全亟待改善的迫切需要,設(shè)計(jì)了一種基于嵌入式無(wú)線通信技術(shù)的智能家居監(jiān)控系統(tǒng),以便能夠?qū)π^(qū)中各家各戶的各種情況(煤氣泄露、火警等)進(jìn)行監(jiān)控,而且還可以對(duì)家居設(shè)施進(jìn)行控制。此外,物業(yè)管理單位也可以通過(guò)此系統(tǒng)為小區(qū)居民提供更為方便、人性的服務(wù)。
1.系統(tǒng)原理
本課題首先進(jìn)行系統(tǒng)總體設(shè)計(jì),結(jié)合底層ZigBee無(wú)線傳感網(wǎng)絡(luò)的特點(diǎn)和系統(tǒng)總體網(wǎng)絡(luò)監(jiān)控的要求,將該系統(tǒng)設(shè)計(jì)分為四部分:無(wú)線傳輸模塊、數(shù)據(jù)處理模塊、以太網(wǎng)傳輸模塊、上位機(jī)顯示界面。然后對(duì)ZigBee協(xié)議標(biāo)準(zhǔn)做了全面地研究分析,同時(shí)給出了基于CC2430的無(wú)線傳輸模塊的軟硬件設(shè)計(jì)和星型網(wǎng)絡(luò)搭建,并給出了測(cè)試結(jié)果。接著設(shè)計(jì)了基于PIC32的數(shù)據(jù)處理模塊,給出了硬件電路和外圍輔助電路設(shè)計(jì)方案,并為其移植了實(shí)時(shí)操作系統(tǒng)uC/OS-II。本設(shè)計(jì)完成了基于DP43848C的以太網(wǎng)傳輸模塊設(shè)計(jì)和系統(tǒng)的以太網(wǎng)通信程序的設(shè)計(jì),實(shí)現(xiàn)了從底層ZigBee無(wú)線傳感網(wǎng)絡(luò)的數(shù)據(jù)采集最終到監(jiān)控機(jī)的數(shù)據(jù)傳輸并測(cè)試成功。最后在VC++6.0環(huán)境下,應(yīng)用Windows Sockets套件接口開(kāi)發(fā)顯示界面對(duì)底層采集的數(shù)據(jù)分類顯示。
圖1 系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖
如上圖1所示,本設(shè)計(jì)主要分為以下部分:
(1)無(wú)線傳輸模塊:基于CC2430芯片(包括無(wú)線收發(fā)及傳感器)設(shè)計(jì)無(wú)線傳感網(wǎng)絡(luò)模塊,并完成各節(jié)點(diǎn)模塊的軟件編寫(xiě)和節(jié)點(diǎn)間通信調(diào)試。
(2)數(shù)據(jù)處理模塊:基于PIC32芯片設(shè)計(jì)數(shù)據(jù)處理模塊,并完成程序編寫(xiě),同時(shí)在該系統(tǒng)上移植嵌入式實(shí)時(shí)操作系統(tǒng)uC/OSII。
(3)以太網(wǎng)傳輸模塊:利用網(wǎng)絡(luò)接口芯片DP43848C設(shè)計(jì)以太網(wǎng)通信模塊,并完成通信測(cè)試程序編寫(xiě)。
(4)上位機(jī)顯示界面設(shè)計(jì):利用VC++6.0基于WindowsSockcts編寫(xiě)上位機(jī)界面程序,使經(jīng)過(guò)數(shù)據(jù)處理模塊處理后的數(shù)據(jù)通過(guò)以太網(wǎng)上傳到上位機(jī)(PC機(jī))界面上,實(shí)現(xiàn)統(tǒng)一管理。
1.1.智能家居監(jiān)控系統(tǒng)中的ZigBee無(wú)線傳感網(wǎng)絡(luò)方案
ZigBee是一組基于IEEE批準(zhǔn)通過(guò)的802.15.4無(wú)線標(biāo)準(zhǔn)研發(fā)的,有關(guān)組網(wǎng)、安全和應(yīng)用軟件方面的技術(shù)標(biāo)準(zhǔn)。IEEE無(wú)線個(gè)人區(qū)域網(wǎng)工作組的IEEE 802.15.4技術(shù)標(biāo)準(zhǔn)是ZigBee技術(shù)的基礎(chǔ)。它采用跳頻技術(shù),.使用的頻段分別為2.4GHz( ISM ), 868 MHz(歐洲)及915 MHz(美國(guó)),而且均為免執(zhí)照頻段,有效覆蓋范圍為1075 m。所支持的數(shù)據(jù)傳輸速率為10Kb/s--250Kb/s。功耗低,在低耗電待機(jī)模式下,兩節(jié)普通5號(hào)干電池可以6個(gè)月到2年。網(wǎng)絡(luò)容量大,每個(gè)ZigBee網(wǎng)絡(luò)最多可支持255個(gè)設(shè)備。成本低。由于ZigBee數(shù)據(jù)傳輸速率低,協(xié)議簡(jiǎn)單,所以大大降低了成本。
要從以上這些無(wú)線射頻技術(shù)中選擇一種作為本設(shè)計(jì)的無(wú)線通信方案,需要考慮的是:該方案是否能夠滿足家庭網(wǎng)絡(luò)的成本要求,還有就是功耗和網(wǎng)絡(luò)容量能否滿足家庭要求。而這些問(wèn)題在ZigBee技術(shù)面前都將不復(fù)存在。在智能家居系統(tǒng)中,將ZigBee無(wú)線傳感網(wǎng)絡(luò)技術(shù)應(yīng)用于家庭網(wǎng)絡(luò)己成為趨勢(shì)。這不僅僅是因?yàn)閆igBee無(wú)線傳感網(wǎng)絡(luò)可以提供更大的靈活性、流動(dòng)性,省去花在綜合布線上的費(fèi)用和精力,而且更因?yàn)樗霞彝ゾW(wǎng)絡(luò)的通訊特點(diǎn)。所以本智能家居監(jiān)控系統(tǒng)采用ZigBee技術(shù)作為智能家居中無(wú)線傳感網(wǎng)絡(luò)的設(shè)計(jì)方案。
本智能家居監(jiān)控系統(tǒng)中的無(wú)線傳感網(wǎng)絡(luò)采用星型連接,主要包括了一個(gè)家庭網(wǎng)關(guān)以及若干個(gè)無(wú)線通信子節(jié)點(diǎn)。家庭網(wǎng)關(guān)上有一個(gè)無(wú)線收發(fā)模塊(主節(jié)點(diǎn)FFD ),而其他的無(wú)線通信子節(jié)點(diǎn)則作為End Device安放在家用電器、三表和安防傳感器上,通過(guò)這些無(wú)線收發(fā)模塊,數(shù)據(jù)就在主節(jié)點(diǎn)和子節(jié)點(diǎn)之間進(jìn)行傳輸。智能家居中的無(wú)線傳感網(wǎng)絡(luò)結(jié)構(gòu)如下圖2 所示。
圖2 智能家居中的無(wú)線傳感網(wǎng)絡(luò)結(jié)構(gòu)
1.2.智能家居監(jiān)控系統(tǒng)中的有線網(wǎng)絡(luò)方案
在單個(gè)家庭中的網(wǎng)絡(luò)連接可以選用無(wú)線傳感網(wǎng)絡(luò),而如果要對(duì)整個(gè)一棟大樓、一個(gè)小區(qū)進(jìn)行統(tǒng)一化的管理,無(wú)線傳感網(wǎng)絡(luò)的優(yōu)勢(shì)就不那么明顯了,而且對(duì)于整個(gè)小區(qū)的網(wǎng)絡(luò)來(lái)說(shuō),它所承載的數(shù)據(jù)流量就很大了,對(duì)于無(wú)線傳感網(wǎng)絡(luò)這種低通信速率網(wǎng)絡(luò)來(lái)說(shuō)是不合適的。
以太網(wǎng)是當(dāng)今現(xiàn)有局域網(wǎng)采用的最通用的通信協(xié)議標(biāo)準(zhǔn)。它連接方便,可屏蔽干擾,通信速率可達(dá)10/100/1000Mbps以上,而且成本低廉。目前大部分的小區(qū)都要寬帶網(wǎng),因此集中網(wǎng)絡(luò)管理采用比較流行的而且易于實(shí)現(xiàn)的以太網(wǎng)連接具有良好的性價(jià)比。
在本課題中,家庭網(wǎng)絡(luò)部分采用無(wú)線傳感網(wǎng)絡(luò)來(lái)監(jiān)控,無(wú)線采集協(xié)調(diào)器再將采集的數(shù)據(jù)發(fā)送到數(shù)據(jù)處理模塊,最后經(jīng)過(guò)處理后的數(shù)據(jù)將通過(guò)以太網(wǎng)傳輸?shù)缴衔粰C(jī)上。從而組成小區(qū)的監(jiān)控系統(tǒng),如下圖3所示。
圖3 小區(qū)監(jiān)控系統(tǒng)
1.3.uC/OS-II的移植
實(shí)時(shí)系統(tǒng)中任務(wù)的執(zhí)行大多數(shù)都是由外部事件觸發(fā)的。也就是說(shuō),實(shí)時(shí)操作系統(tǒng)的主要工作就是響應(yīng)并處理各種外部事件。因此,對(duì)于每個(gè)外部事件都對(duì)應(yīng)有一個(gè)處理這個(gè)事件的程序模塊,這些模塊就是任務(wù)。在移植前,把問(wèn)題分析清楚,將問(wèn)題分割成多個(gè)任務(wù),每個(gè)任務(wù)都是整個(gè)應(yīng)用的一部分,被賦予一定的優(yōu)先級(jí),有自己的一套CPU寄存器和堆??臻g。任務(wù)執(zhí)行一次后,設(shè)置延時(shí)OSTDIy,表明經(jīng)過(guò)OSTDIy個(gè)定時(shí)器中斷周期后任務(wù)再次運(yùn)行,然后進(jìn)行任務(wù)切換,讓處于就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)運(yùn)行。uC/OS-II的任務(wù)實(shí)際上就是一段程序,在運(yùn)行該程序時(shí),可以認(rèn)為CPU就完全屬于該程序本身。在本設(shè)計(jì)中,所移植的系統(tǒng)建立了8個(gè)任務(wù)(參照見(jiàn)圖2):
0號(hào)任務(wù),用來(lái)監(jiān)測(cè)安防傳感器(煤氣泄露)。在執(zhí)行該任務(wù)時(shí)通過(guò)ZigBee網(wǎng)絡(luò)協(xié)調(diào)器選擇與安防傳感器(煤氣泄露)終端節(jié)點(diǎn)通信,采集傳感器數(shù)據(jù)。
1號(hào)任務(wù),用來(lái)監(jiān)測(cè)安防傳感器(溫度)。在執(zhí)行該任務(wù)時(shí)通過(guò)ZigBee網(wǎng)絡(luò)協(xié)調(diào)器選擇與安防傳感器(溫度)終端節(jié)點(diǎn)通信,采集傳感器數(shù)據(jù)。
2號(hào)任務(wù),與0號(hào)任務(wù)對(duì)應(yīng),將安防傳感器(煤氣泄露)采集的數(shù)據(jù)最終通過(guò)以太網(wǎng)上傳到上位機(jī)上。
3號(hào)任務(wù),與1號(hào)任務(wù)對(duì)應(yīng),將安防傳感器(溫度)采集的數(shù)據(jù)最終通過(guò)以太網(wǎng)上傳到上位機(jī)上。
4號(hào)任務(wù),用來(lái)控制冰箱、空調(diào)、電視、燈的電源開(kāi)關(guān),通常情況下,這些開(kāi)關(guān)型控制,只用一個(gè)任務(wù)就可以完成,只要在執(zhí)行該任務(wù)時(shí),同時(shí)通過(guò)ZigBee網(wǎng)絡(luò)協(xié)調(diào)器同時(shí)發(fā)送一個(gè)16位地址符就可以選擇出所要執(zhí)行開(kāi)關(guān)任務(wù)的終端節(jié)點(diǎn)。
5號(hào)任務(wù),單獨(dú)為窗簾建立一個(gè)任務(wù)。因?yàn)榇昂煹目刂剖且粋€(gè)閉環(huán)控制。
6號(hào)任務(wù),為電表、水表、燃?xì)獗淼臄?shù)據(jù)采集建立一個(gè)任務(wù)。因?yàn)樗?、電表、燃?xì)獗淼臄?shù)據(jù)對(duì)實(shí)時(shí)性要求沒(méi)有那么高,可以分時(shí)采集,在執(zhí)行該任務(wù)時(shí),同時(shí)通過(guò)ZigBee網(wǎng)絡(luò)協(xié)調(diào)器同時(shí)發(fā)送一個(gè)16位地址符就可以選擇出所要執(zhí)行數(shù)據(jù)采集任務(wù)的終端節(jié)點(diǎn),另外,還要為該任務(wù)調(diào)用一個(gè)延時(shí)函數(shù),并設(shè)置延時(shí)時(shí)鐘周期數(shù),從而最終實(shí)現(xiàn)在三表間輪流數(shù)據(jù)采集。
7號(hào)任務(wù),用來(lái)對(duì)三表數(shù)據(jù)上傳到上位機(jī)建立任務(wù)。對(duì)應(yīng)于任務(wù)6,分別將從水、電、燃?xì)獗聿杉臄?shù)據(jù)立即上傳。
它們具有各自獨(dú)立的堆棧空間和不同的靜態(tài)優(yōu)先級(jí),0號(hào)任務(wù)優(yōu)先級(jí)最高,7號(hào)任務(wù)優(yōu)先級(jí)最低。對(duì)于0號(hào)任務(wù)---3號(hào)任務(wù),由于它們是保證家居安全的是不允許中斷響應(yīng)的,所以在這些任務(wù)開(kāi)始執(zhí)行時(shí),一定要關(guān)閉中斷。
1.4.基于Visual C++的上位機(jī)顯示界面設(shè)計(jì)
在整個(gè)智能家居監(jiān)控系統(tǒng)的設(shè)計(jì)當(dāng)中,上位機(jī)(PC機(jī))可以為用戶提供一個(gè)友好、交互的人機(jī)界面。假如管理人員需要調(diào)用小區(qū)中任意一戶的數(shù)據(jù)記錄時(shí),可以查詢?cè)撋衔粰C(jī)的存儲(chǔ)的數(shù)據(jù)即可。這里我們利用Visual C++編寫(xiě)上位機(jī)的管理界面,主要采用了Windows Sockets網(wǎng)絡(luò)接口控件,大大簡(jiǎn)化了設(shè)計(jì)難度。
首先,Windows Sockets作為Microsoft Windows的網(wǎng)絡(luò)程序設(shè)計(jì)接口,它是從Berkeley Sockets擴(kuò)展而來(lái)的,以動(dòng)態(tài)鏈接庫(kù)的形式提供給我們使用。重要的是,Windows Sockets是基于TCP/IP協(xié)議的,應(yīng)用程序調(diào)用Windows Sockets的API實(shí)現(xiàn)相互之間的通信,而Windows Sockets則是利用下層的網(wǎng)絡(luò)通訊協(xié)議功能和操作系統(tǒng)調(diào)用實(shí)現(xiàn)實(shí)際的通訊工作的。
2.軟件流程介紹
2.1智能家居中ZigBee無(wú)線傳感網(wǎng)絡(luò)中終端節(jié)點(diǎn)流程
網(wǎng)絡(luò)建立成功后,需要添加終端設(shè)備(終端節(jié)點(diǎn))進(jìn)入這個(gè)網(wǎng)絡(luò)。允許設(shè)備同網(wǎng)絡(luò)連接的流程圖如圖4所示。終端設(shè)備通過(guò)發(fā)送NLME-JOIN.request原語(yǔ)來(lái)開(kāi)始執(zhí)行孤點(diǎn)方式同網(wǎng)絡(luò)連接,其原語(yǔ) RejoinNetwork參數(shù)設(shè)置為T(mén)RUE。
圖4 終端節(jié)點(diǎn)加入網(wǎng)絡(luò)流程圖
首先,終端設(shè)備的網(wǎng)絡(luò)層管理實(shí)體將請(qǐng)求MAC層對(duì)PHY層所規(guī)定的所有有效通信信道進(jìn)行孤點(diǎn)掃描。通過(guò)向MAC層發(fā)送MLME--SCAN.request原語(yǔ)開(kāi)始進(jìn)行孤點(diǎn)掃描,其掃描的結(jié)果通過(guò)MLME--SCAN.confirm原語(yǔ)返回到網(wǎng)絡(luò)層管理實(shí)體。然后,如果該終端設(shè)備掃描到網(wǎng)絡(luò)協(xié)調(diào)器設(shè)備,網(wǎng)絡(luò)層管理實(shí)體將通過(guò)發(fā)送MLME--JOIN.confirm原語(yǔ)向其上層報(bào)告請(qǐng)求連接,其原語(yǔ)的狀態(tài)參數(shù)設(shè)置為SUCCESS,否則設(shè)置為NO-NETWORKS。
整個(gè)星型網(wǎng)絡(luò)的組網(wǎng)的軟件流程圖如下圖5所示。
當(dāng)網(wǎng)絡(luò)協(xié)調(diào)器正常工作后,則建立網(wǎng)絡(luò)成功。這時(shí)候再打開(kāi)兩個(gè)或更多終端節(jié)點(diǎn),就能讓這些節(jié)點(diǎn)加入網(wǎng)絡(luò)。
圖5星型網(wǎng)絡(luò)組網(wǎng)流程圖
推薦閱讀:30例經(jīng)典檢測(cè)、監(jiān)測(cè)、監(jiān)控系統(tǒng)完整解決方案,從實(shí)際應(yīng)用需求出發(fā)