主要介紹了一種基于嵌入式處理器ARM平臺(tái)以及GPRS網(wǎng)絡(luò)通信技術(shù)的智能家居系統(tǒng)。 該系統(tǒng)核心部分主要包括住宅小區(qū)的家居安防監(jiān)控,圖像監(jiān)控以及遠(yuǎn)程抄表的實(shí)現(xiàn)。利用當(dāng)前較為成熟的GPRS技術(shù)實(shí)現(xiàn)對(duì)住宅小區(qū)用戶進(jìn)行集中的安防監(jiān)控與管理。給出了系統(tǒng)的功能和結(jié)構(gòu)以及硬件原理框圖和軟件設(shè)計(jì)思路。 引言 近年來(lái),隨著網(wǎng)絡(luò)通訊技術(shù),電子技術(shù),計(jì)算機(jī)技術(shù)的迅猛發(fā)展,人們對(duì)生活質(zhì)量提出了更高的要求,現(xiàn)代化的家居環(huán)境也備受人們的關(guān)注。目前,國(guó)內(nèi)的智能家居系統(tǒng)主要集中在對(duì)單個(gè)住宅分散的子系統(tǒng)的控制上,這些子系統(tǒng)功能上比較單一,很難實(shí)現(xiàn)信息共享,不便于進(jìn)行集中管理。本文針對(duì)目前國(guó)內(nèi)智能家居系統(tǒng)的局限性,提出一種基于GPRS無(wú)線技術(shù)的智能家居系統(tǒng),不僅能對(duì)小區(qū)多個(gè)住宅內(nèi)的安全狀況進(jìn)行實(shí)時(shí)監(jiān)控,還實(shí)現(xiàn)了“三表”(即水表、電表、燃?xì)獗恚┑倪h(yuǎn)程抄送。 1.GPRS技術(shù)簡(jiǎn)介 GPRS(General Packet RadioService),即通用無(wú)線分組業(yè)務(wù),是一種基于GSM系統(tǒng)的無(wú)線分組交換技術(shù),面向用戶提供移動(dòng)分組的IP或者X.25連接。與GSM電路交換數(shù)據(jù)相比,GPRS在數(shù)據(jù)業(yè)務(wù)的承載和支持上具有非常明顯的優(yōu)勢(shì):資源共享,頻帶利用率高,用戶只有在進(jìn)行數(shù)據(jù)傳輸時(shí)才占有系統(tǒng)資源;數(shù)據(jù)傳輸率高,GPRS采用分組交換技術(shù),每個(gè)用戶能同時(shí)占用多個(gè)無(wú)線信道,同一無(wú)線信道又可由多個(gè)用戶共享。理論上,GPRS最高傳輸率可達(dá)171.2kbit/s;支持X.25協(xié)議和IP協(xié)議,可與現(xiàn)有的數(shù)據(jù)網(wǎng)絡(luò)進(jìn)行互通互連;用戶永遠(yuǎn)在線且按流量、時(shí)間計(jì)費(fèi),通信成本低。由此可見(jiàn),將GPRS技術(shù)應(yīng)用于智能家居系統(tǒng)的數(shù)據(jù)傳輸是最理想的選擇。 2.系統(tǒng)功能及總體結(jié)構(gòu)設(shè)計(jì) 2.1系統(tǒng)實(shí)現(xiàn)的功能 該系統(tǒng)主要是針對(duì)普通住宅小區(qū)家庭用戶而設(shè)計(jì)的,它可以對(duì)小區(qū)內(nèi)用戶住宅內(nèi)安全狀況進(jìn)行集中監(jiān)控和管理,同時(shí)還實(shí)現(xiàn)了門禁及抄表功能。用戶可以根據(jù)自己需要進(jìn)行監(jiān)控狀態(tài)、監(jiān)控參數(shù)的設(shè)置。系統(tǒng)實(shí)現(xiàn)了以下功能: (1)家居安防監(jiān)控:當(dāng)小偷闖入住宅或者有火災(zāi)、燃?xì)庑孤┑任<笔录l(fā)生時(shí),監(jiān)控終端能實(shí)時(shí)地監(jiān)測(cè)到險(xiǎn)情,向監(jiān)控中心發(fā)送告警信息,監(jiān)控中心則以GSM短信的方式通知戶主。 (2)家居安全狀況遠(yuǎn)程實(shí)時(shí)監(jiān)控與查詢:主人離家在外,可通過(guò)發(fā)送手機(jī)短信的方式來(lái)查詢家中安全狀況信息。 (3)現(xiàn)場(chǎng)圖像抓拍功能:在設(shè)防狀態(tài)下,當(dāng)紅外傳感器或者門磁觸發(fā)告警時(shí),系統(tǒng)將啟動(dòng)圖像抓拍器,對(duì)現(xiàn)場(chǎng)進(jìn)行拍攝,所拍攝的圖像通過(guò)GPRS網(wǎng)絡(luò)發(fā)送到監(jiān)控中心的主機(jī)上進(jìn)行備份。用戶也可以通過(guò)發(fā)送送機(jī)短信的方式來(lái)啟動(dòng)圖像抓拍的功能。 (4)“三表”遠(yuǎn)程自動(dòng)抄送與門禁功能:可以定時(shí)或主動(dòng)讀取用戶家中的水表、電表、煤氣表的用量,并根據(jù)相應(yīng)價(jià)格計(jì)算費(fèi)用。當(dāng)有刷卡開門事件時(shí),判斷卡合法則允許進(jìn)入。 2.2系統(tǒng)總體結(jié)構(gòu) 智能家居系統(tǒng)由監(jiān)控終端,GSM短信收發(fā)模塊,監(jiān)控主機(jī)三部分組成。監(jiān)控終端硬件采用ARM7平臺(tái),軟件采用嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks。監(jiān)控主機(jī)是一臺(tái)運(yùn)行監(jiān)控管理軟件的PC機(jī),一般置于小區(qū)的物業(yè)管理中心。圖1是整個(gè)系統(tǒng)架構(gòu)圖。 圖1 系統(tǒng)架構(gòu) 系統(tǒng)工作時(shí),監(jiān)控終端循環(huán)檢測(cè)安裝在室內(nèi)的門磁、紅外、煙霧、燃?xì)獗O(jiān)測(cè)等傳感器,當(dāng)檢測(cè)到有異常情況發(fā)生時(shí),終端控制警笛發(fā)出告警聲音,提醒戶主及物業(yè)管理人員有險(xiǎn)情發(fā)生并采取防范措施。另外,監(jiān)控終端還通過(guò)GPRS網(wǎng)絡(luò)向監(jiān)控中心發(fā)送告警信息。當(dāng)終端檢測(cè)到門磁或紅外告警時(shí),將啟動(dòng)圖像抓拍器,對(duì)用戶室內(nèi)現(xiàn)場(chǎng)進(jìn)行連續(xù)拍照,拍攝到的圖像終端先進(jìn)行緩存,再通過(guò)GPRS網(wǎng)絡(luò)發(fā)送至監(jiān)控主機(jī),監(jiān)控主機(jī)將圖像以文件的形式進(jìn)行備份。 監(jiān)控終端還循環(huán)接收監(jiān)控主機(jī)下發(fā)的數(shù)據(jù)請(qǐng)求命令,終端對(duì)這些命令進(jìn)行解析。如果是查詢傳感器及門磁狀態(tài),監(jiān)控終端對(duì)相應(yīng)傳感器的狀態(tài)進(jìn)行檢測(cè),向監(jiān)控主機(jī)返回傳感器的狀態(tài)信息;如果是查詢水表、電表或者煤氣表的用量命令,監(jiān)控終端根據(jù)“三表”的RS-485協(xié)議,構(gòu)造查詢幀命令,發(fā)送相應(yīng)的查詢命令,將“三表”返回的數(shù)據(jù)按照系統(tǒng)的通信協(xié)議打包,通過(guò)終端上內(nèi)置的GPRS模塊發(fā)送到監(jiān)控主機(jī)。監(jiān)控主機(jī)接收到終端發(fā)送的數(shù)據(jù)后,先對(duì)數(shù)據(jù)幀進(jìn)行解析。若是告警信息,則監(jiān)控主機(jī)將根據(jù)不同的告警播放相應(yīng)的告警提示音,提醒管理員作出處理。當(dāng)有告警發(fā)生時(shí),監(jiān)控主機(jī)通過(guò)RS232接口輸出AT指令,控制外置GMS模塊向系統(tǒng)預(yù)先設(shè)置好的住宅主人的手機(jī)號(hào)碼發(fā)送告警短信,通知戶主家中有警情發(fā)生。同時(shí),監(jiān)控主機(jī)還將把告警事件以日志的形式記錄下來(lái),以便事后對(duì)告警信息進(jìn)行查詢;當(dāng)接收到的數(shù)據(jù)幀是抄表命令返回的數(shù)據(jù)時(shí),主機(jī)將把數(shù)據(jù)寫入到系統(tǒng)數(shù)據(jù)庫(kù)。同時(shí),在顯示界面上彈出一個(gè)新窗口,顯示戶主信息、查詢時(shí)間、表的用量、相應(yīng)費(fèi)用等信息。 3.系統(tǒng)硬件設(shè)計(jì) 監(jiān)控終端的原理圖如圖2所示。 圖2 終端原理圖 終端硬件采用的是嵌入式硬件平臺(tái),CPU選用三星公司的基于ARM7TDMI內(nèi)核的S3C440X微處理器,該處理器是三星公司專為PDA和一般應(yīng)用開發(fā)提供的高性價(jià)比和高性能的解決方案。經(jīng)過(guò)性能與成本的綜合考慮,GPRS模塊選用明基公司的M22模塊。該模塊可工作在三種頻率下:900/1800/1900MHz。支持語(yǔ)音通信,具有GPRS、USSD和CSD三種數(shù)據(jù)方式及SMS和FAX功能;內(nèi)嵌TCP/IP協(xié)議,軟件支持標(biāo)準(zhǔn)AT 指令并遵循3GPP 27.07/27.05規(guī)范。 S3C44B0的IO口的D口擴(kuò)展了三個(gè)按鍵,它們是設(shè)防鍵、開門鍵、消告警鍵。按下設(shè)防鍵,CPU檢測(cè)到IO口為低電平,系統(tǒng)進(jìn)入監(jiān)控狀態(tài)。該狀態(tài)下,系統(tǒng)將循檢測(cè)門磁及所有已經(jīng)安裝的傳感器。由于選用的傳感器輸出電平為0V或12V,而S3C44B0的外圍接口電平為0V~3.3V,傳感器的輸出需經(jīng)光耦隔離后連接至CPU的IO引腳。采用光耦隔離還有一個(gè)作用:在雷雨天氣,傳感器輸出導(dǎo)線很容易引入雷電,導(dǎo)線上會(huì)有瞬時(shí)高壓脈沖,用光耦將傳感器的輸出與CPU的IO口隔離后,起到保護(hù)CPU的作用。當(dāng)監(jiān)測(cè)到開門鍵按下,電控鎖吸合,門將打開,此時(shí)為合法開門狀態(tài),不會(huì)產(chǎn)生告警。 如果是在監(jiān)控狀態(tài)下,門被強(qiáng)行打開,則門磁輸出由低電平變?yōu)楦唠娖剑珻PU檢測(cè)到門磁傳感器輸出高電平,產(chǎn)生告警,CPU控制GPD3口輸出低電平,觸發(fā)警鈴產(chǎn)生告警音。告警發(fā)生時(shí),CPU通過(guò)UART0發(fā)送AT指令來(lái)控制GPRS模塊,經(jīng)GPRS網(wǎng)絡(luò)向系統(tǒng)監(jiān)控主機(jī)發(fā)送告警信息,監(jiān)控主機(jī)對(duì)告警信息進(jìn)行分析處理。M22模塊與CPU采用115200bps的波特率進(jìn)行通信。它們之間的接口比較簡(jiǎn)單,只需要將接收和發(fā)送兩個(gè)引腳進(jìn)行連接?紤]到本系統(tǒng)運(yùn)行過(guò)程中需要保存大量的事件日志,如“三表”查詢的數(shù)據(jù)、告警事件日志以及告警抓拍到的50張圖像等,系統(tǒng)擴(kuò)展了大容量的外部存儲(chǔ)器HY57V641620(容量為8MB的SDRAM),SST39VF1601(2MB的FLASH)。其中SDRAM主要負(fù)責(zé)程序運(yùn)行以及中間數(shù)據(jù)的保存,2MB的FLASH主要負(fù)責(zé)源程序的保存以及一些掉電需要保存的歷史數(shù)據(jù),事件日志、圖像數(shù)據(jù)等。 圖像抓拍器的主要作用是當(dāng)有盜情發(fā)生時(shí),進(jìn)行現(xiàn)場(chǎng)抓拍。目前在國(guó)內(nèi)市場(chǎng)上已經(jīng)有很多該類型的產(chǎn)品。我們選擇了深圳安信陽(yáng)光科技有限公司的彩眼HRM600GJ圖像抓拍器。HRM600GJ自帶以太網(wǎng)接口。HRM600GJ在接收到S3C44B0發(fā)來(lái)的拍照命令包后進(jìn)行連續(xù)拍照,所拍攝的圖像為靜態(tài)JPEG格式圖象,解析度為320×240,圖像經(jīng)過(guò)網(wǎng)口發(fā)送給ARM處理器等待處理。由于S3C44B0片內(nèi)并不帶以太網(wǎng)接口,因此必須擴(kuò)展一片以太網(wǎng)接口芯片實(shí)現(xiàn)彩眼和 ARM處理器之間的互連。這里我們選用比較常見(jiàn)的也是性價(jià)比相對(duì)較高的RTL8019AS作為以太網(wǎng)接口芯片。 SN75LBC184是RS485驅(qū)動(dòng)芯片。我們將S3C44B0的第二個(gè)串口(UART1)擴(kuò)展為系統(tǒng)的RS485總線接口。該接口是CPU與“三表”及刷卡器等設(shè)備的通信接口。CPU按照主從模式與“三表”進(jìn)行通信。CPU定義為主設(shè)備,“三表”為從設(shè)備。主從設(shè)備都有唯一的設(shè)備地址,通信時(shí),主設(shè)備向指定地址的從設(shè)備發(fā)查詢命令,從設(shè)備返回當(dāng)前數(shù)據(jù)給主設(shè)備。 4.系統(tǒng)軟件設(shè)計(jì) 4.1終端軟件 傳統(tǒng)的單片機(jī)程序設(shè)計(jì)基本上都采用順序結(jié)構(gòu),實(shí)時(shí)性低且CPU對(duì)資源的利用率不高。這里,我們采用了嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks,它是美國(guó)風(fēng)河(WindRiver)公司于1983年設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)。終端軟件設(shè)計(jì)包括針對(duì)系統(tǒng)硬件平臺(tái)進(jìn)行的操作系統(tǒng)的移植和在VxWorks平臺(tái)上應(yīng)用程序的設(shè)計(jì)兩部分。操作系統(tǒng)的移植的重點(diǎn)也即難點(diǎn)是BSP(Board SupportPackage)的設(shè)計(jì)。VxWorks本身提供了針對(duì)許多處理器的BSP,但針對(duì)S3C44B0的BSP并未提供。在設(shè)計(jì)系統(tǒng)BSP時(shí),我們首先仔細(xì)研究了其中一種BSP代碼范例,了解并掌握了BSP的結(jié)構(gòu),然后在風(fēng)河公司針對(duì)ARM處理器提供給用戶的BSP模板的基礎(chǔ)上設(shè)計(jì)了本系統(tǒng)的BSP,限于篇幅,對(duì)操作系統(tǒng)的移植部分本文將不作闡述。 監(jiān)控終端的應(yīng)用程序采用模塊化的設(shè)計(jì)思想。由于VxWorks支持多任務(wù),我們將每個(gè)功能模塊以一個(gè)任務(wù)來(lái)實(shí)現(xiàn)。從時(shí)間上看,各個(gè)任務(wù)處于并行運(yùn)行的狀態(tài),極大地提高了系統(tǒng)對(duì)事件響應(yīng)的速度,有效地提高了CPU對(duì)資源的利用率。終端應(yīng)用程序包含五個(gè)任務(wù),分別是:消息處理任務(wù)、傳感器檢測(cè)任務(wù)、GPRS通信任務(wù)、RS485總線設(shè)備通信任務(wù)、按鍵檢測(cè)及處理任務(wù)。除消息處理任務(wù)以外,其它五個(gè)任務(wù)優(yōu)先級(jí)相同。VxWorks中任務(wù)優(yōu)先級(jí)從0到255,0為最高優(yōu)先級(jí),255為最低優(yōu)先級(jí)。我們將消息處理任務(wù)優(yōu)先級(jí)設(shè)定為90,其它四個(gè)任務(wù)優(yōu)先級(jí)都設(shè)定為100。這樣可使消息處理任務(wù)盡快的處理其它任務(wù)發(fā)送來(lái)的消息,提高系統(tǒng)對(duì)外部事件的響應(yīng)速度。下面分別對(duì)各個(gè)任務(wù)所實(shí)現(xiàn)的功能進(jìn)行簡(jiǎn)要的介紹。 (1)消息處理任務(wù) 該任務(wù)循環(huán)檢測(cè)自己的消息隊(duì)列,當(dāng)有其它任務(wù)發(fā)送來(lái)的消息時(shí),讀取消息,對(duì)消息進(jìn)行解析,確定事件類型,然后調(diào)用事件相應(yīng)的處理函數(shù)進(jìn)行處理。本系統(tǒng)定義了多種事件類型,主要有如下幾種事件:傳感器告警事件、設(shè)置終端參數(shù)事件、傳感器狀態(tài)請(qǐng)求事件、刷卡開門事件、水表數(shù)據(jù)查詢事件、電表數(shù)據(jù)查詢事件、煤氣表數(shù)據(jù)查詢事件和按鍵設(shè)置事件。 (2)傳感器檢測(cè)任務(wù) 在任務(wù)運(yùn)行的時(shí)間片內(nèi),首先判斷系統(tǒng)當(dāng)前所的處狀態(tài),如果系統(tǒng)處于設(shè)防狀態(tài),那么CPU將對(duì)室內(nèi)所有已安裝傳感器進(jìn)行循環(huán)檢測(cè)。如果系統(tǒng)工作在撤防狀態(tài)下,那么只對(duì)煙霧、煤氣傳感器進(jìn)行檢測(cè)。當(dāng)任務(wù)檢測(cè)到某一傳感器的輸出達(dá)到系統(tǒng)設(shè)定的告警閾值時(shí),將向消息處理任務(wù)的消息隊(duì)列發(fā)送一條傳感器告警消息,消息中包含傳感器通道編號(hào)。 (3)GPRS通信任務(wù) 此任務(wù)完成GPRS模塊的初始化、終端與監(jiān)控中心建立連接以及數(shù)據(jù)通信功能。 (4)RS485總線設(shè)備通信任務(wù) 任務(wù)完成“三表”數(shù)據(jù)的讀取以及用戶刷卡檢測(cè)功能。 (5)按鍵檢測(cè)及處理任務(wù) 該任務(wù)完成對(duì)終端上三個(gè)功能鍵的掃描。當(dāng)其中某個(gè)按鍵被按下時(shí),CPU檢測(cè)到鍵值,向消息處理任務(wù)發(fā)送消息,消息任務(wù)將調(diào)用相應(yīng)的處理函數(shù)進(jìn)行處理。 4.3監(jiān)控中心軟件 監(jiān)控中心軟件采用Borland C++ Builder 6.0開發(fā)。它使用WinSock控件接收和發(fā)送數(shù)據(jù)。中心軟件采用模塊化的設(shè)計(jì)思想,分別實(shí)現(xiàn)系統(tǒng)參數(shù)設(shè)置、操作員權(quán)限管理、用戶管理、告警事件處理、數(shù)據(jù)庫(kù)的維護(hù)以及數(shù)據(jù)打印和系統(tǒng)幫助等功能。 5.結(jié)束語(yǔ) 本系統(tǒng)實(shí)現(xiàn)了對(duì)住宅小區(qū)內(nèi)多用戶室內(nèi)安全狀況的集中監(jiān)控與管理,還實(shí)現(xiàn)了對(duì)用戶家中的水表、電表、煤氣表的遠(yuǎn)程無(wú)線抄送。該系統(tǒng)在實(shí)用性、可靠性以及成本等方面取得了較為滿意的效果。目前,本系統(tǒng)已經(jīng)完成最后調(diào)試,即將進(jìn)入現(xiàn)場(chǎng)試運(yùn)行。由于系統(tǒng)在硬件設(shè)計(jì)上充分考慮到了不同的應(yīng)用場(chǎng)合,留有較大的擴(kuò)展空間,因此相信該系統(tǒng)將會(huì)有較為廣闊的應(yīng)用前景。 |