黃顯澍
(哈爾濱安天科技股份有限公司,哈爾濱150001)
現有的電話監控裝置采用DTMF(雙音多頻)信號的編解碼來實現,依靠用戶在撥通電話監控器后,按用戶電話機上的按鍵發送DTMF信號給電話監控器,監控器接收到信號,經解碼后根據按鍵代表的意義來執行相應的動作。執行結果后依靠監控器發出的聲音或語音提示反饋給用戶。其缺點是因為電話機只有數字鍵,所以對設備的控制必須依賴編號。也就是用戶只能對設備進行編號操作,例如對3號設備進行操作,但是3號設備是什么,用戶必須牢記在心,一旦遺忘,只有查看系統幫助文件才能知道。另外,由于是采用打電話的方式,打一次電話,至少計一次市內電話費,如果是長途,則話費就更貴了。
由于目前GSM網絡基本覆蓋全國,GSM手機已經到了普及的程度,手機在全國收發短消息的費用為0.1元/條或更低,而且手機有漢字顯示和輸入功能。因此,利用GSM手機的短消息收發功能實現監控功能的數據采集系統優勢明顯。
工程GSM短消息遠程數據采集監控系統整體結構如圖1所示,由西門子的GSM通信模塊TC35,單片機電路,八路數據采集接口,溫度檢測模塊,濕度檢測模塊,電壓采集模塊等構成。主控模塊的單片機電路通過AT指令與GSM通信模塊TC35進行短消息的收發,單片機電路解釋短消息指令并通過八路數據采集接口對各模塊進行控制。通過這個接口可以實現對工程要求的溫度、濕度,以及電壓等八路數據進行監測。
GSM中文短消息是按照PDU(Protocol Data Unit)格式進行收發的,最多70個漢字字符,中文字符按照UNICODE進行編碼,這與計算機的漢字編碼不同。

圖1 系統結構框圖
PDU相當于一個數據包,它由構成消息(SMS)的信息組成。作為一種數據單元,它必須包含源/目的地址、保護(有效)時間、數據格式、協議類型和正文,正文長度可達140字節,它們都以十六進制表示。PDU結構根據短消息由移動終端發起或以移動終端為目的而不同。
當由移動終端發起時,PDU的格式為:

SMSC PDU類型 MR DA PID DCS VP UDL UD(0~140octed)
當以移動終端為目的時,PDU的格式為:

SMSC PDU類型 OA PID DCS SCTS UDL UD(0~140octed)
其中,SMSC為短消息業務中心地址,DA/OA為源/目的地址,PID為協議識別,DCS為數據編碼,UDL為用戶數據長度,UD為用戶數據,VP為有效時間,MR指明是發出信息,SCTS指明短消息到達業務中心的時間。
因此只要軟件上接照PDU格式解讀或編寫相應的數據格式即可接收或發送短消息。關于短消息的詳細內容見參考文獻1,關于AT指令的詳細操作見參考文獻2。下面分別給出發送和接收的例子:
例1發送:SMSC號碼是+8613800250500,對方號碼是 13851872468,消息內容是“hellohello”。從手機發出的PDU串可以是
08 91 68 31 08 20 05 05 F0 11 00 0D 91 68 31 58 81 27 64 F8 00 00 00 06 E8 32 9B FD 46 97 D9 EC 37
對照規范,具體分析如下表:

表1 短信發送PDU字符串對照表
例2接收:SMSC號碼是+8613800250500,對方號碼是13851872468,消息內容是“你好!”。手機接收到的PDU串可以是
08 91 68 31 08 20 05 05 F0 84 0D 91 68 31 58 81 27 64 F8 00 08 30?30 21 80 63 54 80 06 4F 60 59 7D 00 21
對照規范,具體分析如表2所示。
若基本參數的最高位(TP-RP)為0,則沒有回復地址的三個段。從Internet上發出的短消息常常是這種情形。注意號碼和時間的表示方法,不是按正常順序順著來的,而且要以‘F’將奇數補成偶數。
系統主控模塊電路結構框圖見圖2,采用51系列的AT89C51為CPU與GSM通信模塊TC35、并行AD器件ADC0809、看門狗和串行EEPROM 24C02相連.系統的設置信息等保存在串行EEPROM中,而且被采集的模塊數量不超過8個。系統對用戶控制短消息進行處理后,通過并行AD讀取各模塊的數據,并通過GSM通信模塊TC35將各路數據以中文短消息的形式發送到用戶的手機中。這就完成了用戶對數據采集的遠程控制。
GSM通信模塊安裝了SIM卡,這就是本系統的號碼。
溫度、濕度檢測模塊以及電壓采集模塊給主控模塊提供了數據采集接口,濕度傳感器采用KT-HM1,溫度傳感器采用價格低廉的一線制傳感器DS18B20。

表2 短信接收PDU字符串對照表

圖2 主控模塊結構框圖
軟件結構比較簡單,單片機電路與模塊的通信采用傳統的主從式通信。軟件的關鍵是做好GSM通信模塊與單片機的接口以及可靠的數據采集。同時也可根據需要做出PC機的監控程序,明了的顯示各路數據的采集狀況。當然這需要配以相關的硬件,但這也主要是COMS電平與TTL電平的轉換,只要應用MAX232就可以實現,這里就不再敘述了。
在系統安裝完成后,首先需要對八路數據采集模塊的地址編號進行設定,不能有沖突。然后采用GSM手機發送短信到系統進行密碼的修改。最后,用戶通過短消息對各路采集模塊的地址進行漢字名稱定義,以便將來監控。例如編號是1號的模塊是溫度檢測模塊,測量的是環境溫度。2號的模塊是濕度檢測模塊,測量的是環境濕度。則發送短消息“數據采集,設置,1溫度,2濕度”到系統,則系統記錄1號模塊是環境溫度檢測模塊,2號模塊是環境濕度檢測模塊。以后,如果用戶希望查看環境的溫度與濕度,則用GSM手機發送短消息“數據采集,溫度,濕度”給系統即可執行相應的操作。用戶也可以發送查詢指令對八路數據采集進行檢測。
·TC35 在實際工作時,峰值電流很大且對電源紋波的要求很高,因此建議供電電源采用高質量的電源。否則極易造成TC35 工作不穩定和單片機電路的不穩定。
·在有的地區,不同的GSM網絡間傳送短消息不是很滿意,有延遲甚至有丟失短消息的現象。
本設計新穎實用,操作簡單,人機界面友好,符合我國國情。但由于現在GSM通信模塊的價格目前比較高,所以它的使用受到了一定的限制。
[1]馬崇良.單片微型計算機原理及應用[M].北京:中國紡織出版社,1996.
[2]胡輝.單片機原理及應用沒計[M].北京:中國水利水電出版社,2005.
[3]潘永雄.新編單片機原理與應用[M].西安:西安電子科技大學出版社,2003.
[4]SIEMENS.SIEMENS AG Developer`s Guide SMS with the sms PDU - mode[EB/OL].SIEMENS,1997.http://w1.siemens.com/entry/cc/en/.
[5]SIEMENS.SIEMENS AT -Commands for GSM -Engine TC35 Version 1.0 [EB/OL].SIEMENS,2001.http://w1.siemens.com/entry/cc/en/.