GSM通信在水位遠(yuǎn)程檢測(cè)系統(tǒng)中的應(yīng)用
摘 要:介紹一種利用單片機(jī)及GsM無線收發(fā)模塊構(gòu)成的水位顯示及遠(yuǎn)程檢測(cè)系統(tǒng)。在系統(tǒng)中,設(shè)計(jì)一種簡(jiǎn)易的水位檢測(cè)方法以測(cè)得水位的狀況,通過單片機(jī)顯示系統(tǒng)在水位現(xiàn)場(chǎng)以LED的方式顯示出來,并通過與之相連的GSM模塊將水位信息以一種無線的方式發(fā)送給遠(yuǎn)程終端,起到檢測(cè)的作用。
關(guān)鍵詞:GSM GSl00 串口通信 遠(yuǎn)程檢測(cè) S9C2051
引 言
供水系統(tǒng)中的水塔和高位水池等設(shè)備由于所處地勢(shì)高,上下極為不便,有時(shí)水即將用完也不知道,造成需用水時(shí)卻無水可用的情況。此外,在向池中注入水的過程中,由于不知道水位的情況,也就無法控制注水量的多少,這會(huì)嚴(yán)重影響正常的工作效率。為此需要對(duì)水位進(jìn)行自動(dòng)顯示、監(jiān)測(cè)和報(bào)警。傳統(tǒng)的水位檢測(cè)系統(tǒng)一般通過有線方式與監(jiān)控中心取得聯(lián)系,這種方式不但維護(hù)起來困難,而且在很大程度上限制了其在時(shí)空上的拓展性。采用GSM模塊與單片機(jī)構(gòu)成的系統(tǒng)則能夠解決以上的問題。通過單片機(jī)的并行I/0口可以很方便的實(shí)現(xiàn)水位的顯示功能。現(xiàn)有的GSM網(wǎng)絡(luò)在全國(guó)范圍內(nèi)實(shí)現(xiàn)了聯(lián)網(wǎng)和漫游,具有網(wǎng)絡(luò)能力強(qiáng)的特點(diǎn),用戶無需另外組網(wǎng),在極大提高網(wǎng)絡(luò)覆蓋范圍的同時(shí)為客戶節(jié)省了昂貴的建網(wǎng)費(fèi)用和維護(hù)費(fèi)用。當(dāng)采用GSM模塊時(shí),就可以通過一種無線通信的方式以實(shí)現(xiàn)遠(yuǎn)程終端監(jiān)控和報(bào)警的功能。
1 水位的測(cè)試及顯示系統(tǒng)
水位的測(cè)試通常有兩種方法;超聲波水位探測(cè)儀和干簧管式水位顯示儀。這兩種方法雖然可行但不切實(shí)際,本文設(shè)計(jì)了一種簡(jiǎn)易的水位檢測(cè)方法。該水位檢測(cè)部分由絕緣支架、電極、導(dǎo)管和浮球幾部分構(gòu)成,如圖1所示。浮子由1個(gè)直徑15 cm的不銹鋼球與1根長(zhǎng)105 cm、外徑15 mm的不銹鋼管焊接而成。導(dǎo)管是一根外徑20 mm、內(nèi)徑17 mm的PVC塑料管。支架由長(zhǎng)80 cm的電工導(dǎo)軌制作而成。其余部分安裝在1個(gè)長(zhǎng)25 cm、寬20 cm、厚5 cm的塑料盒內(nèi)。
水位測(cè)試系統(tǒng)與單片機(jī)的并行I/0口、電阻、電源及LED發(fā)光二極管共同組成水位檢測(cè)顯示系統(tǒng),如圖2所示。
電極K1、K2和K3的另一端分別與單片機(jī)的并行I/C口P1.1、P1.2和P1.3相連,而對(duì)應(yīng)的l/O口則通過電阻串LED接電源的正極。當(dāng)水位達(dá)到水滿位置時(shí),此時(shí)通過水的導(dǎo)電,電極開關(guān)K1、K2和K3都導(dǎo)通,相應(yīng)Pl口接地置低,3個(gè)發(fā)光二極管都點(diǎn)亮;當(dāng)水位達(dá)到正常水位時(shí),K2和K3導(dǎo)通,而K1斷開,相應(yīng)P1.2和P1.3置低,2個(gè)二極管點(diǎn)亮;當(dāng)水位達(dá)到缺水位置時(shí),此時(shí)只有K3導(dǎo)通,對(duì)應(yīng)只有IJFD3被點(diǎn)亮。通過二極管燈點(diǎn)亮個(gè)數(shù)的顯示,在現(xiàn)場(chǎng)給水池注水時(shí),就能很清楚的知道水位的狀況,這樣就能夠正確的注水了。
2 水位遠(yuǎn)程檢測(cè)系統(tǒng)硬件組成
水位遠(yuǎn)程檢測(cè)系統(tǒng)實(shí)際是一個(gè)無線數(shù)據(jù)的收發(fā)系統(tǒng)。該系統(tǒng)主要是通過現(xiàn)有的移動(dòng)通信網(wǎng)絡(luò)來實(shí)現(xiàn)無線數(shù)據(jù)的傳送。它主要由兩部分組成,即微控制器芯片89C2051和GSM無線短信芯片G100A。
2.1 微控制器
微控制器采用Atrnel公司推出的一種小型單片機(jī)89C2051,其片內(nèi)含有2 KB的Flash程序存儲(chǔ)器和128 B的片內(nèi)RAM。89C2051共20引腳,其中P1口8腳,可以作為一般的準(zhǔn)雙向端口,在引腳的驅(qū)動(dòng)能力上,具有很強(qiáng)的下拉能力,工作電壓為2.7~6 V。當(dāng)工作電壓在3 V時(shí),電流相當(dāng)于6 V工作時(shí)的1/4,空閑時(shí)為1 mA,掉電時(shí)僅為20 nA。這樣小的功耗很適合于電池供電的小型控制系統(tǒng)。主要特點(diǎn)為采用Flash存儲(chǔ)器技術(shù),其軟件、硬件與MCS-51完全兼容,程序的電可擦寫特性,使得開發(fā)與試驗(yàn)比較容易。
2.2 GSM無線短信芯片
GSM無線短信模塊G100A是由北京捷麥公司推出的,該模塊采用全SMT組裝,工藝先進(jìn)、可靠性高,工作電壓范圍為5~15 v。其內(nèi)置的德國(guó)西門子公司GSM模塊Tc35使得模塊操作簡(jiǎn)單,無須學(xué)習(xí)復(fù)雜的GSM模塊AT指令集。G100A的串口具有TTL、RS232和RS485半雙工三種形式,標(biāo)準(zhǔn)配置為RS232。
2.3 系統(tǒng)硬件接口連接
整個(gè)水位遠(yuǎn)程檢測(cè)系統(tǒng)由上位機(jī)和下位機(jī)構(gòu)成,其中上位機(jī)主要是指移動(dòng)終端即手機(jī),而下位機(jī)是由GSM無線收發(fā)模塊及與其相連的單片機(jī)構(gòu)成,其電路連接原理圖如圖3所示。
下位機(jī)安裝在水池附近,而微控制器C2051與G100A之間是通過串口RS232相連的,即TX、RX和GND三條線,圖3中以網(wǎng)絡(luò)標(biāo)號(hào)相連。由于各自的工作電壓不太一樣,在這里采用電平轉(zhuǎn)換芯片MAX3232以實(shí)現(xiàn)電平轉(zhuǎn)換。單片機(jī)的并行I/O口通過網(wǎng)絡(luò)標(biāo)號(hào)P1.1、P1.2和P1.3分別與水位測(cè)試系統(tǒng)中的電極按鍵K1、K2和K3的一端相連。當(dāng)水位在不同狀態(tài)時(shí),由于按鍵的作用使得對(duì)應(yīng)的P1.1、Pl_2和P1.3電平的狀態(tài)也不一致。這樣就可以通過檢測(cè)P1口的狀態(tài),并將其狀態(tài)以短消息的形式由GSM模塊發(fā)送出去,手機(jī)終端收到短信后就可以判斷水位的狀態(tài)。這樣就完成了水位的遠(yuǎn)程檢測(cè)功能。
3 水位數(shù)據(jù)無線傳輸?shù)能浖?shí)現(xiàn)
由于G100A型GSM數(shù)傳模塊采用的是三線制串口.即TX、RX和GND三條線,故它們之間的數(shù)據(jù)傳輸遵循串行數(shù)據(jù)的格式,其傳輸數(shù)據(jù)格式為:1個(gè)起始位、8個(gè)數(shù)據(jù)位和1個(gè)停止位,且無校驗(yàn)(即5l系列單片機(jī)串行通信的方式1)。串口速率為固定的9600 bps。單片機(jī)將采集到的水位信息即P1.1、P1.2和P1.3的置零狀態(tài)通過串口傳送給GSM模塊,當(dāng)GSM模塊收到遠(yuǎn)程上位機(jī)發(fā)送過來的請(qǐng)求得到水位信息后,它就相應(yīng)的按照某種固定的數(shù)據(jù)格式將水位信息發(fā)送出去。
GSM數(shù)據(jù)發(fā)送和接收的過程沒有其他任何握手和數(shù)據(jù)流控制線,只需按照G100A型GSM數(shù)傳模塊所要求的數(shù)據(jù)傳送格式即可。
GSM短信模塊G100A是用GSM模塊的短信息功能來傳輸數(shù)據(jù)的,所以在使用它傳輸數(shù)據(jù)時(shí)要用到電話號(hào)碼。數(shù)據(jù)包中用6個(gè)8位二進(jìn)制字節(jié)表示電話號(hào)碼,每個(gè)字節(jié)中的高4位和低4位均用BCD碼表示l位十進(jìn)制的電話號(hào)碼,這樣每個(gè)字節(jié)可表示兩位電話號(hào)碼,6個(gè)字節(jié)共可表示12位電話號(hào)碼。因?yàn)楝F(xiàn)行的電話號(hào)碼均為11位,而6字節(jié)能表示12位十進(jìn)制的BcD數(shù),所以在傳輸數(shù)據(jù)表示電話號(hào)碼時(shí)要在電話號(hào)碼的前面補(bǔ)0以湊足12位。假設(shè)電話號(hào)碼是13501237654,轉(zhuǎn)換成6字節(jié)BCD碼后變?yōu)?1H 35H 01H 23H 76H 54H。
3.1數(shù)據(jù)包格式
無論是數(shù)據(jù)還是命令都用下面的格式來表示:
不管是命令還是數(shù)據(jù),都有一個(gè)包頭D7H,接著就是一個(gè)控制字節(jié)。本模塊規(guī)定:當(dāng)控制字節(jié)大于147時(shí),數(shù)據(jù)包為命令,否則就為數(shù)據(jù)。比如命令D7H FFH參數(shù),D7H為包頭,F(xiàn)FH為控制字節(jié),因FFH>147,故參數(shù)為命令字節(jié)。模塊就是靠數(shù)據(jù)包的第二個(gè)字節(jié)來識(shí)別發(fā)給它的信息是命令信息還是數(shù)據(jù)信息的。
3. 1.1 發(fā)送用戶數(shù)據(jù)的格式
根據(jù)數(shù)據(jù)包格式,發(fā)送用戶數(shù)據(jù)格式如下:
其中,UDL表示要發(fā)送的除包頭D7H以外總的數(shù)據(jù)長(zhǎng)度,包括STA、UD和它本身的字節(jié)長(zhǎng)度。STA和UDL的字節(jié)長(zhǎng)度一般是固定的,為l+6=7字節(jié)。STA為接收方的電話號(hào)碼,即目的地址,號(hào)碼需要進(jìn)行格式轉(zhuǎn)換。UD表示要發(fā)送的有效數(shù)據(jù),其總長(zhǎng)度不大于140字節(jié),因?yàn)槎绦畔⒌臄?shù)據(jù)長(zhǎng)度不能超過140字節(jié)。
假設(shè)要發(fā)送OOH、11H、22H、331H、44H和55H,共6個(gè)字節(jié)數(shù)據(jù),接收方的電話號(hào)碼(目的地址)是13655436789,UDL=ODH(13個(gè)字節(jié)),STA:01H 36H55H 43H 67H 89H,UD=OOH 1lH 22H 33H 44H 55H,發(fā)送格式如下:
3.1.2 接收用戶數(shù)據(jù)的格式
接收用戶數(shù)據(jù)格式如下:
與發(fā)送用戶數(shù)據(jù)格式不同的是SOA,它是發(fā)送方的電話號(hào)碼,即源地址。
假設(shè)收到上面發(fā)送來的OOH、11H、22H、33H、44H和55H,共6字節(jié)數(shù)據(jù),發(fā)送方的電話號(hào)碼(源地址)是13920855795,UDL=0DH(13個(gè)字節(jié)),SOA=OlH 39H20H 85H 57H 95H,UD=OOH 11H 22FI 33H 44H 55H,接收到的數(shù)據(jù)格式如下:
3.2 命令集
GIOOA型GSM數(shù)傳模塊含有豐富的命令,通過對(duì)不同命令的操作來實(shí)現(xiàn)數(shù)據(jù)的正確收發(fā)過程,其命令集如表1所列。
當(dāng)按照GIOOA型GSM數(shù)傳模塊所要求的數(shù)據(jù)格式及命令傳送數(shù)據(jù)時(shí),就不需要使用復(fù)雜的G
4 結(jié)論
本簡(jiǎn)易水位測(cè)試系統(tǒng)實(shí)用方便,系統(tǒng)通過水位的變化來控制與單片機(jī)I/0口相連的LED變化,這種顯示效果可以很好的控制水位。在遠(yuǎn)程檢測(cè)系統(tǒng)中,通過采用單片機(jī)的串口可以實(shí)時(shí)的將水位信息傳送給(GSM模塊。在無請(qǐng)求時(shí),其水位信息暫存在單片機(jī)中,且不斷的更新水位信息。當(dāng)用戶需要時(shí),會(huì)根據(jù)用戶的需要自動(dòng)的通過串口將最新的水位信息送給GSM模塊。由于GSM短信模塊采用G100A,使得無線數(shù)據(jù)的傳送變得極為容易,用戶操作起來也非常方便。
該系統(tǒng)的種種特點(diǎn)完全可以擴(kuò)展到其他的領(lǐng)域使用,如長(zhǎng)江水位的防汛工作。如果用戶想要了解長(zhǎng)江的水位情況,只需要發(fā)送一個(gè)短信,就可以及時(shí)的了解水位狀況,而不需要親臨現(xiàn)場(chǎng)。
評(píng)論