《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于ARM與ZigBee的家庭安全監(jiān)控系統(tǒng)的設(shè)計
基于ARM與ZigBee的家庭安全監(jiān)控系統(tǒng)的設(shè)計
2016年微型機與應(yīng)用第12期
徐希坤1,耿建平1,,葉新2,,楊朝嵐2 ,李景景3
(1.桂林電子科技大學(xué) 電子工程與自動化學(xué)院,,桂林 541004,;2.中國科學(xué)院深圳先進技術(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é)點數(shù)據(jù)傳輸?shù)紸RM服務(wù)器,,ARM服務(wù)器將數(shù)據(jù)通過GPRS網(wǎng)絡(luò)發(fā)送至Android手機客戶端。ARM服務(wù)器以μC/OSII為平臺,引入emWIN 圖形用戶接口,,通過加權(quán)算法來判斷火災(zāi)的發(fā)生,,從而減小其漏報率和誤報率。當(dāng)發(fā)生火災(zāi)時ARM服務(wù)器會自動撥打報警電話,,同時也可以通過手機客戶端發(fā)送家居控制命令,,便于火災(zāi)的及時救援。實踐證明該系統(tǒng)具有實用性好,、可靠性高,、反應(yīng)速度快等特點,可以有效地對家居安全,、環(huán)境信息進行全覆蓋和連續(xù)的監(jiān)控,。
關(guān)鍵詞: ARM μCOS-II Android ZigBee
Abstract:
Key words :

  徐希坤1,耿建平1,葉新2,,楊朝嵐2 ,,李景景3

  (1.桂林電子科技大學(xué) 電子工程與自動化學(xué)院,,桂林 541004,;2.中國科學(xué)院深圳先進技術(shù)研究院,深圳 518055,;3.中原工學(xué)院 電子信息學(xué)院,,鄭州450007)

  摘要:為了實現(xiàn)家居安全、環(huán)境信息的遠(yuǎn)程實時監(jiān)控,設(shè)計了一種基于ARMZigBee技術(shù)的家庭安全監(jiān)控系統(tǒng),。該系統(tǒng)以CC2530芯片采集溫度,、煙霧、CO濃度等傳感器信息,,并通過ZigBee無線網(wǎng)絡(luò)將采集的節(jié)點數(shù)據(jù)傳輸?shù)紸RM服務(wù)器,,ARM服務(wù)器將數(shù)據(jù)通過GPRS網(wǎng)絡(luò)發(fā)送至Android手機客戶端。ARM服務(wù)器以μC/OSII為平臺,引入emWIN 圖形用戶接口,,通過加權(quán)算法來判斷火災(zāi)的發(fā)生,,從而減小其漏報率和誤報率。當(dāng)發(fā)生火災(zāi)時ARM服務(wù)器會自動撥打報警電話,,同時也可以通過手機客戶端發(fā)送家居控制命令,,便于火災(zāi)的及時救援。實踐證明該系統(tǒng)具有實用性好,、可靠性高,、反應(yīng)速度快等特點,可以有效地對家居安全,、環(huá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)濟的發(fā)展,人們的生活水平和生活質(zhì)量日益提高,,各種家用電器和生活燃?xì)庖沧哌M了千家萬戶,在方便人們?nèi)粘I畹耐瑫r,由于電器超負(fù)荷運轉(zhuǎn)、電線超負(fù)載使用,、材料老化和燃?xì)庑孤┑仍斐傻闹苯踊蜷g接的家庭火災(zāi),、煤氣泄漏等事故也頻繁發(fā)生。因此設(shè)計一套能夠預(yù)防和減少家居危險事故發(fā)生的智能家居安全監(jiān)控系統(tǒng)就顯得十分必要,。傳統(tǒng)意義上家居監(jiān)控系統(tǒng)都是以獨立的傳感器作為監(jiān)測點,,各個監(jiān)測點以孤立的形式存在,發(fā)生誤判,、漏判的幾率非常大,,且大部分以計算機作為終端,不便于實施遠(yuǎn)程監(jiān)控[2],。綜合考慮以上問題,,設(shè)計出一種以Android智能手機作為家居終端監(jiān)控平臺,以ARM微控制器為核心的基于μC/OSII實時操作系統(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è)計

  

001.jpg

  系統(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ù)進行相應(yīng)的處理,、存儲、顯示,,然后將數(shù)據(jù)通過GPRS無線網(wǎng)絡(luò)送至Android客戶端,。當(dāng)發(fā)生危險情況(如可燃性氣體泄漏、火災(zāi)等)時,,ARM服務(wù)器將會自動報警,,并提供家居所在地位置信息,同時將相應(yīng)的信息發(fā)送至Android客戶端,,用戶可以通過Android客戶端發(fā)送指令對家居設(shè)備進行相應(yīng)的控制(如打開水龍頭,、切斷電源等)。

2系統(tǒng)硬件設(shè)計

  2.1ARM服務(wù)器的設(shè)計

  基于ARM架構(gòu)的處理器廣泛應(yīng)用在嵌入式領(lǐng)域[3],。本系統(tǒng)ARM服務(wù)器以STM32F103ZET6微控制器為核心,,該微控制器是基于CortexM3內(nèi)核的微處理器,具有功耗低、性價比高等特點,,并且其核心是基于哈佛架構(gòu)的3級流水線內(nèi)核,,采用新的Thumb2指令集,使數(shù)據(jù)運算處理可以取得較快較理想的效果[4],。

  ARM服務(wù)器主要的作用是接收ZigBee協(xié)調(diào)器發(fā)送來的傳感器信息,,對接收的數(shù)據(jù)采用多次采樣求平均值的處理方式。SD卡通過SDIO接口同ARM服務(wù)器連接來完成數(shù)據(jù)的大容量存儲并建立文件系統(tǒng),。以SSD1963作為控制器的4.3英寸TFTLCD通過FSMC(靈活的靜態(tài)存儲控制器)與微控制器連接能夠大大提高數(shù)據(jù)的讀寫速度并進行數(shù)據(jù),,顯示。GPRS將數(shù)據(jù)發(fā)送至Android客戶端,,實現(xiàn)移動終端和ARM服務(wù)器的人際交互,。ARM服務(wù)器的人際交互是以XPT2046觸摸控制器為核心來實現(xiàn)的。ARM服務(wù)器終端同時還連接蜂鳴器作為報警器件,。GPS模塊進行家居位置的定位,。ARM服務(wù)器系統(tǒng)結(jié)構(gòu)圖如圖2所示?!?/p>

002.jpg

  2.2ZigBee無線傳感器節(jié)點的硬件設(shè)計

  ZigBee無線傳感器網(wǎng)絡(luò)由協(xié)調(diào)器節(jié)點和終端節(jié)點組成,,協(xié)調(diào)器節(jié)點主要用于建立無線網(wǎng)絡(luò),是整個網(wǎng)絡(luò)的維護者,,接收終端節(jié)點的傳感器數(shù)據(jù)并上傳至服務(wù)器,。終端節(jié)點用來采集傳感器數(shù)據(jù),在非工作狀態(tài)時可以進入休眠狀態(tài),。ZigBee節(jié)點采用CC2530芯片,,CC2530內(nèi)嵌增強型8051 CPU,結(jié)合了ZigBee協(xié)議棧Z-Stack,,提供一個將ZigBee,、IEEE 802.15.4、2.4 GHz和RF收發(fā)器結(jié)為一體的強大而完整的解決方案[56],,能夠以非常低的成本建立強大的網(wǎng)絡(luò)節(jié)點,。

  ZigBee節(jié)點硬件圖如圖3所示。ZigBee終端節(jié)點可以檢測環(huán)境信息,、安防信息,。環(huán)境信息的檢測通過溫濕度傳感器、光照傳感器,、PM2.5傳感器等完成,。安防信息檢測通過煙霧傳感器、CO濃度傳感器,、紅外熱釋電傳感器等完成,。ZigBee網(wǎng)絡(luò)節(jié)點采用兩節(jié)5號電池供電,,經(jīng)過DCDC芯片CP1402轉(zhuǎn)換為3.3 V,同時采用模擬開關(guān)來控制各個傳感器的供電,,以不需要數(shù)據(jù)采集時降低功耗,。

  

003.jpg

  2.2.1放大電路的設(shè)計

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

  

004.jpg

  為避免高頻信號的干擾,在前端使用簡單的RC無緣低通濾波電路,。放大倍數(shù)計算公式如下:

  KO@K8Q16VX4$TPN5S4X{Q}4.png

  調(diào)整R9的值即可以改變電路的放大倍數(shù),。經(jīng)實驗室測試,對于0.1 mV以上的信號可以實現(xiàn)很好的放大功能,,為小信號的前期后期處理做好了準(zhǔn)備,。

  2.2.2低通濾波器的設(shè)計

  為了減小干擾,提高系統(tǒng)的可靠性,,設(shè)計了硬件濾波器,。對于煙霧傳感器MQ2,因為工作頻率極低,,導(dǎo)致低頻噪聲對其影響較大,。因此設(shè)計了截止頻率為0.16 Hz的極低頻率的低通濾波器,即使是這樣的低通濾波器,,與30 s響應(yīng)的MQ2相比,,它對傳感器響應(yīng)時間的影響也可忽略。

  4階低通濾波器原理圖如圖5所示,,它由兩個二階壓控電壓源低通濾波器(由TL072運算放大器組成)串聯(lián)而成,。在Multisim軟件中仿真低通濾波器的幅頻特性如圖6所示。從圖中可以看出,,在-3 dB處頻率約為0.16 Hz,,衰減比較迅速,滿足了設(shè)計需求,。

  

005.jpg

  2.3電源管理模塊的設(shè)計

  電源管理模塊是整個系統(tǒng)的心臟,,電源的好壞對整個系統(tǒng)的安全、正常,、可靠運行至關(guān)重要,。整個系統(tǒng)采用直流12 V供電,,系統(tǒng)中各元件的工作電壓存在差異,GSM/GPRS模塊使用3.9 V供電,,其余部分采用3.3 V供電,。本設(shè)計中采用DCDC轉(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所示,。

  

006.jpg

3系統(tǒng)軟件設(shè)計

  3.1服務(wù)器的軟件設(shè)計

  ARM服務(wù)器程序移植了μC/OSII實時操作系統(tǒng),,μC/OSII是基于優(yōu)先級的可剝奪型內(nèi)核操作系統(tǒng),且源碼公開,,內(nèi)核小巧,,特別適合應(yīng)用在實時性要求較高的場合[7]。μC/OSII絕大部分采用C語言編寫,,只有極少數(shù)與處理器硬件相關(guān)的代碼采用匯編語言實現(xiàn),,最小內(nèi)核可編譯至2 KB,特別適合小型控制系統(tǒng)[8],。為了實現(xiàn)服務(wù)器更好的人機交互界面,,在移植μC/OSII的基礎(chǔ)上移植了emWin,它為任何的LCD圖形顯示提供高效的圖形接口,,接口實現(xiàn)與硬件平臺無關(guān),。emWin支持多任務(wù),結(jié)合μC/OSII系統(tǒng)使用,,可為用戶帶來良好的人機交互體驗,。

007.jpg

  圖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/OSII和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)進入休眠模式以降低功耗,。

  3.2ZigBee傳感器網(wǎng)絡(luò)的軟件設(shè)計

  ZigBee技術(shù)具有強大的組網(wǎng)能力,可以形成星形,、樹形和網(wǎng)狀網(wǎng)絡(luò)。本系統(tǒng)組建的家庭網(wǎng)絡(luò)采用星形拓?fù)浣Y(jié)構(gòu),。傳感器網(wǎng)絡(luò)的軟件設(shè)計是基于ZStack開發(fā)的,,ZStack工程文件由操作系統(tǒng)層(OSAL)、硬件抽象層(HAL),、媒體接入層(MAC),、網(wǎng)絡(luò)層(NWK)、調(diào)試接口層(MT)以及應(yīng)用層(APP)組成,。數(shù)據(jù)采集工作主要在應(yīng)用層上實現(xiàn),,操作系統(tǒng)以輪詢的方式查詢各層的事件并進行處理。ZigBee數(shù)據(jù)采集節(jié)點程序流程圖如圖9所示,。

  

008.jpg

  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è)置移動臺類別,、連接方式,、接入點和附著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進行報警

  通過上述指令的設(shè)置,,在發(fā)生火災(zāi)時即可撥打報警電話,。

  3.4GPS模塊程序設(shè)計

  GPS采用UBLOX NEO6M模塊,該模塊支持最快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手機操作系統(tǒng)作為移動終端平臺,,在Eclipse環(huán)境下開發(fā),。Android客戶端通過Socket與ARM服務(wù)器進行通信,將采集的數(shù)據(jù)信息上傳至移動終端,。Socket類是負(fù)責(zé)處理客戶端通信的Java類,,通過這個類可以連接到指定的IP或者域名的服務(wù)器上,并且可以與服務(wù)器交互數(shù)據(jù)[9],。Android客戶端軟件設(shè)計流程圖如圖10所示,。

  

009.jpg

  4實驗結(jié)果

  在實驗室條件下進行測試,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所示?! ?/p>

010.jpg

5結(jié)論

  運用ZigBee無線通信技術(shù)設(shè)計的智能家居安全監(jiān)測系統(tǒng),,能夠及時采集家中的環(huán)境與安防信息,采用μC/OSII操作系統(tǒng)既提高了系統(tǒng)的實時性又實現(xiàn)了家居安全信息的集中管理,。另外系統(tǒng)采用Android智能手機作為控制終端,,具有操作簡單、可移植性強的特點,,實現(xiàn)了對智能家居的安全監(jiān)控和預(yù)測,,具有一定的技術(shù)意義和實用價值。

參考文獻

 ?。?] 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.

 ?。?] 師振偉.基于 ARM 和 ZigBee 的智能家居無線終端控制系統(tǒng)的設(shè)計[D]. 西安:西安工業(yè)大學(xué),2013.

 ?。?] 王永虹,,徐偉,郝立平.STM32系列ARM CortexM3微控制器原理與實踐[M]. 北京:北京航空航天大學(xué)出版社,,2008.

 ?。?] 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.

 ?。?] 陳磊,,林明.基于μC/OSII的模糊自適應(yīng)溫度控制系統(tǒng)設(shè)計[J].科學(xué)技術(shù)與工程,2012,12(26):66346639.

 ?。?] LABROSSE J J.嵌入式實時操作系統(tǒng)μC/OSII(第2版)[M].邵貝貝,,譯.北京:北京航空航天大學(xué)出版社,2003.

  [9] 李寧.Android開發(fā)權(quán)為指南[M].北京:人民郵電出版社,2012.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。