基于GPRS的遠(yuǎn)程安防監(jiān)控系統(tǒng)的研究和設(shè)計
摘要:設(shè)計一種以S3C2410為硬件平臺和嵌入式Linux為軟件平臺,基于M35 GPRS模塊的遠(yuǎn)程安防監(jiān)控系統(tǒng),整個系統(tǒng)圍繞圖像的采集,傳輸和顯示進(jìn)行了探討,闡述了遠(yuǎn)程安防監(jiān)控系統(tǒng)中的軟硬件處理技術(shù)。測試結(jié)果表明,該遠(yuǎn)程安防監(jiān)控系統(tǒng)具有監(jiān)控溫度,實(shí)時傳輸視頻流,通過網(wǎng)頁遠(yuǎn)程控制監(jiān)控機(jī)動作,短信服務(wù)和報警等功能。與已有系統(tǒng)相比,該系統(tǒng)把Web服務(wù)器和CGI應(yīng)用到監(jiān)控機(jī)和網(wǎng)頁的交互,真正實(shí)現(xiàn)了對監(jiān)控端的遠(yuǎn)程控制。
關(guān)鍵詞:ARM;GPRS;s3c2410;遠(yuǎn)程監(jiān)控
隨著社會電子信息化的不斷發(fā)展,人們在家居中使用的電器越來越多,由此帶來的安全隱患也有了明顯的增多。在這些電器中一旦出現(xiàn)一些異常,便會給人們帶來很大的損失。為了降低電器的不合理使用帶來的異常情況,就要求在異常發(fā)生時用戶能及時得到信息,并通過實(shí)時監(jiān)控采取一定的操作排除異常。因此,遠(yuǎn)程監(jiān)控系統(tǒng)的作用是非常巨大的。
隨著安防行業(yè)的高速發(fā)展,國內(nèi)外對安防監(jiān)控系統(tǒng)的研究越來越熱門,昆明理工大學(xué)信息工程與自動化學(xué)院的張俊才提出的基于嵌入式Web服務(wù)器的信息家電安防監(jiān)控系統(tǒng),實(shí)現(xiàn)了嵌入式系統(tǒng)與Internet相連、家庭內(nèi)部得安全監(jiān)控、信息傳輸。缺點(diǎn)是傳輸速率不是很高,并且通過網(wǎng)頁與監(jiān)控端交互比較麻煩。新的系統(tǒng)將對以上地方進(jìn)行完善,新的系統(tǒng)需要實(shí)用家居環(huán)境的要求,降低成本,改變原先不間斷監(jiān)控模式,并需要為用戶提供友好的交互界面,使用戶在不同的場所下對設(shè)備進(jìn)行監(jiān)控操作。
在此設(shè)計的基于GPRS的遠(yuǎn)程安防監(jiān)控系統(tǒng),是采用的是攝像機(jī)傳送視頻信號經(jīng)壓縮編碼后,通過內(nèi)部總線傳送到內(nèi)置的Web服務(wù)器。用戶在監(jiān)控端可以直接通過瀏覽器觀看Web服務(wù)器上的攝像機(jī)視頻圖像,授權(quán)用戶還可以控制監(jiān)控機(jī)的動作。這樣就實(shí)現(xiàn)了對監(jiān)控點(diǎn)的遠(yuǎn)程控制,通過瀏覽器很方便地實(shí)現(xiàn)了對監(jiān)控機(jī)控制。
1 總體方案設(shè)計
系統(tǒng)以ARM 9處理器S3C2410為MCU,作為控制器,負(fù)責(zé)從紅外傳感器,溫度傳感器,攝像頭采集數(shù)據(jù),并且控制報警措施和滅火措施的執(zhí)行,通過GPRS模塊向用戶發(fā)送短信,同時監(jiān)控機(jī)可以通過Internet和網(wǎng)頁進(jìn)行交互,用戶可以通過登錄網(wǎng)頁對監(jiān)控機(jī)進(jìn)行控制,同時監(jiān)控機(jī)可以將采集到的數(shù)據(jù)通過Web服務(wù)器傳輸給網(wǎng)頁端。本系統(tǒng)的總體設(shè)計框架如圖1所示。
2 硬件電路設(shè)計
2.1 主控電路設(shè)計
主控系統(tǒng)電路主要由三星公司的處理器S3C2410組成,主控電路連接的外圍包括攝像頭,GPRS模塊,溫度采集模塊,蜂鳴器報警模塊,滅火處理模塊,紅外傳感模塊組成。處理器采用輪詢的方式不斷的從溫度采集模塊和紅外傳感模塊讀取數(shù)據(jù),當(dāng)讀取的溫度值超過設(shè)定的臨界值,或者紅外傳感模塊有中斷來臨時,說明家里有火災(zāi),或者家里出現(xiàn)小偷,處理器此時去驅(qū)動蜂鳴器報警模塊報警,并通過GPRS模塊發(fā)送報警短信給用戶。處理器在處理這些動作的同時還一直獲取攝像頭的視屏流。
2.2 報警電路設(shè)計
首先將蜂鳴器接到S3C2410處理器的一個GPB0管腳上。首先配置GPBCON的GPB0為輸出模式,當(dāng)數(shù)據(jù)寄存器里寫入1時。蜂鳴器打開,寫0關(guān)閉蜂鳴器。軟件上是通過ioctl來進(jìn)行相應(yīng)的控制的。報警電路如圖2所示。
2.3 溫度采集電路設(shè)計
溫度值由主控板從溫度傳感器中得到,得到的溫度值通過A/D轉(zhuǎn)換器轉(zhuǎn)換后傳送給主控板。A/D轉(zhuǎn)換器是模擬信號源和CPU之間聯(lián)系的接口,它的任務(wù)是將連續(xù)變化的模擬信號轉(zhuǎn)化為數(shù)字信號,以便計算機(jī)和數(shù)字系統(tǒng)使用。FS2410開發(fā)板用的A/D轉(zhuǎn)換器是ARMS3C2410自帶的一個一路10位的A/D轉(zhuǎn)換器。并且支持觸摸屏功能。最大轉(zhuǎn)化率是500 kHz,A/D轉(zhuǎn)換器頻率的計算公式為:系統(tǒng)時鐘/(比例值+1)。本電路的特點(diǎn)是通過改變滑動變阻器的阻值來改變模擬電壓量來模擬溫度的變化。軟件是通過read,write來進(jìn)行對A/D的讀和寫的操作。溫度采集模擬電路如圖3所示。
2.4 滅火電路設(shè)計
將4個LED燈與S3C2410處理器的4個管腳相連接,由于GPIO是復(fù)用管腳,所以首先進(jìn)行相應(yīng)寄存器的配置,也就是首先配置控制寄存器GPFCON,配置為output.然后就是對燈的相應(yīng)控制,這個是對數(shù)據(jù)寄存器GPFDAT,如果寫0,led燈亮,燈亮模擬的是啟動滅火裝置。否則燈滅,軟件是通過ioctl進(jìn)行相應(yīng)的控制。滅火模塊模擬電路如圖4所示。[!--empirenews.page--]
2.5 紅外傳感器電路設(shè)計
本設(shè)計用鍵盤電路來模擬紅外傳感器,當(dāng)有鍵盤按下時,說明有人闖入,主控板接收到鍵盤中斷時,通過蜂鳴器報警,并發(fā)送短信給用戶,啟動滅火裝置。根據(jù)硬件電路圖可知4×4鍵盤掃描的工作原理,軟件上首先完成對相應(yīng)的寄存器作配置,這里主要涉及GPFCON,GPGCO N,GPECON三個寄存器,把相應(yīng)的位設(shè)置為0UTPUT和INPUT工作模式,這個根據(jù)原理圖。然后就是對中斷的處理,設(shè)置下降沿有效。紅外傳感器模擬電路如圖5所示。
2.6 GPRS電路設(shè)計
GPRS是通用分組無線業(yè)務(wù)的簡稱,目前理論傳輸速率為115kpbs,GPRS的基本原理是:當(dāng)用戶上傳或下載互聯(lián)網(wǎng)數(shù)據(jù)時,系統(tǒng)利用分組將數(shù)據(jù)在網(wǎng)絡(luò)中傳送,達(dá)到多用戶間對網(wǎng)絡(luò)資源的共享。選擇SIEMENS公司推出的MS35模塊,MS35支持語音,數(shù)據(jù)傳輸,短消息,提供RS 232全雙工數(shù)據(jù)口,使用AT指令進(jìn)行控制。模塊的UART0口接開發(fā)板的UART1口,當(dāng)MS35模塊睡眠時,需要對模塊發(fā)AT指令來喚醒模塊。GPRS模塊電路如圖6所示。
3 軟件設(shè)計
圖7~圖10是主程序流程圖功能描述。項目中主要的進(jìn)程,其中包括2個線程等待控制命令,在代碼中采用輪詢的形式來對線程狀況進(jìn)行檢測,發(fā)生問題的時候進(jìn)行相應(yīng)的處理,用戶可通過網(wǎng)絡(luò)訪問本系統(tǒng)并遠(yuǎn)程進(jìn)行控制操作,其中系統(tǒng)對外圍設(shè)備的操作需要互斥信號量的保護(hù),并且由于在系統(tǒng)中實(shí)現(xiàn)了對各個報警功能以及對報警動作的控制,所以在在設(shè)計互斥量的時候就同時設(shè)計有全局的變量,分別代表相應(yīng)模塊在功能上是否被關(guān)閉以及在動作上是否被關(guān)閉。
[!--empirenews.page--]
4 測試結(jié)果與分析
4.1 平臺搭建
硬件平臺選擇的是S3C2410的開發(fā)板,軟件平臺為一種流行的linux操作系統(tǒng):Ubuntu 8.10發(fā)行版。然后是交叉工具鏈的建立,由于開發(fā)是在x86體系結(jié)構(gòu)進(jìn)行的,最終需要在ARM體系結(jié)構(gòu)上運(yùn)行,所以必須建立交叉工具鏈。在終端執(zhí)行命ARM-software-linux-gcc-v顯示gcc vrsion 3.4.5。說明交叉工具鏈建立成功;第2步是uboot移植,選擇的uboot版本為u-boot-1.3.1,修改好uboot源碼后,編譯執(zhí)行命令make fs2420-config,make,將生成的uboot.bin燒寫到開發(fā)板的nandflah的第一個分區(qū);第3步是Linux內(nèi)核編譯與移植,采用的是Linux-2.6.22.6版本內(nèi)核,編譯內(nèi)核前,在內(nèi)核中靜態(tài)加載網(wǎng)卡驅(qū)動,如圖11所示。靜態(tài)加載nandflash驅(qū)動,如圖12所示。靜態(tài)加載usb驅(qū)動,如圖13所示。執(zhí)行make ZImage命令,生成內(nèi)核鏡像ZImage,將ZImage燒寫到nanflash的第2個分區(qū)。最后是根文件系統(tǒng)制作,選用cramfs作為根文件系統(tǒng),cramfs文件系統(tǒng)的特點(diǎn)為只讀,用戶不能修改,很適合作為根文件系統(tǒng)。將制作根文件系統(tǒng)的工具busybox編譯后,運(yùn)行命令make install,再創(chuàng)建etc,lib,mnt,etV,proc,var,tmp,sys,root目錄,再在etc下建立初始化啟動所需要的文件,在etc/init.d /rcs加入執(zhí)行主程序的腳本命令./main。并將ad驅(qū)動,蜂鳴器驅(qū)動,鍵盤驅(qū)動的加載命令加入rcs腳本文件中。rcs是內(nèi)核啟動執(zhí)行的第一個腳本,所以主程序和一些驅(qū)動的加載放在rcs中。最后執(zhí)行mkfs.cramfs rootfsrootfs.cramfs命令。這樣就生成了文件系統(tǒng)rootfs.cr amfs,將生成的rootfs.cramfs燒寫到nandflash的第3個分區(qū)。
4.2 功能測試與分析
插上USB攝像頭和GPRS,在GPRS中插上手機(jī)卡,GPRS連接到開發(fā)板的串口線上,連接網(wǎng)線,啟動開發(fā)板。在任何一臺聯(lián)網(wǎng)的PC機(jī)上打開瀏覽器,輸入192.168.1.1,結(jié)果如圖14所示。點(diǎn)擊網(wǎng)頁上的實(shí)時監(jiān)控按鈕,瀏覽器窗口出現(xiàn)監(jiān)控機(jī)端傳輸過來的實(shí)時畫面。點(diǎn)擊拍照按鈕,默認(rèn)每隔1 s進(jìn)行拍照。也可以在網(wǎng)頁設(shè)置間隔拍照的時間。按開發(fā)板的鍵盤任意一個鍵,此時蜂鳴器報警,用戶收到報警短信,短信內(nèi)容為“有小偷”。點(diǎn)擊網(wǎng)頁上的關(guān)閉報警按鈕,蜂鳴器停止報警。當(dāng)點(diǎn)擊網(wǎng)頁上的關(guān)紅外感應(yīng)按鈕后,再按下開發(fā)板鍵盤的任意一個鍵,監(jiān)控機(jī)不進(jìn)行任何操作。當(dāng)旋轉(zhuǎn)開發(fā)板上電位器時(調(diào)整A/D的輸入電壓),輸入電壓模擬的是溫度值,當(dāng)輸入的溫度值達(dá)到設(shè)置的臨界值60℃時,蜂鳴器報警,監(jiān)控機(jī)通過GPRS模塊發(fā)送短信,短信內(nèi)容為“火災(zāi)”。當(dāng)點(diǎn)擊網(wǎng)頁上的按鈕關(guān)閉報警時,蜂嗚器停止報警。當(dāng)點(diǎn)擊網(wǎng)頁上的關(guān)溫度感應(yīng)按鈕時,當(dāng)監(jiān)控機(jī)讀取到的溫度值達(dá)到設(shè)置的臨界值時,監(jiān)控機(jī)不進(jìn)行任何操作。
5 結(jié)語
本系統(tǒng)結(jié)合嵌入式Web服務(wù)器,GPRS技術(shù)以及嵌入式相關(guān)技術(shù),實(shí)現(xiàn)用戶通過網(wǎng)絡(luò)對家中情況的實(shí)時監(jiān)控。該系統(tǒng)可以進(jìn)行方便的擴(kuò)展,結(jié)合用戶自身需求進(jìn)行定制,使得用戶通過手機(jī)獲得家中異常報警,并通過網(wǎng)絡(luò)對家中情況進(jìn)行實(shí)時監(jiān)控,通過遠(yuǎn)程的操作來降低異常帶來的損失。在系統(tǒng)中Web服務(wù)器通過Internet提供遠(yuǎn)程訪問服務(wù),并通過GSM短信息通知用戶異常,用戶通過網(wǎng)絡(luò)對異常進(jìn)行相應(yīng)的指令操作。用戶可使用系統(tǒng)的GPRS上網(wǎng)功能提供擴(kuò)展功能。