張敬普,李永明
(1.平頂山學院 軟件學院,河南 平頂山 467000;2.平頂山學院 計算機學院,河南 平頂山 467000)
隨著GSM網絡移動通信技術的高速發展,移動通信技術已經應用到人們日常生活、工作的各個方面[1]。基于GSM短信通訊的家居智能監控系統是一個綜合利用GSM網絡通信技術、計算機網絡技術、自動控制技術與自動檢測技術等構成的無線監控系統,能夠實現道終端設備(門窗、空調、冰箱等)的開關、終端環境的溫度的檢測、遠程終端設備電壓的監測、紅外防盜報警器的監控、煤氣泄露檢測等功能。借助于移動通信GSM網絡、互聯網,管理人員通過手機可以隨時、隨地掌握家居的工作狀態和環境狀況,提高了家居環境的安全系數。
本系統是一個有主控制系統組成分布式的監測系統,通過GSM網絡,控制系統在主控制系統的控制下進行工作,系統總體結構如圖1所示。

圖1 系統總體結構圖Fig.1 General structure diagram of the system
本系統采用的是價比適當的89C51單片機和TC35i型GSM模塊。TC35i是新一代無線通信GSM模塊[2]。TC35i由供電模塊(ASIC)、閃存、ZIF連接器、天線接口等6部分組成。作為TC35i的核心基帶處理器主要處理GSM終端內的語音和數據信號,并涵蓋了蜂窩射頻設備中的所有模擬和數字功能。GSM模塊用來與手機終端通信,89C51單片機則用于主控制系統,分別處理溫度部分,AD轉換控制部分,遠程終端設備控制部分,紅外防盜報警控制部分及其它控制部分等。
設備終端采用89C51芯片做單片機的內核,其性能優越,有40個引腳,1個8位的微處理器,2個16位時鐘定時器記數器,1個片內RAM,1個片內 ROM,4個8位并行I/O口P0-P3,每個口都可以用做輸入或者輸出,1個全雙工UART的串行I/O口,用于實現單片機之間或單片機于外界的通信。單片機板上有3個發光二級管,代表終端設備狀態;一個蜂鳴器,用來紅外防盜、煤氣泄露檢報警等,其中還有兩個I/O口用來檢測門口防盜狀態;系統中有一個AD轉換,用來模擬被監測電壓,系統設計電路圖如圖2所示。
單片機直接外接TC35i模塊來接收信息,用串口中斷來檢測信息的到來并且返回當前設備狀態,經過處理接收的信息,單片機做出相應的操作。89C51與TC35i之間通過異步串行接口進行通信,通信速率為9 600 b/s,具有1位起始位、8位數據位、1位停止位、無奇偶校驗位。

圖2 系統電路圖Fig.2 Circuit diagram of the system
1)測量部分:采用內帶AD轉換的DS18B20溫度傳感器,利用89C51單片機把溫度傳感器轉換的數據讀取進來。
DS18B20支持“一線總線”接口,測量溫度范圍為-55~+125 °C,在-10~+85 °C 范圍內,精度為±0.5 °C。 DS1822 的精度較差為±2°C。現場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統的抗干擾性。
DS18B20中的溫度傳感器可完成對溫度的測量,它的測量精度可以配置成9位、10位、11位或12位4種狀態。溫度傳感器在測量完成后將測量的結果存儲在 DS18B20的兩個8BIT的RAM中,單片機可通過單線接口讀到該數據,讀取時低位在前,高位在后。
根據DS18B20的通訊協議,主機控制DS18B20完成溫度轉換必須經過3個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發送一條ROM指令,最后發送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數據線下拉500 μs,然后釋放,DS18B20收到信號后等待 16~60 μs 左右, 后發出 60~240 μs 的存在低脈沖,主CPU收到此信號表示復位成功。
2)AD轉換控制部分:采用ADC0809轉換芯片,用來模擬被監測電壓。
本次設計中使用八通道的 IN0,將 A,B,C(25 24 23)管腳直接接地固定選擇IN0,ALE與ST管腳連通,接單片機P2.3 腳,EOC 接 P2.2 腳,VREF+接 VCC,VREF-接 GND,引出8根數據腳接P0口,由此完成硬件連接。
3)設備控制部分:編程控制單片機的I/O口輸出高、低電平來控制繼電器的斷與開,從而來控制監測遠程終端設備的斷與開。
4)驅動控制部分:在本系統中,驅動模塊用于控制空調等家用電器的開關從而達到改善室內環境的目的。由于不同型號的繼電器的輸入驅動電流不同,所以在單片機輸出引腳通過三極管放大控制電流來驅動繼電器動作,從而使用戶方便地遠程控制家用電器。
系統監控軟件在平時不斷檢測各報警點的信號,當有異常情況時,智能監控模塊自動發出報警信息進行短信報警,當然也可接收監控者的控制指令。本系統軟件設計包括GSM模塊通信軟件,單片機控制板軟件設計等。
下位機系統和上位機系統所使用的無線通訊模塊都是帶串口的GSM MODEM[3]。標準的GSM模塊都支持GSM07.05所定義的AT[4]命令集的指令。因此,MCU通過UART串口直接向GSM模塊發AT命令,就可以方便簡潔地實現基于GSM短信息的收發、查尋和管理。通過串口向SIM300模塊發送AT指令可以設置短信中心號碼、短信格式、短信接收對象和方式以及TCP服務器等。短信格式一般分為TEXT與PDU[5],本系統采用Text模式進行發送和接收短信息。采用Text模式發送接收短信息的步驟分為初始化GSM模塊、發送文本短信息和接收短信息,相關的AT指令如下:
1)AT+CSCA=“中心號碼” 設置短信中心號碼,返回OK,表示設置成功。
2)AT+CMGF=1/0 其中,1表示設置消息內容為 Text模式模式,0表示設置消息內容為PDU模式。返回OK,表示設置成功。在本系統中此設置為1。
3)AT+CNMI=2,1 “AT+CNMI” 用于設置GSM模塊收到新短信后的指示方式[3],其中2表示當模塊收到短信時,有提示信息返回,返回格式為:+CMTI:“SM”,index。1表示關閉回報功能,否則可能會干擾單片機處理工作,影響系統的工作效率。返回OK,表示設置成功。
4)AT+CMGD=index 刪除序號為index的短信,返回OK,表示刪除成功。
5)AT+CMGS=“手機號碼” 發送短信命令,輸入此命令后等返回“>”符號后,即可輸入短信內容,用“Ctrl+Z”(在程序中用0X1A0D表示)表示短信結束,成功發送后模塊返回OK。
6)AT+CMGR=index 讀取序號為index的短信,內容包括短信的狀態,來信號碼,時間及短信內容等。
系統程序流程軟件設計的重點在于單片機的編程,主要是以下幾個方面:
1)主程序開始要對模塊進行初始化,初始化的工作包括設置串口速率、無線網絡登錄以及設置短信模式為Text模式并且設置異步串口通信方式,本系統中設置波特率9 600 bps,無校驗位,8個數據位。在TC35i初始化之前要用定時器延時5 s,等待TC35i自檢完畢后,然后檢查SIM卡,若檢查到無SIM卡,系統就會調用聲音報警子程序;若有SIM卡則繼續檢查移動通信運營商,而后再對TC35i進行初始化,主要是用AT命令初始化發送方式、設置短信中心號碼和登錄網絡的測試等。初始化的程序如下:

2)發送消息子程序,單片機自動地完成對設備狀態的循環檢測,如果監控到的數字量或模擬量出現問題,則單片機就通過AT命令控制TC35i向監控者發送短消息報警,通過向TC35i寫入不同的AT指令,能完成多種功能,如發送SMS消息、接收SMS消息等。
發送“AT+CMGS= 電話號碼”命令,TC35i返回“>”符號。這時發送的報警信息內容必須以字符0X1A結尾。當信息發送成功時,TC35i返回“OK”, 否則返回“ERROR”。
3)接收消息子程序,通過 AT命令將 GSM模塊設置為接收模式,初始化串口并打開串口中斷[6]。系統對接收到的短消息進行解析,根據解析出來的發送端號碼來判斷此短信是否有效,若有效則執行相應的命令,否則直接刪除短信。
4)DS18B20溫度傳感器的讀數子程序,包括將數據線置高電平1、延時、數據線拉到低電平等過程,相應的程序如下:

本系統通過用戶手機,利用GSM模塊和公共移動網絡,能成功的向遠程終端發送信息,遠程終端可以通過處理信息,控制多臺遠程終端設備(門窗、空調、冰箱等)的開關;監測終端環境的溫度;監測遠程終端設備的電壓;兩個紅外防盜報警器隨時監控等,煤氣泄露檢測,實現了要達到的目標。本系統性能穩定,有比較廣闊的應用前景。
[1]王志民,李晟.基于GSM短信通訊的路燈智能監控系統[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].電氣自動化,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].微計算機信息,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]李德領,馬潮.嵌入式系統中短消息實時處理的實現[J].單片機與嵌入式系統應用,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的果園土壤濕度智能監控系統設計[D].河北:河北農業大學,2011.