張敬普,李永明
(1.平頂山學(xué)院 軟件學(xué)院,河南 平頂山 467000;2.平頂山學(xué)院 計(jì)算機(jī)學(xué)院,河南 平頂山 467000)
隨著GSM網(wǎng)絡(luò)移動通信技術(shù)的高速發(fā)展,移動通信技術(shù)已經(jīng)應(yīng)用到人們?nèi)粘I?、工作的各個方面[1]?;贕SM短信通訊的家居智能監(jiān)控系統(tǒng)是一個綜合利用GSM網(wǎng)絡(luò)通信技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、自動控制技術(shù)與自動檢測技術(shù)等構(gòu)成的無線監(jiān)控系統(tǒng),能夠?qū)崿F(xiàn)道終端設(shè)備(門窗、空調(diào)、冰箱等)的開關(guān)、終端環(huán)境的溫度的檢測、遠(yuǎn)程終端設(shè)備電壓的監(jiān)測、紅外防盜報警器的監(jiān)控、煤氣泄露檢測等功能。借助于移動通信GSM網(wǎng)絡(luò)、互聯(lián)網(wǎng),管理人員通過手機(jī)可以隨時、隨地掌握家居的工作狀態(tài)和環(huán)境狀況,提高了家居環(huán)境的安全系數(shù)。
本系統(tǒng)是一個有主控制系統(tǒng)組成分布式的監(jiān)測系統(tǒng),通過GSM網(wǎng)絡(luò),控制系統(tǒng)在主控制系統(tǒng)的控制下進(jìn)行工作,系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 General structure diagram of the system
本系統(tǒng)采用的是價比適當(dāng)?shù)?9C51單片機(jī)和TC35i型GSM模塊。TC35i是新一代無線通信GSM模塊[2]。TC35i由供電模塊(ASIC)、閃存、ZIF連接器、天線接口等6部分組成。作為TC35i的核心基帶處理器主要處理GSM終端內(nèi)的語音和數(shù)據(jù)信號,并涵蓋了蜂窩射頻設(shè)備中的所有模擬和數(shù)字功能。GSM模塊用來與手機(jī)終端通信,89C51單片機(jī)則用于主控制系統(tǒng),分別處理溫度部分,AD轉(zhuǎn)換控制部分,遠(yuǎn)程終端設(shè)備控制部分,紅外防盜報警控制部分及其它控制部分等。
設(shè)備終端采用89C51芯片做單片機(jī)的內(nèi)核,其性能優(yōu)越,有40個引腳,1個8位的微處理器,2個16位時鐘定時器記數(shù)器,1個片內(nèi)RAM,1個片內(nèi) ROM,4個8位并行I/O口P0-P3,每個口都可以用做輸入或者輸出,1個全雙工UART的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)于外界的通信。單片機(jī)板上有3個發(fā)光二級管,代表終端設(shè)備狀態(tài);一個蜂鳴器,用來紅外防盜、煤氣泄露檢報警等,其中還有兩個I/O口用來檢測門口防盜狀態(tài);系統(tǒng)中有一個AD轉(zhuǎn)換,用來模擬被監(jiān)測電壓,系統(tǒng)設(shè)計(jì)電路圖如圖2所示。
單片機(jī)直接外接TC35i模塊來接收信息,用串口中斷來檢測信息的到來并且返回當(dāng)前設(shè)備狀態(tài),經(jīng)過處理接收的信息,單片機(jī)做出相應(yīng)的操作。89C51與TC35i之間通過異步串行接口進(jìn)行通信,通信速率為9 600 b/s,具有1位起始位、8位數(shù)據(jù)位、1位停止位、無奇偶校驗(yàn)位。
圖2 系統(tǒng)電路圖Fig.2 Circuit diagram of the system
1)測量部分:采用內(nèi)帶AD轉(zhuǎn)換的DS18B20溫度傳感器,利用89C51單片機(jī)把溫度傳感器轉(zhuǎn)換的數(shù)據(jù)讀取進(jìn)來。
DS18B20支持“一線總線”接口,測量溫度范圍為-55~+125 °C,在-10~+85 °C 范圍內(nèi),精度為±0.5 °C。 DS1822 的精度較差為±2°C?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。
DS18B20中的溫度傳感器可完成對溫度的測量,它的測量精度可以配置成9位、10位、11位或12位4種狀態(tài)。溫度傳感器在測量完成后將測量的結(jié)果存儲在 DS18B20的兩個8BIT的RAM中,單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后。
根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500 μs,然后釋放,DS18B20收到信號后等待 16~60 μs 左右, 后發(fā)出 60~240 μs 的存在低脈沖,主CPU收到此信號表示復(fù)位成功。
2)AD轉(zhuǎn)換控制部分:采用ADC0809轉(zhuǎn)換芯片,用來模擬被監(jiān)測電壓。
本次設(shè)計(jì)中使用八通道的 IN0,將 A,B,C(25 24 23)管腳直接接地固定選擇IN0,ALE與ST管腳連通,接單片機(jī)P2.3 腳,EOC 接 P2.2 腳,VREF+接 VCC,VREF-接 GND,引出8根數(shù)據(jù)腳接P0口,由此完成硬件連接。
3)設(shè)備控制部分:編程控制單片機(jī)的I/O口輸出高、低電平來控制繼電器的斷與開,從而來控制監(jiān)測遠(yuǎn)程終端設(shè)備的斷與開。
4)驅(qū)動控制部分:在本系統(tǒng)中,驅(qū)動模塊用于控制空調(diào)等家用電器的開關(guān)從而達(dá)到改善室內(nèi)環(huán)境的目的。由于不同型號的繼電器的輸入驅(qū)動電流不同,所以在單片機(jī)輸出引腳通過三極管放大控制電流來驅(qū)動繼電器動作,從而使用戶方便地遠(yuǎn)程控制家用電器。
系統(tǒng)監(jiān)控軟件在平時不斷檢測各報警點(diǎn)的信號,當(dāng)有異常情況時,智能監(jiān)控模塊自動發(fā)出報警信息進(jìn)行短信報警,當(dāng)然也可接收監(jiān)控者的控制指令。本系統(tǒng)軟件設(shè)計(jì)包括GSM模塊通信軟件,單片機(jī)控制板軟件設(shè)計(jì)等。
下位機(jī)系統(tǒng)和上位機(jī)系統(tǒng)所使用的無線通訊模塊都是帶串口的GSM MODEM[3]。標(biāo)準(zhǔn)的GSM模塊都支持GSM07.05所定義的AT[4]命令集的指令。因此,MCU通過UART串口直接向GSM模塊發(fā)AT命令,就可以方便簡潔地實(shí)現(xiàn)基于GSM短信息的收發(fā)、查尋和管理。通過串口向SIM300模塊發(fā)送AT指令可以設(shè)置短信中心號碼、短信格式、短信接收對象和方式以及TCP服務(wù)器等。短信格式一般分為TEXT與PDU[5],本系統(tǒng)采用Text模式進(jìn)行發(fā)送和接收短信息。采用Text模式發(fā)送接收短信息的步驟分為初始化GSM模塊、發(fā)送文本短信息和接收短信息,相關(guān)的AT指令如下:
1)AT+CSCA=“中心號碼” 設(shè)置短信中心號碼,返回OK,表示設(shè)置成功。
2)AT+CMGF=1/0 其中,1表示設(shè)置消息內(nèi)容為 Text模式模式,0表示設(shè)置消息內(nèi)容為PDU模式。返回OK,表示設(shè)置成功。在本系統(tǒng)中此設(shè)置為1。
3)AT+CNMI=2,1 “AT+CNMI” 用于設(shè)置GSM模塊收到新短信后的指示方式[3],其中2表示當(dāng)模塊收到短信時,有提示信息返回,返回格式為:+CMTI:“SM”,index。1表示關(guān)閉回報功能,否則可能會干擾單片機(jī)處理工作,影響系統(tǒng)的工作效率。返回OK,表示設(shè)置成功。
4)AT+CMGD=index 刪除序號為index的短信,返回OK,表示刪除成功。
5)AT+CMGS=“手機(jī)號碼” 發(fā)送短信命令,輸入此命令后等返回“>”符號后,即可輸入短信內(nèi)容,用“Ctrl+Z”(在程序中用0X1A0D表示)表示短信結(jié)束,成功發(fā)送后模塊返回OK。
6)AT+CMGR=index 讀取序號為index的短信,內(nèi)容包括短信的狀態(tài),來信號碼,時間及短信內(nèi)容等。
系統(tǒng)程序流程軟件設(shè)計(jì)的重點(diǎn)在于單片機(jī)的編程,主要是以下幾個方面:
1)主程序開始要對模塊進(jìn)行初始化,初始化的工作包括設(shè)置串口速率、無線網(wǎng)絡(luò)登錄以及設(shè)置短信模式為Text模式并且設(shè)置異步串口通信方式,本系統(tǒng)中設(shè)置波特率9 600 bps,無校驗(yàn)位,8個數(shù)據(jù)位。在TC35i初始化之前要用定時器延時5 s,等待TC35i自檢完畢后,然后檢查SIM卡,若檢查到無SIM卡,系統(tǒng)就會調(diào)用聲音報警子程序;若有SIM卡則繼續(xù)檢查移動通信運(yùn)營商,而后再對TC35i進(jìn)行初始化,主要是用AT命令初始化發(fā)送方式、設(shè)置短信中心號碼和登錄網(wǎng)絡(luò)的測試等。初始化的程序如下:
2)發(fā)送消息子程序,單片機(jī)自動地完成對設(shè)備狀態(tài)的循環(huán)檢測,如果監(jiān)控到的數(shù)字量或模擬量出現(xiàn)問題,則單片機(jī)就通過AT命令控制TC35i向監(jiān)控者發(fā)送短消息報警,通過向TC35i寫入不同的AT指令,能完成多種功能,如發(fā)送SMS消息、接收SMS消息等。
發(fā)送“AT+CMGS= 電話號碼”命令,TC35i返回“>”符號。這時發(fā)送的報警信息內(nèi)容必須以字符0X1A結(jié)尾。當(dāng)信息發(fā)送成功時,TC35i返回“OK”, 否則返回“ERROR”。
3)接收消息子程序,通過 AT命令將 GSM模塊設(shè)置為接收模式,初始化串口并打開串口中斷[6]。系統(tǒng)對接收到的短消息進(jìn)行解析,根據(jù)解析出來的發(fā)送端號碼來判斷此短信是否有效,若有效則執(zhí)行相應(yīng)的命令,否則直接刪除短信。
4)DS18B20溫度傳感器的讀數(shù)子程序,包括將數(shù)據(jù)線置高電平1、延時、數(shù)據(jù)線拉到低電平等過程,相應(yīng)的程序如下:
本系統(tǒng)通過用戶手機(jī),利用GSM模塊和公共移動網(wǎng)絡(luò),能成功的向遠(yuǎn)程終端發(fā)送信息,遠(yuǎn)程終端可以通過處理信息,控制多臺遠(yuǎn)程終端設(shè)備(門窗、空調(diào)、冰箱等)的開關(guān);監(jiān)測終端環(huán)境的溫度;監(jiān)測遠(yuǎn)程終端設(shè)備的電壓;兩個紅外防盜報警器隨時監(jiān)控等,煤氣泄露檢測,實(shí)現(xiàn)了要達(dá)到的目標(biāo)。本系統(tǒng)性能穩(wěn)定,有比較廣闊的應(yīng)用前景。
[1]王志民,李晟.基于GSM短信通訊的路燈智能監(jiān)控系統(tǒng)[J].自動化與儀器儀表,2006(5):72-74.WANG Zhi-min,LI Cheng.The automatic monitoring system of street light based on GSM communication[J].Automation&Instrumentation,2006(5):72-74.
[2]范志輝,張平,霍雷.基于GSM的機(jī)房環(huán)境智能監(jiān)控系統(tǒng)設(shè)計(jì)[J].電氣自動化,2009(1):56-58.FAN Zhi-hui, ZHANG Ping, CUI Lei.Design of a kind of computer-room environment automatic monitoring system based on GSM[J].Electrical Automation,2009(1):56-58.
[3]盧軍,趙慧濤,鐘華.基于GSM的電機(jī)智能監(jiān)測系統(tǒng)的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009(19):85-87.LU Jun, ZHAO Hui-tao, ZHONG Hua.The reaserch on intelligent monitor system of asynchronous motor based on global system for mobile communications[J].Microcomputer Information, 2009(19):85-87.
[4]Wavecom公司.AT Commands Interface[EB/OL].[2011-07-26]http://www.atasun.net/download.
[5]李德領(lǐng),馬潮.嵌入式系統(tǒng)中短消息實(shí)時處理的實(shí)現(xiàn)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006(1):33-35,39.LI De-song, MA Chao.The Implementation of SMS real-time processing in Embedded systems[J].Microcontrollers&Embedded Systems,2006(1):33-35,39.
[6]葉娜.基于GSM的果園土壤濕度智能監(jiān)控系統(tǒng)設(shè)計(jì)[D].河北:河北農(nóng)業(yè)大學(xué),2011.