徐希坤,耿建平,葉 新,楊朝嵐 ,李景景
(1.桂林電子科技大學 電子工程與自動化學院,桂林 541004;2.中國科學院深圳先進技術研究院,深圳 518055;3.中原工學院 電子信息學院,鄭州450007)
?
基于ARM與ZigBee的家庭安全監控系統的設計*
徐希坤1,耿建平1,葉新2,楊朝嵐2,李景景3
(1.桂林電子科技大學 電子工程與自動化學院,桂林 541004;2.中國科學院深圳先進技術研究院,深圳 518055;3.中原工學院 電子信息學院,鄭州450007)
摘要:為了實現家居安全、環境信息的遠程實時監控,設計了一種基于ARM與ZigBee技術的家庭安全監控系統。該系統以CC2530芯片采集溫度、煙霧、CO濃度等傳感器信息,并通過ZigBee無線網絡將采集的節點數據傳輸到ARM服務器,ARM服務器將數據通過GPRS網絡發送至Android手機客戶端。ARM服務器以μC/OS-II為平臺,引入emWIN 圖形用戶接口,通過加權算法來判斷火災的發生,從而減小其漏報率和誤報率。當發生火災時ARM服務器會自動撥打報警電話,同時也可以通過手機客戶端發送家居控制命令,便于火災的及時救援。實踐證明該系統具有實用性好、可靠性高、反應速度快等特點,可以有效地對家居安全、環境信息進行全覆蓋和連續的監控。
關鍵詞:ARM;μC/OS-II;Android;ZigBee;GPRS;家居安全
引用格式:徐希坤,耿建平,葉新,等. 基于ARM與ZigBee的家庭安全監控系統的設計[J].微型機與應用,2016,35(12):62-66.
0引言
智能家居系統是將各種傳感器、電子電氣設備通過網絡連接起來,組成一個可實現家居環境監測、家居設備自動化以及家居安防等功能的綜合管理系統[1]。隨著經濟的發展,人們的生活水平和生活質量日益提高,各種家用電器和生活燃氣也走進了千家萬戶,在方便人們日常生活的同時,由于電器超負荷運轉、電線超負載使用、材料老化和燃氣泄漏等造成的直接或間接的家庭火災、煤氣泄漏等事故也頻繁發生。因此設計一套能夠預防和減少家居危險事故發生的智能家居安全監控系統就顯得十分必要。傳統意義上家居監控系統都是以獨立的傳感器作為監測點,各個監測點以孤立的形式存在,發生誤判、漏判的幾率非常大,且大部分以計算機作為終端,不便于實施遠程監控[2]。綜合考慮以上問題,設計出一種以Android智能手機作為家居終端監控平臺,以ARM微控制器為核心的基于μC/OS-II實時操作系統的服務器,TFT-LCD液晶模塊實時顯示,通過ZigBee采集傳感器信息,通過GPRS遠程數據傳輸,最終實現智能家居安全監測系統的本地和遠程的實時監控。
1系統總體設計

圖1 系統總體設計框圖
系統總體結構框圖如圖1所示,該系統主要由ARM服務器、Android客戶端、ZigBee無線傳感器網絡3部分構成。ZigBee無線傳感器網絡采集家居中的環境、安防等傳感器數據信息,然后發送至ZigBee協調器,ZigBee協調器通過串口通信將數據發送至ARM服務器,ARM服務器對接收到的數據進行相應的處理、存儲、顯示,然后將數據通過GPRS無線網絡送至Android客戶端。當發生危險情況(如可燃性氣體泄漏、火災等)時,ARM服務器將會自動報警,并提供家居所在地位置信息,同時將相應的信息發送至Android客戶端,用戶可以通過Android客戶端發送指令對家居設備進行相應的控制(如打開水龍頭、切斷電源等)。
2系統硬件設計
2.1ARM服務器的設計
基于ARM架構的處理器廣泛應用在嵌入式領域[3]。本系統ARM服務器以STM32F103ZET6微控制器為核心,該微控制器是基于Cortex-M3內核的微處理器,具有功耗低、性價比高等特點,并且其核心是基于哈佛架構的3級流水線內核,采用新的Thumb-2指令集,使數據運算處理可以取得較快較理想的效果[4]。
ARM服務器主要的作用是接收ZigBee協調器發送來的傳感器信息,對接收的數據采用多次采樣求平均值的處理方式。SD卡通過SDIO接口同ARM服務器連接來完成數據的大容量存儲并建立文件系統。以SSD1963作為控制器的4.3英寸TFT-LCD通過FSMC(靈活的靜態存儲控制器)與微控制器連接能夠大大提高數據的讀寫速度并進行數據,顯示。GPRS將數據發送至Android客戶端,實現移動終端和ARM服務器的人際交互。ARM服務器的人際交互是以XPT2046觸摸控制器為核心來實現的。ARM服務器終端同時還連接蜂鳴器作為報警器件。GPS模塊進行家居位置的定位。ARM服務器系統結構圖如圖2所示。

圖2 ARM服務器系統結構圖
2.2ZigBee無線傳感器節點的硬件設計
ZigBee無線傳感器網絡由協調器節點和終端節點組成,協調器節點主要用于建立無線網絡,是整個網絡的維護者,接收終端節點的傳感器數據并上傳至服務器。終端節點用來采集傳感器數據,在非工作狀態時可以進入休眠狀態。ZigBee節點采用CC2530芯片,CC2530內嵌增強型8051 CPU,結合了ZigBee協議棧Z-Stack,提供一個將ZigBee、IEEE 802.15.4、2.4 GHz和RF收發器結為一體的強大而完整的解決方案[5-6],能夠以非常低的成本建立強大的網絡節點。
ZigBee節點硬件圖如圖3所示。ZigBee終端節點可以檢測環境信息、安防信息。環境信息的檢測通過溫濕度傳感器、光照傳感器、PM2.5傳感器等完成。安防信息檢測通過煙霧傳感器、CO濃度傳感器、紅外熱釋電傳感器等完成。ZigBee網絡節點采用兩節5號電池供電,經過DC-DC芯片CP1402轉換為3.3 V,同時采用模擬開關來控制各個傳感器的供電,以不需要數據采集時降低功耗。

圖3 ZigBee節點硬件框圖
2.2.1放大電路的設計
對于模擬輸出的傳感器,其輸出都在mV級。如光照強度檢測器件BPW34S在光照強度為8~3 500 lux時輸出電壓范圍是220~420 mV之間,因此需要放大處理。放大電路采用AD620芯片,其輸入微調電壓最大為50 μV,放大器的增益為1~10 000倍,放大電路原理圖如圖4所示。

圖4 放大電路原理圖
為避免高頻信號的干擾,在前端使用簡單的RC無緣低通濾波電路。放大倍數計算公式如下:
(1)
調整R9的值即可以改變電路的放大倍數。經實驗室測試,對于0.1 mV以上的信號可以實現很好的放大功能,為小信號的前期后期處理做好了準備。
2.2.2低通濾波器的設計
為了減小干擾,提高系統的可靠性,設計了硬件濾波器。對于煙霧傳感器MQ-2,因為工作頻率極低,導致低頻噪聲對其影響較大。因此設計了截止頻率為0.16 Hz的極低頻率的低通濾波器,即使是這樣的低通濾波器,與30 s響應的MQ-2相比,它對傳感器響應時間的影響也可忽略。
4階低通濾波器原理圖如圖5所示,它由兩個二階壓控電壓源低通濾波器(由TL072運算放大器組成)串聯而成。在Multisim軟件中仿真低通濾波器的幅頻特性如圖6所示。從圖中可以看出,在-3 dB處頻率約為0.16 Hz,衰減比較迅速,滿足了設計需求。

圖5 低通濾波器原理圖

圖6 低通濾波器仿真波特圖
2.3電源管理模塊的設計
電源管理模塊是整個系統的心臟,電源的好壞對整個系統的安全、正常、可靠運行至關重要。整個系統采用直流12 V供電,系統中各元件的工作電壓存在差異,GSM/GPRS模塊使用3.9 V供電,其余部分采用3.3 V供電。本設計中采用DC-DC轉換電路來實現這些功能,AP1501將12 V轉換到5.5 V,MIC29302BT將5.5 V轉換到3.9 V,NCP511SN將5.5 V轉換到3.3 V,從而得到系統工作所需要的電壓。為了實現低功耗,GSM/GPRS模塊和GPS模塊的供電可以通過ARM處理器對其控制。電壓轉換電路如圖7所示。

圖7 電源轉換電路原理圖
3系統軟件設計
3.1服務器的軟件設計
ARM服務器程序移植了μC/OS-II實時操作系統,μC/OS-II是基于優先級的可剝奪型內核操作系統,且源碼公開,內核小巧,特別適合應用在實時性要求較高的場合[7]。μC/OS-II絕大部分采用C語言編寫,只有極少數與處理器硬件相關的代碼采用匯編語言實現,最小內核可編譯至2 KB,特別適合小型控制系統[8]。為了實現服務器更好的人機交互界面,在移植μC/OS-II的基礎上移植了emWin,它為任何的LCD圖形顯示提供高效的圖形接口,接口實現與硬件平臺無關。emWin支持多任務,結合μC/OS-II系統使用,可為用戶帶來良好的人機交互體驗。

圖8 ARM服務器設計程序流程圖
該系統中,ARM服務器的主要任務有GPS位置信息任務、數據顯示任務、數據存儲任務、報警任務、數據發送任務等。系統上電后首先初始化控制器和外設,然后初始化μC/OS-II和emWin。初始化完成后,設置中斷服務子程序,開啟中斷,創建任務間通信的消息量和郵箱。最后創建各個任務,此時的各個任務都為就緒狀態,且根據任務的性質賦予不同的優先級。ARM服務器的首要任務是讀取家居的傳感器信息,其優先級賦予最高,顯示及觸摸任務對時間要求不嚴,優先級可以賦予最低優先級,任務的優先級順序如圖8所示。操作系統啟動任務調度后就不斷地輪詢查詢是否有任務發生,當沒有任務時使系統進入休眠模式以降低功耗。
3.2ZigBee傳感器網絡的軟件設計
ZigBee技術具有強大的組網能力,可以形成星形、樹形和網狀網絡。本系統組建的家庭網絡采用星形拓撲結構。傳感器網絡的軟件設計是基于Z-Stack開發的,Z-Stack工程文件由操作系統層(OSAL)、硬件抽象層(HAL)、媒體接入層(MAC)、網絡層(NWK)、調試接口層(MT)以及應用層(APP)組成。數據采集工作主要在應用層上實現,操作系統以輪詢的方式查詢各層的事件并進行處理。ZigBee數據采集節點程序流程圖如圖9所示。

圖9 ZigBee數據采集節點程序流程圖
3.3GPRS/GSM模塊程序設計
本系統采用SIMCOM公司的SIM900A工業級雙頻GSM/GPRS模塊,該模塊支持RS232串口與微控制器連接,減少外圍電路的設計。
GPRS/GSM主要通過AT指令集傳輸數據,AT指令集是從終端設備向終端適配器發送數據的一種命令集合。AT指令集的一般格式為:
AT+“AT命令”=“參數”
3.3.1GPRS服務器的指令設置
GPRS通信采用TCP協議,TCP是基于連接的協議,在收發數據前必須和對方建立可靠的連接。GPRS服務器設置指令如下:
AT+CGCLASS=“B”;
AT+CGDCONT=1,“IP”,“CMNET”;
AT+CGATT=1;
AT+CIPCSGP=1,“CMNET”;
通過上述4條指令設置移動臺類別、連接方式、接入點和附著GPRS業務。再發送以下指令:
AT+CLPORT=“TCP”,“本地連接端口”;
AT+CIPSTART=“TCP”,“IP”,“連接端口”;
即設置好GPRS與客戶端的數據傳輸。
3.3.2撥打電話的指令設置
撥打報警電話的指令設置如下:
ATE1
//設置回顯
AT+COLP=1
//設置被呼叫號碼顯示
ATD119
//撥打119進行報警
通過上述指令的設置,在發生火災時即可撥打報警電話。
3.4GPS模塊程序設計
GPS采用U-BLOX NEO-6M模塊,該模塊支持最快5 Hz的測量頻率。GPS模塊通過串口與STM32F103ZET6連接,串口波特率為115 200 b/s,為減輕CPU負擔采用DMA的數據傳輸方式。
GPS采用NMEA-0183協議,該協議采用ASCII碼來傳遞GPS定位信息,其幀格式如下:
$aaccc,ddd,ddd,…,ddd*hh(CR)(LF)
其中$是幀命令起始位,aaccc是地址域,ddd…ddd是數據,*是校驗和前綴,hh是校驗和,(CR)(CF)是幀結束符。程序通過對$GPRMC命令的解析來獲取經緯度信息、UTC時間、定位狀態。
3.5Android客戶端的軟件設計
系統選擇Google的Android手機操作系統作為移動終端平臺,在Eclipse環境下開發。Android客戶端通過Socket與ARM服務器進行通信,將采集的數據信息上傳至移動終端。Socket類是負責處理客戶端通信的Java類,通過這個類可以連接到指定的IP或者域名的服務器上,并且可以與服務器交互數據[9]。Android客戶端軟件設計流程圖如圖10所示。

圖10 Android客戶端程序流程圖
4實驗結果
在實驗室條件下進行測試,ZigBee網絡可以采集傳感器信息,將傳感器信息傳至ARM服務器,TFT-LCD可以顯示傳感器信息,同時通過GPRS網絡連接Internet向Android客戶端發送數據;Android客戶端可以顯示傳感器數據信息,發送控制命令到服務器控制家居中的設備。當檢測到異常信息(如燃氣泄漏、火災等)時,Android客戶端和服務器會同時撥打火警報警電話以便相關的部門采取救援措施。Android移動終端顯示界面如圖11所示。

圖11 Android移動終端顯示界面
5結論
運用ZigBee無線通信技術設計的智能家居安全監測系統,能夠及時采集家中的環境與安防信息,采用μC/OS-II操作系統既提高了系統的實時性又實現了家居安全信息的集中管理。另外系統采用Android智能手機作為控制終端,具有操作簡單、可移植性強的特點,實現了對智能家居的安全監控和預測,具有一定的技術意義和實用價值。
參考文獻
[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 homes-past, present, and future[J]. IEEE Transcation on System Man and Cybernetics Part C-Applications and Reviews,2012,42(6): 1190-1203.
[3] 師振偉.基于 ARM 和 ZigBee 的智能家居無線終端控制系統的設計[D]. 西安:西安工業大學,2013.
[4] 王永虹,徐偉,郝立平.STM32系列ARM Cortex-M3微控制器原理與實踐[M]. 北京:北京航空航天大學出版社,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: 263-266.
[6] Texas Instruments Inc. CC2530 Datasheet[Z]. 2011.
[7] 陳磊,林明.基于μC/OS-II的模糊自適應溫度控制系統設計[J].科學技術與工程,2012,12(26):6634-6639.
[8] LABROSSE J J.嵌入式實時操作系統μC/OS-II(第2版)[M].邵貝貝,譯.北京:北京航空航天大學出版社,2003.
[9] 李寧.Android開發權為指南[M].北京:人民郵電出版社,2012.
*基金項目:深圳市未來產業專項資金(CXZZ20140417113430630)
中圖分類號:TN99
文獻標識碼:A
DOI:10.19358/j.issn.1674- 7720.2016.12.020
(收稿日期:2015-12-29)
作者簡介:
徐希坤(1987-),男,碩士研究生,主要研究方向:測控技術、虛擬儀器、嵌入式系統。
耿建平(1973-),男,博士,副教授,主要研究方向:測控技術、虛擬儀器、軟件。
Design of intelligent monitoring system based on ARM and ZigBee for home security
Xu Xikun1, Geng Jianping1, Ye Xin2, Yang Zhaolan2, Li Jingjing3
(1.School of Electronic Engineering &Automation,Guilin University of Electronic Technology, Guilin 541004, China;2.Shenzhen Institutes of Advanced Technology, Chinese Academy of Science, Shenzhen,518005, China;3. School of Electronic and Information Engineer, Zhongyuan University of Technology, Zhengzhou 450007, China)
Abstract:In order to realize a real-time remote monitoring of home security and environment information, a set of monitoring system for home security based on ARM and ZigBee technology is designed. The temperature value, smoke density value and CO density value in the environment have been collected through temperature sensor, smoke sensor and carbon monoxide sensor, and all the information is transmitted to the ARM server through ZigBee wireless network using CC2530.The ARM server which integrates with μC/OS-II platform and emWin GUI will transmit information to Android mobile terminal through GPRS network. To reduce false negative rate and false alarm rate, the system uses Weighting algorithm to determine the occurrence of fire. When the fire occurs, the ARM server will call alarm phone automatically, and the mobile client can also sent control command timely to reduce it. The experimental result shows that the system has high reliability, fast response, convenience, and can be effectively carried on full coverage and continuous monitoring for home security.
Key words:ARM; μC/OS-II; Android; ZigBee; GPRS; home security