劉 圖,馮能操,朱儒石
(1.長江上游水文水資源勘測局,重慶 400014;2.長江水利委會 水文局,武漢 430010)
隨著水情自動化的發(fā)展,氣壓式水位傳感器的使用越來越廣泛。氣壓式的水位計主要有使用氣瓶供氣與氣泵打氣兩種,而通常情況下氣壓水位計都使用了SDI-12通信協(xié)議。隨著生活的進步,手機的使用也越來越普遍,短消息更是在人們?nèi)粘I钪袕V泛使用。本文基于使用SDI-12通信協(xié)議的水位計,結(jié)合GSM短信MODEM,構(gòu)建一種方便快捷的短消息水位查詢系統(tǒng)。
硬件結(jié)構(gòu)見圖1。
圖1 硬件聯(lián)接Fig.1 Hardware connection
系統(tǒng)硬件主要由GSM MODEM、單片機處理系統(tǒng)、SDI-12水位計3部分構(gòu)成。水位計測量水位的變化,單片機通過相應(yīng)的SDI-12命令,從水位計獲取水位值,并進行處理。GSM MODEM收到短信后,將信息送單片機,單片機完成短信的解碼。在發(fā)送水位時,由單片機將水位信息編碼后,通過GSM MODEM發(fā)送給查詢水位信息的手機。
2.1.1 GSM MODEM
GSM MODEM 在 此 選 擇 了 SIEMENS TC35IT。TC35IT是西門子公司的1個便捷的即插即用解決方案。做為1個終端產(chǎn)品它內(nèi)置了TC35IT無線模塊,集成了標準的 RS232接口以及SIM卡,可以在PC機上用AT命令通過串口對它進行設(shè)置。這使它成為在聲音和數(shù)據(jù)通訊上通用的1個GSM雙頻終端產(chǎn)品。支持電壓范圍:8~30 V。
2.1.2 SDI-12接口水位計
由于氣壓式水位計無需建井,安裝方便,同時因為鋪設(shè)的是氣管,避免了在水下安裝壓力探頭,出現(xiàn)故障后,維護也相對簡便。5600-0131系列氣泵式水位計,美國SUT RON公司生產(chǎn)的一種氣壓式水位計。因為使用氣泵,相對于使用氣瓶供氣的水位計,避免了更換氣瓶的麻煩。在3~15 m的量程內(nèi)為0.1%的誤差,在-25℃~60℃,具有溫度補償功能,同時可將輸出數(shù)據(jù)的單位設(shè)置為:帕斯卡、英尺、千帕、cm或自定義的單位。支持電壓范圍:8~16 V。
2.1.3 單片機
單片機可選擇STC11F48XE,此單片機48 K程序存儲空間,13 K大小的EEPROM,同時還具有一個獨立的通用全雙工異步串行口(UART),可控制串口通信在[RxD/P3.0,TxD/P3.1]和[RxD/ P1.6,TxD/P1.7]之間切換。通過將串口在P3和P1之間來回切換,將1個串口作為2個主串口分時復(fù)用,可低成本實現(xiàn)2個串口,這樣可以將一組串口引腳和水位計通信,另一組串口引腳用于和GSM MODEM通信。
程序的處理可以分為兩個部分:①與水位計之間的SDI-12通信處理;②短消息的編、解碼處理。系統(tǒng)在收到查詢水位的短消息后,首先可判斷是否是具有查詢水位權(quán)限手機發(fā)來的消息,如果具有查詢權(quán)限,發(fā)送讀取水位命令到水位計,獲取當前的水位信息,將其編碼后發(fā)送到查詢手機。運行流程圖見圖2。
圖2 運行流程圖Fig.2 Operation flow chart
2.2.1 水位計通信
2.2.1.1 SDI-12簡述
SDI-12是一個1 200波特率的串行數(shù)據(jù)接口定義,SDI-12正是其英文縮寫的頭一個字母。主要用于環(huán)境監(jiān)測中數(shù)據(jù)記錄器和傳感器之間的數(shù)據(jù)通信。SDI-12總線可以連接多個SDI-12設(shè)備。這個總線包含了3個部分:1條串行數(shù)據(jù)線、1條地線、1條12 V的電源線。
圖3是SDI數(shù)據(jù)記錄器與1個SDI數(shù)據(jù)傳感器的連接示意圖。
2.2.1.2 SDI-12命令的單片機處理
SDI-12的波特率是1 200,每個字符的數(shù)據(jù)構(gòu)成:1位起始位,7位數(shù)據(jù)位,1位奇偶校驗位,1位停止位。在單片機的串口通信中,異步通信的起始位用“0”表示的字符開始。而在SDI-12的通信中,在發(fā)送每個命令之前,需有一個電平跳變。因此在單片機通信的程序中,可以通過定時器,在發(fā)送引腳先保持12 ms的高電平,然后保持>8.33 ms的低電平,隨后才是命令字符。與水位計通信的流程圖見圖4。
圖3 SDI-12連接示意圖Fig.3 SDI-12 connection chart
圖4 水位數(shù)據(jù)處理流程圖Fig.4 Water level data-processing flow chart
2.2.2 GSM MODEM通信
2.2.2.1 GSM MODEM的設(shè)置
單片機與GSM MODEM之間通過AT命令通信,具體介紹可以查看廠商的AT命令手冊。GSM MODEM在使用前都需對其正確的設(shè)置。設(shè)置順序如下:
1)AT+CMGF=0;使用PDU格式發(fā)送與接收短消息,關(guān)于PDU的編解碼,后面有介紹。
2)AT+CNMI=2,2,2,0,1;接收短消息后的輸出方式,采取直接傳輸給設(shè)備,避免多次寫SIM卡而減少其壽命。
3)AT+CSCA=“+8613800230500”;設(shè)置短消息中心號碼,例子使用的是重慶地區(qū)短消息中心號碼。
4)AT&W;保存設(shè)置。
2.2.2.2 短信編、解碼
前面介紹了短信MODEM的設(shè)置,將短消息的編碼格式選擇為 PDU模式。在此模式下,可以靈活地選擇短消息的發(fā)送方式,既可以發(fā)送ASCII字符,也可以發(fā)送中文字符。PDU串表面上是一串ASCII碼,由‘0”-‘9”、‘A”-‘F”這些數(shù)字和字母組成。它們是8位字節(jié)的16進制數(shù),或者BCD碼10進制數(shù)。PDU串不僅包含可顯示的消息本身,還包含很多其它信息,如SMS服務(wù)中心號碼、目標號碼、回復(fù)號碼、編碼方式和服務(wù)時間等。發(fā)送和接收的PDU串,結(jié)構(gòu)是不完全相同的。先用兩個實際的例子說明PDU串的結(jié)構(gòu)和編排方式。
例1 發(fā)送:SMSC號碼是+8613800230500,對方號碼是 13996282651,消息內(nèi)容是“壩前水位130.00 m”。從手機發(fā)出的PDU串可以是
08 91 68 31 08 20 03 05 F0 11 00 0D 91 68 31 99 26 28 56 F1 00 08 00 16 57 5D 52 4D 6C 34 4F 4D 00 31 00 33 00 30 00 2E 00 30 00 30 7C 73
分段 說明08 短信中心地址信息的長度,8個字節(jié)91 短信中心地址格式,采用國際格式號碼68 31 08 20 03 05 F0 短信中心地址,13800230500 11 基本參數(shù),TP-VP用相對格式00 消息基準值0D 目標地址數(shù)字個數(shù),13個10進制數(shù)91 目標地址格式,采用國際格式號碼68 31 99 26 28 56 F1 13996282651 00 協(xié)議標識,普通GSM類型,點到點方式08 編碼方式,UCS2編碼00 短消息有效期,5 min 16 16進制表示用戶信息長度,22字節(jié)57 5D 52 4D 6C 34 4F 4D 00 31 00 33 00 30 00 2E 00 30 00 30 7C 73 用戶信息,壩前水位130.00 m
例2 接收:SMSC號碼是+8613800230500,對方號碼是 13996282651,消息內(nèi)容是“CHAXUN”。手機接收到的PDU串可以是
08 91 68 31 08 20 03 05 F0 24 0D 91 68 31 99 26 28 56 F1 00 00①90 70 11 80 45 22 80②06 43 64 10 5B 75 02
對照發(fā)送的例子,將接收的PUD串中不同之處加黑標示:①00表示用戶信息采用7-bit編碼,其解碼需將7位字符編碼轉(zhuǎn)換為8位ASCII字符;②90 70 11 80 45 22 80表示發(fā)送時間為09-7-11 08:45:22,+8時區(qū)。
2.2.2.3 短信處理流程
在短信的內(nèi)容編碼選擇上,對于接收部分,建議使用7-bit編碼,因為廣告短信都是使用UCS2編碼,可以在解析短信內(nèi)容前就將廣告短信過濾掉,減少單片機的處理時間。發(fā)送部分采用UCS2編碼,這樣可以讓接收方更直觀地讀取到水位信息。短信接收與發(fā)送流程圖見圖5,圖6。
本文介紹了一種短消息水位查詢系統(tǒng)的構(gòu)建,利用短信發(fā)送模塊,可以根據(jù)需要構(gòu)建一個水位或者水情信息的的遠程查詢系統(tǒng)?;贕SM的水位查詢系統(tǒng)具有傳輸速度快,全天候工作等特點,具有廣泛的適用性,可以為水情監(jiān)測部門提供實時的水位信息,可以節(jié)約大量的人力、物力。
[1] SDI-12 Support Group.SDI-12 a Serial-Digital Interface Standard for Microprocessor-Based Sensors[Z].Utah USA,SDI-12 Support Group,2009.
[2] SIEMENS mobkle.TC35i AT Command Set[Z].Munich Germany,SIEMENS,2002.
[3] 王洪瑞,權(quán)愛榮,肖金壯.GSM模塊收發(fā)中文短消息的關(guān)鍵技術(shù)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2008,(4):73-75.
[4] 吳 剛,朱 一.短信服務(wù)PDU收發(fā)技術(shù)研究[J].裝備制造技術(shù),2008,(12):75-77.