劉春林 楊暉
摘 要: 為了解決傳統(tǒng)安防系統(tǒng)存在的低可靠、成本高、不利于系統(tǒng)集成的缺點(diǎn),提出一種基于ARM平臺(tái)的智能安防系統(tǒng)設(shè)計(jì)方案。設(shè)計(jì)以Cortex?A8為控制器的前端設(shè)備,采用LPC11C14為控制器、ZICM2410為ZigBee射頻模塊、SC16IS752為SPI轉(zhuǎn)UART模塊的終端設(shè)備。系統(tǒng)采用Linux 3.0.8內(nèi)核、Android 4.0版本文件系統(tǒng)、Arm?none?linux?gnueabi?gcc工具鏈、Eclipse開發(fā)工具對(duì)前端和終端設(shè)備的軟件流程進(jìn)行設(shè)計(jì)。系統(tǒng)測(cè)試結(jié)果表明,該系統(tǒng)可以正確、實(shí)時(shí)地采集各項(xiàng)安防數(shù)據(jù),實(shí)現(xiàn)了用戶出入的有效監(jiān)控,且在采集數(shù)據(jù)超出正常范圍時(shí)發(fā)出警報(bào)。
關(guān)鍵詞: 安防系統(tǒng); Cortex?A8; Cortex?M0; ZigBee
中圖分類號(hào): TN948.64?34; TP277 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)24?0075?04
Design and implementation of intelligent security system based on ARM platform
LIU Chunlin, YANG Hui
(School of Information Engineering, Kaili University, Kaili 556011, China)
Abstract: In order to solve the problems of low reliability, high cost and poor system integration of the traditional security system, a new design scheme of intelligent security system based on ARM platform is proposed. A front?end equipment taking Cortex?A8 as the controller, as well as a terminal equipment taking LPC11C14 as controller, ZICM2410 as the ZigBee RF module and SC16IS752 as UART module converted through SPI are designed. The Linux3.0.8 kernel, Android4.0 version file system, Arm?none?linux?gnueabi?gcc tool chain, Eclipse development tool are used in the system to carried out the design of the software flow of the front end and the terminal equipment. The system test results show that the system can collect all kinds of security data in real time correctly, realize the effective monitoring of user access, and raise the alarm while the collected data is beyond the normal range.
Keywords: security system; Cortex?A8; Cortex?M0; ZigBee
智能安防系統(tǒng)主要是利用計(jì)算機(jī)、無(wú)線通信技術(shù)通過(guò)網(wǎng)絡(luò)化的管理,使得工作和生活更加輕松、安全。近年來(lái),智能安防系統(tǒng)正在由數(shù)字化、網(wǎng)絡(luò)化向智能化方向發(fā)展[1?3]。其通過(guò)物聯(lián)網(wǎng)、圖像識(shí)別處理、無(wú)線傳感器傳輸?shù)燃夹g(shù)實(shí)現(xiàn)智能安防系統(tǒng)事前預(yù)警、事中處理、事后能及時(shí)取證的全自動(dòng)智能監(jiān)控[4]。上述系統(tǒng)集成可利用ARM平臺(tái)實(shí)現(xiàn),其不僅能實(shí)時(shí)地采集安防區(qū)域的數(shù)據(jù),同時(shí)具有成本低、可靠性高和便于系統(tǒng)集成的優(yōu)點(diǎn)。
1 系統(tǒng)總體設(shè)計(jì)
本文的安防系統(tǒng)利用Cortex_M0采集房間信息,Cortex_A8作為中央監(jiān)控服務(wù)器設(shè)備。
1.1 系統(tǒng)功能圖
Cortex?A8是一款高性能、高效率的ARMV7應(yīng)用處理器。Cortex?M0是一款尺寸小、性能高的ARM應(yīng)用處理器。Android界面顯示(Cortex?A8)來(lái)自于Cortex?m0模擬量,并可對(duì)Cortex?M0進(jìn)行控制或操作?;贑ortex?A8和Cortex?M0的系統(tǒng)功能圖,如圖1所示。
1.2 系統(tǒng)功能描述
系統(tǒng)采用Linux 3.0.8內(nèi)核、Android 4.0版本文件系統(tǒng)、Arm?none?linux?gnueabi?gcc工具鏈、Eclipse開發(fā)工具[5?6],系統(tǒng)功能描述如表1所示。
2 前端數(shù)據(jù)中心
程序的線程定義如表2 所示,所用類定義如表3所示。前端數(shù)據(jù)中心Cortex?A8程序設(shè)計(jì)首先啟動(dòng)主界面,跳轉(zhuǎn)到從界面顯示設(shè)備的詳細(xì)采集信息,控制線程完成用戶對(duì)設(shè)備的操作,在應(yīng)用層、FrameWork層、JNL層處理,最終由ZigBee網(wǎng)絡(luò)發(fā)送數(shù)據(jù)并通過(guò)數(shù)據(jù)處理進(jìn)程完成數(shù)據(jù)的處理與校驗(yàn)。其程序設(shè)計(jì)流程圖見(jiàn)圖2。
3 前端Cortex?A8模塊設(shè)計(jì)
3.1 Cortex?A8 Android Application層數(shù)據(jù)流分析
3.1.1 NEWNODE新節(jié)點(diǎn)加入
終端設(shè)備開啟,通過(guò)ZigBee發(fā)送新節(jié)點(diǎn)數(shù)據(jù)給前端設(shè)備,再由讀線程讀取并對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),判斷是否合法。若數(shù)據(jù)無(wú)誤,查詢?cè)摴?jié)點(diǎn)鏈表中是否存在,不存在則寫入鏈表并新建節(jié)點(diǎn)。新節(jié)點(diǎn)加入處理流程圖,如圖3所示。
3.1.2 NODEINFO節(jié)點(diǎn)信息更新
在節(jié)點(diǎn)存在的情況下,更新鏈表信息并判斷是否進(jìn)入節(jié)點(diǎn)從界面,若是則更新數(shù)據(jù)。節(jié)點(diǎn)信息更新處理流程圖,如圖4所示。
3.1.3 RFID,用戶出入
用戶持RFID卡出入時(shí),從界面判斷是否在鏈表信息,若是則更新數(shù)據(jù)。用戶出入處理流程圖如圖5所示。
3.2 傳輸數(shù)據(jù)格式設(shè)計(jì)
數(shù)據(jù)包頭:終端設(shè)備向前端設(shè)備發(fā)送數(shù)據(jù)包頭為0xAA, 前端設(shè)備向終端設(shè)備發(fā)送數(shù)據(jù)包頭為0x55。設(shè)備號(hào):終端設(shè)備號(hào)(房間號(hào))。
數(shù)據(jù)類型:0x01是終端設(shè)備房間開啟監(jiān)控;0x02是溫濕度、感光度類型數(shù)據(jù);0x30是LED_ON(開燈);0x31是LED_OFF(關(guān)燈);0x32是Fan_ON(開風(fēng)扇);0x33是Fan_OFF(關(guān)風(fēng)扇);0x34是Nixietube_ON(開數(shù)碼管);0x35是Nixietube_OFF(關(guān)數(shù)碼管);0x36是BEEP_ON(開蜂鳴器);0x37是BEEP_OFF(關(guān)蜂鳴器);0x04是RFID卡類數(shù)據(jù)。
數(shù)據(jù)長(zhǎng)度:數(shù)據(jù)域的字節(jié)數(shù),校驗(yàn)為crc16校驗(yàn)。
4 終端Cortex?M0模塊設(shè)計(jì)
Cortex?M0主要采集溫濕度、光感度以及出入刷卡等信息,并將信息上傳至Cortex?A8。再由Cortex?A8發(fā)出指令通知Cortex?M0作處理操作。控制芯片選擇NXP的LPC11C14。其是ARM Cortex?M0系列處理器,能夠勝任終端數(shù)據(jù)采集的重任[7?10]。Cortex?M0與Cortex?A8之間通信采用ZigBee模塊,整體方案如圖6所示。
4.1 Cortex?M0工作流程
系統(tǒng)上電初始化,啟動(dòng)定時(shí)器、配置各個(gè)I/O端口、初始化SPI端口。Cortex?M0工作流程,如圖7所示。
4.2 功能模塊描述
4.2.1 溫濕度傳感器DHT11
DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度傳感器,其具有成本低、性能穩(wěn)定、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。其與Cortex?M0的連接如圖8所示,其中上拉電阻R30是為了保證在總線空閑時(shí),其狀態(tài)為高電平。
4.2.2 ZigBee通信模塊
ZigBee模塊選用ZICM2410,其與Cortex?M0之間是通過(guò)SC16IS752轉(zhuǎn)換芯片進(jìn)行連接的,如圖9所示。對(duì)于ZICM2410模塊,由于其使用方便,文中只需對(duì)數(shù)據(jù)接口進(jìn)行讀寫即可,對(duì)于網(wǎng)絡(luò)配置,可參照其操作手冊(cè)。
4.2.3 SC16IS752使用及操作流程
SC16IS752是一款SPI/I2C轉(zhuǎn)UART通信芯片,實(shí)際使用選擇SPI轉(zhuǎn)UART通信模式。在該模式下,自身只能作為從機(jī),Cortex?M0為主機(jī)。Cortex?M0的ZigBee接收中斷程序流程,如圖10所示。系統(tǒng)上電初始化SPI端口,SPI數(shù)據(jù)發(fā)送和接收流程圖如圖11所示。
RFID讀卡模塊通過(guò)SPI0端口與Cortex?M0通信,其中斷引腳與Cortex?M0 I/O 端口連接。讀取I/O端口電平,即可判斷刷卡情況。RFID讀卡流程如圖12所示。
5 系統(tǒng)測(cè)試
打開Cortex?A8設(shè)備,啟動(dòng)程序,打開Cortex?M0設(shè)備,程序檢測(cè)到設(shè)備并添加。系統(tǒng)界面當(dāng)前溫度25 ℃,濕度21%RH,光感值187,模擬用戶52443b78使用磁卡對(duì)Cortex?M0進(jìn)行刷卡出入操作。若采集的數(shù)據(jù)值超出正常范圍時(shí),可激活LED顯示或蜂鳴器報(bào)警,系統(tǒng)信息界面如圖13所示。
6 結(jié) 語(yǔ)
本文設(shè)計(jì)一種基于ARM平臺(tái)的智能安防系統(tǒng)方案,系統(tǒng)由前端設(shè)備Cortex?A8和終端設(shè)備Cortex?M0組成,對(duì)系統(tǒng)的軟件流程進(jìn)行了詳細(xì)設(shè)計(jì),同時(shí)對(duì)終端硬件進(jìn)行了描述。最終,通過(guò)運(yùn)行測(cè)試結(jié)果表明,該系統(tǒng)能實(shí)時(shí)采集數(shù)據(jù)和監(jiān)控刷卡,并具有成本低、性能高、可移植性強(qiáng)等優(yōu)點(diǎn)。
參考文獻(xiàn)
[1] 戴敏,王宜懷,潘啟勇.基于Zigbee技術(shù)的智能家居系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2013,21(3):706?708.
[2] 葉青.一種智能家居系統(tǒng)解決方案及部分模擬實(shí)現(xiàn)[D].昆明:昆明理工大學(xué),2008.
[3] 閻莉.探討智能家居系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)途徑[J].包裝工程,2014(22):49?52.
[4] 趙水昌.嵌入式車載監(jiān)控系統(tǒng)終端的設(shè)計(jì)與開發(fā)[D].大連:大連理工大學(xué),2006.
[5] 陳剛.Eclipse從入門到精通[M].2版.北京:清華大學(xué)出版社,2007.
[6] 孫更新,邵長(zhǎng)恒,賓晟.Android從入門到精通[M].北京:電子工業(yè)出版社,2011.
[7] SLOSS Andrew N, SYMES Dominic, WRIGHT Chris.ARM嵌入式系統(tǒng)開發(fā):軟件設(shè)計(jì)與優(yōu)化[M].沈建華,譯.北京:北京航空航天大學(xué)出版社,2005.
[8] 滿莎,楊恢先,彭友,等.基于ARM9的嵌入式無(wú)線智能家居網(wǎng)關(guān)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2010,30(9):2541?2544.
[9] 韓玉文.基于ARM9的嵌入式無(wú)線智能家庭網(wǎng)關(guān)的設(shè)計(jì)[D].大連:大連海事大學(xué),2012.
[10] 高靜,王福豹,段渭軍.面向智能家居的嵌入式傳感網(wǎng)網(wǎng)關(guān)的研究與設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(4):19?22.