徐希坤1,耿建平1,,葉新2,,楊朝嵐2 ,李景景3
?。?.桂林電子科技大學(xué) 電子工程與自動化學(xué)院,,桂林 541004,;2.中國科學(xué)院深圳先進(jìn)技術(shù)研究院,,深圳 518055;3.中原工學(xué)院 電子信息學(xué)院,,鄭州450007)
摘要:為了實現(xiàn)家居安全,、環(huán)境信息的遠(yuǎn)程實時監(jiān)控,設(shè)計了一種基于ARM與ZigBee技術(shù)的家庭安全監(jiān)控系統(tǒng)。該系統(tǒng)以CC2530芯片采集溫度,、煙霧,、CO濃度等傳感器信息,并通過ZigBee無線網(wǎng)絡(luò)將采集的節(jié)點(diǎn)數(shù)據(jù)傳輸?shù)紸RM服務(wù)器,,ARM服務(wù)器將數(shù)據(jù)通過GPRS網(wǎng)絡(luò)發(fā)送至Android手機(jī)客戶端,。ARM服務(wù)器以μC/OSII為平臺,引入emWIN 圖形用戶接口,通過加權(quán)算法來判斷火災(zāi)的發(fā)生,,從而減小其漏報率和誤報率,。當(dāng)發(fā)生火災(zāi)時ARM服務(wù)器會自動撥打報警電話,同時也可以通過手機(jī)客戶端發(fā)送家居控制命令,,便于火災(zāi)的及時救援,。實踐證明該系統(tǒng)具有實用性好、可靠性高,、反應(yīng)速度快等特點(diǎn),,可以有效地對家居安全、環(huán)境信息進(jìn)行全覆蓋和連續(xù)的監(jiān)控,。
關(guān)鍵詞:ARM,;μC/OS-II;Android,;ZigBee,;GPRS,;家居安全
0引言
智能家居系統(tǒng)是將各種傳感器、電子電氣設(shè)備通過網(wǎng)絡(luò)連接起來,,組成一個可實現(xiàn)家居環(huán)境監(jiān)測,、家居設(shè)備自動化以及家居安防等功能的綜合管理系統(tǒng)[1]。隨著經(jīng)濟(jì)的發(fā)展,,人們的生活水平和生活質(zhì)量日益提高,,各種家用電器和生活燃?xì)庖沧哌M(jìn)了千家萬戶,在方便人們?nèi)粘I畹耐瑫r,由于電器超負(fù)荷運(yùn)轉(zhuǎn),、電線超負(fù)載使用,、材料老化和燃?xì)庑孤┑仍斐傻闹苯踊蜷g接的家庭火災(zāi)、煤氣泄漏等事故也頻繁發(fā)生,。因此設(shè)計一套能夠預(yù)防和減少家居危險事故發(fā)生的智能家居安全監(jiān)控系統(tǒng)就顯得十分必要,。傳統(tǒng)意義上家居監(jiān)控系統(tǒng)都是以獨(dú)立的傳感器作為監(jiān)測點(diǎn),各個監(jiān)測點(diǎn)以孤立的形式存在,,發(fā)生誤判,、漏判的幾率非常大,且大部分以計算機(jī)作為終端,,不便于實施遠(yuǎn)程監(jiān)控[2],。綜合考慮以上問題,設(shè)計出一種以Android智能手機(jī)作為家居終端監(jiān)控平臺,,以ARM微控制器為核心的基于μC/OSII實時操作系統(tǒng)的服務(wù)器,,TFT-LCD液晶模塊實時顯示,通過ZigBee采集傳感器信息,,通過GPRS遠(yuǎn)程數(shù)據(jù)傳輸,,最終實現(xiàn)智能家居安全監(jiān)測系統(tǒng)的本地和遠(yuǎn)程的實時監(jiān)控。
1系統(tǒng)總體設(shè)計
系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示,,該系統(tǒng)主要由ARM服務(wù)器,、Android客戶端、ZigBee無線傳感器網(wǎng)絡(luò)3部分構(gòu)成,。ZigBee無線傳感器網(wǎng)絡(luò)采集家居中的環(huán)境,、安防等傳感器數(shù)據(jù)信息,然后發(fā)送至ZigBee協(xié)調(diào)器,,ZigBee協(xié)調(diào)器通過串口通信將數(shù)據(jù)發(fā)送至ARM服務(wù)器,,ARM服務(wù)器對接收到的數(shù)據(jù)進(jìn)行相應(yīng)的處理、存儲,、顯示,,然后將數(shù)據(jù)通過GPRS無線網(wǎng)絡(luò)送至Android客戶端。當(dāng)發(fā)生危險情況(如可燃性氣體泄漏、火災(zāi)等)時,,ARM服務(wù)器將會自動報警,,并提供家居所在地位置信息,同時將相應(yīng)的信息發(fā)送至Android客戶端,,用戶可以通過Android客戶端發(fā)送指令對家居設(shè)備進(jìn)行相應(yīng)的控制(如打開水龍頭,、切斷電源等)。
2系統(tǒng)硬件設(shè)計
2.1ARM服務(wù)器的設(shè)計
基于ARM架構(gòu)的處理器廣泛應(yīng)用在嵌入式領(lǐng)域[3],。本系統(tǒng)ARM服務(wù)器以STM32F103ZET6微控制器為核心,,該微控制器是基于CortexM3內(nèi)核的微處理器,具有功耗低,、性價比高等特點(diǎn),,并且其核心是基于哈佛架構(gòu)的3級流水線內(nèi)核,采用新的Thumb2指令集,,使數(shù)據(jù)運(yùn)算處理可以取得較快較理想的效果[4],。
ARM服務(wù)器主要的作用是接收ZigBee協(xié)調(diào)器發(fā)送來的傳感器信息,對接收的數(shù)據(jù)采用多次采樣求平均值的處理方式,。SD卡通過SDIO接口同ARM服務(wù)器連接來完成數(shù)據(jù)的大容量存儲并建立文件系統(tǒng),。以SSD1963作為控制器的4.3英寸TFTLCD通過FSMC(靈活的靜態(tài)存儲控制器)與微控制器連接能夠大大提高數(shù)據(jù)的讀寫速度并進(jìn)行數(shù)據(jù),顯示,。GPRS將數(shù)據(jù)發(fā)送至Android客戶端,,實現(xiàn)移動終端和ARM服務(wù)器的人際交互。ARM服務(wù)器的人際交互是以XPT2046觸摸控制器為核心來實現(xiàn)的,。ARM服務(wù)器終端同時還連接蜂鳴器作為報警器件。GPS模塊進(jìn)行家居位置的定位,。ARM服務(wù)器系統(tǒng)結(jié)構(gòu)圖如圖2所示,。
2.2ZigBee無線傳感器節(jié)點(diǎn)的硬件設(shè)計
ZigBee無線傳感器網(wǎng)絡(luò)由協(xié)調(diào)器節(jié)點(diǎn)和終端節(jié)點(diǎn)組成,,協(xié)調(diào)器節(jié)點(diǎn)主要用于建立無線網(wǎng)絡(luò),,是整個網(wǎng)絡(luò)的維護(hù)者,接收終端節(jié)點(diǎn)的傳感器數(shù)據(jù)并上傳至服務(wù)器,。終端節(jié)點(diǎn)用來采集傳感器數(shù)據(jù),,在非工作狀態(tài)時可以進(jìn)入休眠狀態(tài)。ZigBee節(jié)點(diǎn)采用CC2530芯片,,CC2530內(nèi)嵌增強(qiáng)型8051 CPU,,結(jié)合了ZigBee協(xié)議棧Z-Stack,提供一個將ZigBee,、IEEE 802.15.4,、2.4 GHz和RF收發(fā)器結(jié)為一體的強(qiáng)大而完整的解決方案[56],能夠以非常低的成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。
ZigBee節(jié)點(diǎn)硬件圖如圖3所示,。ZigBee終端節(jié)點(diǎn)可以檢測環(huán)境信息,、安防信息。環(huán)境信息的檢測通過溫濕度傳感器,、光照傳感器,、PM2.5傳感器等完成。安防信息檢測通過煙霧傳感器,、CO濃度傳感器,、紅外熱釋電傳感器等完成。ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)采用兩節(jié)5號電池供電,,經(jīng)過DCDC芯片CP1402轉(zhuǎn)換為3.3 V,,同時采用模擬開關(guān)來控制各個傳感器的供電,以不需要數(shù)據(jù)采集時降低功耗,。
2.2.1放大電路的設(shè)計
對于模擬輸出的傳感器,,其輸出都在mV級。如光照強(qiáng)度檢測器件BPW34S在光照強(qiáng)度為8~3 500 lux時輸出電壓范圍是220~420 mV之間,,因此需要放大處理,。放大電路采用AD620芯片,其輸入微調(diào)電壓最大為50 μV,,放大器的增益為1~10 000倍,,放大電路原理圖如圖4所示。
為避免高頻信號的干擾,,在前端使用簡單的RC無緣低通濾波電路,。放大倍數(shù)計算公式如下:
調(diào)整R9的值即可以改變電路的放大倍數(shù)。經(jīng)實驗室測試,,對于0.1 mV以上的信號可以實現(xiàn)很好的放大功能,,為小信號的前期后期處理做好了準(zhǔn)備。
2.2.2低通濾波器的設(shè)計
為了減小干擾,,提高系統(tǒng)的可靠性,,設(shè)計了硬件濾波器。對于煙霧傳感器MQ2,,因為工作頻率極低,,導(dǎo)致低頻噪聲對其影響較大。因此設(shè)計了截止頻率為0.16 Hz的極低頻率的低通濾波器,,即使是這樣的低通濾波器,,與30 s響應(yīng)的MQ2相比,它對傳感器響應(yīng)時間的影響也可忽略,。
4階低通濾波器原理圖如圖5所示,,它由兩個二階壓控電壓源低通濾波器(由TL072運(yùn)算放大器組成)串聯(lián)而成。在Multisim軟件中仿真低通濾波器的幅頻特性如圖6所示。從圖中可以看出,,在-3 dB處頻率約為0.16 Hz,,衰減比較迅速,滿足了設(shè)計需求,。
2.3電源管理模塊的設(shè)計
電源管理模塊是整個系統(tǒng)的心臟,,電源的好壞對整個系統(tǒng)的安全、正常,、可靠運(yùn)行至關(guān)重要,。整個系統(tǒng)采用直流12 V供電,系統(tǒng)中各元件的工作電壓存在差異,,GSM/GPRS模塊使用3.9 V供電,,其余部分采用3.3 V供電。本設(shè)計中采用DCDC轉(zhuǎn)換電路來實現(xiàn)這些功能,,AP1501將12 V轉(zhuǎn)換到5.5 V,,MIC29302BT將5.5 V轉(zhuǎn)換到3.9 V,NCP511SN將5.5 V轉(zhuǎn)換到3.3 V,,從而得到系統(tǒng)工作所需要的電壓,。為了實現(xiàn)低功耗,GSM/GPRS模塊和GPS模塊的供電可以通過ARM處理器對其控制,。電壓轉(zhuǎn)換電路如圖7所示,。
3系統(tǒng)軟件設(shè)計
3.1服務(wù)器的軟件設(shè)計
ARM服務(wù)器程序移植了μC/OSII實時操作系統(tǒng),μC/OSII是基于優(yōu)先級的可剝奪型內(nèi)核操作系統(tǒng),,且源碼公開,,內(nèi)核小巧,特別適合應(yīng)用在實時性要求較高的場合[7],。μC/OSII絕大部分采用C語言編寫,,只有極少數(shù)與處理器硬件相關(guān)的代碼采用匯編語言實現(xiàn),最小內(nèi)核可編譯至2 KB,,特別適合小型控制系統(tǒng)[8]。為了實現(xiàn)服務(wù)器更好的人機(jī)交互界面,,在移植μC/OSII的基礎(chǔ)上移植了emWin,,它為任何的LCD圖形顯示提供高效的圖形接口,接口實現(xiàn)與硬件平臺無關(guān),。emWin支持多任務(wù),,結(jié)合μC/OSII系統(tǒng)使用,可為用戶帶來良好的人機(jī)交互體驗,。
圖8ARM服務(wù)器設(shè)計程序流程圖該系統(tǒng)中,,ARM服務(wù)器的主要任務(wù)有GPS位置信息任務(wù)、數(shù)據(jù)顯示任務(wù)、數(shù)據(jù)存儲任務(wù),、報警任務(wù),、數(shù)據(jù)發(fā)送任務(wù)等。系統(tǒng)上電后首先初始化控制器和外設(shè),,然后初始化μC/OSII和emWin,。初始化完成后,設(shè)置中斷服務(wù)子程序,,開啟中斷,,創(chuàng)建任務(wù)間通信的消息量和郵箱。最后創(chuàng)建各個任務(wù),,此時的各個任務(wù)都為就緒狀態(tài),,且根據(jù)任務(wù)的性質(zhì)賦予不同的優(yōu)先級。ARM服務(wù)器的首要任務(wù)是讀取家居的傳感器信息,,其優(yōu)先級賦予最高,,顯示及觸摸任務(wù)對時間要求不嚴(yán),優(yōu)先級可以賦予最低優(yōu)先級,,任務(wù)的優(yōu)先級順序如圖8所示,。操作系統(tǒng)啟動任務(wù)調(diào)度后就不斷地輪詢查詢是否有任務(wù)發(fā)生,當(dāng)沒有任務(wù)時使系統(tǒng)進(jìn)入休眠模式以降低功耗,。
3.2ZigBee傳感器網(wǎng)絡(luò)的軟件設(shè)計
ZigBee技術(shù)具有強(qiáng)大的組網(wǎng)能力,,可以形成星形、樹形和網(wǎng)狀網(wǎng)絡(luò),。本系統(tǒng)組建的家庭網(wǎng)絡(luò)采用星形拓?fù)浣Y(jié)構(gòu),。傳感器網(wǎng)絡(luò)的軟件設(shè)計是基于ZStack開發(fā)的,ZStack工程文件由操作系統(tǒng)層(OSAL),、硬件抽象層(HAL),、媒體接入層(MAC)、網(wǎng)絡(luò)層(NWK),、調(diào)試接口層(MT)以及應(yīng)用層(APP)組成,。數(shù)據(jù)采集工作主要在應(yīng)用層上實現(xiàn),操作系統(tǒng)以輪詢的方式查詢各層的事件并進(jìn)行處理,。ZigBee數(shù)據(jù)采集節(jié)點(diǎn)程序流程圖如圖9所示,。
3.3GPRS/GSM模塊程序設(shè)計
本系統(tǒng)采用SIMCOM公司的SIM900A工業(yè)級雙頻GSM/GPRS模塊,該模塊支持RS232串口與微控制器連接,,減少外圍電路的設(shè)計,。
GPRS/GSM主要通過AT指令集傳輸數(shù)據(jù),AT指令集是從終端設(shè)備向終端適配器發(fā)送數(shù)據(jù)的一種命令集合,。AT指令集的一般格式為:
AT+“AT命令”=“參數(shù)”
3.3.1GPRS服務(wù)器的指令設(shè)置
GPRS通信采用TCP協(xié)議,,TCP是基于連接的協(xié)議,,在收發(fā)數(shù)據(jù)前必須和對方建立可靠的連接。GPRS服務(wù)器設(shè)置指令如下:
AT+CGCLASS=“B”,;
AT+CGDCONT=1,,“IP”,“CMNET”,;
AT+CGATT=1,;
AT+CIPCSGP=1,“CMNET”,;
通過上述4條指令設(shè)置移動臺類別,、連接方式、接入點(diǎn)和附著GPRS業(yè)務(wù),。再發(fā)送以下指令:
AT+CLPORT=“TCP”,,“本地連接端口”;
AT+CIPSTART=“TCP”,,“IP”,,“連接端口”;
即設(shè)置好GPRS與客戶端的數(shù)據(jù)傳輸,。
3.3.2撥打電話的指令設(shè)置
撥打報警電話的指令設(shè)置如下:
ATE1//設(shè)置回顯
AT+COLP=1//設(shè)置被呼叫號碼顯示
ATD119//撥打119進(jìn)行報警
通過上述指令的設(shè)置,,在發(fā)生火災(zāi)時即可撥打報警電話。
3.4GPS模塊程序設(shè)計
GPS采用UBLOX NEO6M模塊,,該模塊支持最快5 Hz的測量頻率,。GPS模塊通過串口與STM32F103ZET6連接,串口波特率為115 200 b/s,,為減輕CPU負(fù)擔(dān)采用DMA的數(shù)據(jù)傳輸方式,。
GPS采用NMEA-0183協(xié)議,該協(xié)議采用ASCII碼來傳遞GPS定位信息,,其幀格式如下:
$aaccc,ddd,ddd,…,ddd*hh(CR)(LF)
其中$是幀命令起始位,,aaccc是地址域,ddd…ddd是數(shù)據(jù),,*是校驗和前綴,,hh是校驗和,(CR)(CF)是幀結(jié)束符,。程序通過對$GPRMC命令的解析來獲取經(jīng)緯度信息,、UTC時間、定位狀態(tài),。
3.5Android客戶端的軟件設(shè)計
系統(tǒng)選擇Google的Android手機(jī)操作系統(tǒng)作為移動終端平臺,在Eclipse環(huán)境下開發(fā),。Android客戶端通過Socket與ARM服務(wù)器進(jìn)行通信,,將采集的數(shù)據(jù)信息上傳至移動終端,。Socket類是負(fù)責(zé)處理客戶端通信的Java類,通過這個類可以連接到指定的IP或者域名的服務(wù)器上,,并且可以與服務(wù)器交互數(shù)據(jù)[9],。Android客戶端軟件設(shè)計流程圖如圖10所示。
4實驗結(jié)果
在實驗室條件下進(jìn)行測試,,ZigBee網(wǎng)絡(luò)可以采集傳感器信息,,將傳感器信息傳至ARM服務(wù)器,TFT-LCD可以顯示傳感器信息,,同時通過GPRS網(wǎng)絡(luò)連接Internet向Android客戶端發(fā)送數(shù)據(jù),;Android客戶端可以顯示傳感器數(shù)據(jù)信息,發(fā)送控制命令到服務(wù)器控制家居中的設(shè)備,。當(dāng)檢測到異常信息(如燃?xì)庑孤?、火?zāi)等)時,Android客戶端和服務(wù)器會同時撥打火警報警電話以便相關(guān)的部門采取救援措施,。Android移動終端顯示界面如圖11所示,。
5結(jié)論
運(yùn)用ZigBee無線通信技術(shù)設(shè)計的智能家居安全監(jiān)測系統(tǒng),,能夠及時采集家中的環(huán)境與安防信息,,采用μC/OSII操作系統(tǒng)既提高了系統(tǒng)的實時性又實現(xiàn)了家居安全信息的集中管理。另外系統(tǒng)采用Android智能手機(jī)作為控制終端,,具有操作簡單,、可移植性強(qiáng)的特點(diǎn),實現(xiàn)了對智能家居的安全監(jiān)控和預(yù)測,,具有一定的技術(shù)意義和實用價值,。
參考文獻(xiàn)
[1] SHERMAN M,, JOSEPH P A. Smart home technologies[C]. Proceedings of the Information Systems Education Conference,2008(25). [2] ALAM M R,, REAZ M B. A Review of smart homespast, present, and future[J]. IEEE Transcation on System Man and Cybernetics Part CApplications and Reviews,2012,42(6): 11901203.
[3] 師振偉.基于 ARM 和 ZigBee 的智能家居無線終端控制系統(tǒng)的設(shè)計[D]. 西安:西安工業(yè)大學(xué),,2013.
?。?] 王永虹,徐偉,,郝立平.STM32系列ARM CortexM3微控制器原理與實踐[M]. 北京:北京航空航天大學(xué)出版社,,2008.
[5] Liao Jianming, He Xueqin, Lu Guoming, et al. The research and design of ZigBee wireless networking based on CC2530[C]. International Computer Conference on Wavelet Active Media Technology and Information Processing, 2013: 263266.
?。?] Texas Instruments Inc. CC2530 Datasheet[Z]. 2011.
?。?] 陳磊,林明.基于μC/OSII的模糊自適應(yīng)溫度控制系統(tǒng)設(shè)計[J].科學(xué)技術(shù)與工程,,2012,12(26):66346639.
?。?] LABROSSE J J.嵌入式實時操作系統(tǒng)μC/OSII(第2版)[M].邵貝貝,,譯.北京:北京航空航天大學(xué)出版社,2003.
[9] 李寧.Android開發(fā)權(quán)為指南[M].北京:人民郵電出版社,2012.