焦作大學(xué)信息工程學(xué)院 邢文生
基于瀏覽器和GSM卡流量的潛水泵遠(yuǎn)程控制保護(hù)系統(tǒng)
焦作大學(xué)信息工程學(xué)院 邢文生
為了實(shí)現(xiàn)手機(jī)遠(yuǎn)程檢測(cè)和控制潛水泵,本文設(shè)計(jì)了基于單片機(jī)、HTML和GSM卡的遠(yuǎn)程潛水泵控制系統(tǒng),闡述了系統(tǒng)的整體設(shè)計(jì)方案、硬件設(shè)計(jì)和軟件設(shè)計(jì)。系統(tǒng)的潛水泵端以單片機(jī)為處理器,使用壓力傳感器檢測(cè)水流壓力,以SIM900A模塊為通信模塊,通過(guò)HTTP協(xié)議,使用手機(jī)卡的流量與遠(yuǎn)程WEB服務(wù)器通信。手機(jī)控制端使用瀏覽器訪問(wèn)WEB服務(wù)器,可以遠(yuǎn)程控制潛水泵運(yùn)行。系統(tǒng)使用方便,穩(wěn)定性和可靠性高,有較高的實(shí)用價(jià)值和應(yīng)用前景。
SIM900;GSM;HTTP協(xié)議;潛水泵
潛水泵在農(nóng)業(yè)灌溉、工廠生產(chǎn)廣泛使用。傳統(tǒng)的控制方式是人工直接給潛水泵通電,有兩大弊端:①需要人工進(jìn)行送電和斷電,需要付出人力;②潛水泵工作時(shí),需要水淹沒(méi)潛水泵給潛水泵降溫。如果水位低,水沒(méi)有淹沒(méi)潛水泵,潛水泵可能會(huì)發(fā)熱損壞;③如果水泵的三相電缺相,潛水泵不出水但會(huì)過(guò)度發(fā)熱,水泵可能會(huì)發(fā)熱損壞。
隨著網(wǎng)絡(luò)和現(xiàn)代通信技術(shù)的不斷發(fā)展,智能手機(jī)都支持瀏覽器訪問(wèn)WEB網(wǎng)站,瀏覽器支持標(biāo)準(zhǔn)HTTP協(xié)議。使用HTTP協(xié)議的控制系統(tǒng),不需要安裝其他應(yīng)用軟件,與硬件平臺(tái)無(wú)關(guān)。
本系統(tǒng)通過(guò)智能手機(jī)的瀏覽器,發(fā)出啟動(dòng)、停止?jié)撍玫拿?。瀏覽器同時(shí)能夠接收到潛水泵控制端返回的數(shù)據(jù),包括潛水泵工作狀態(tài)和出水壓力等數(shù)據(jù)。系統(tǒng)能夠在水流壓力不正常情況下,關(guān)閉潛水泵。
控制系統(tǒng)設(shè)計(jì)如圖1所示,由單片機(jī)主控模塊、通信模塊、壓力檢測(cè)模塊、潛水泵驅(qū)動(dòng)模塊組成。
圖1 系統(tǒng)整體設(shè)計(jì)
主控模塊采用TC12LE5A60S2單片機(jī)為主控芯片,控制系統(tǒng)的核心,實(shí)現(xiàn)的功能如下:①系統(tǒng)參數(shù)的設(shè)置及儲(chǔ)存,如設(shè)置SIM900A的接收頻率、功耗大小、工作模式等參數(shù);②與SIM900A模塊通過(guò)串口連接,使用標(biāo)準(zhǔn)AT命令,控制SIM900A模塊信息的接收和發(fā)送,信息傳輸使用HTTP協(xié)議;③與壓力傳感器連接,接收傳感器值,并判斷出水泵工作狀態(tài)。如果水泵水壓不正常,關(guān)閉水泵,并發(fā)送信息到手機(jī);④與固態(tài)繼電器連接,控制潛水泵的啟動(dòng)與停止。
通信網(wǎng)絡(luò)采用SIMCom公司的SIM900A作為通信芯片。SIM900A是一款尺寸緊湊型、高可靠性的無(wú)線模塊,采用SMT封裝的雙頻GSM/GPRS模塊解決方案。模塊使用工業(yè)標(biāo)準(zhǔn)界面,以小尺寸和低功耗實(shí)現(xiàn)語(yǔ)音、SMS、數(shù)據(jù)和傳真信息的高速傳輸。
SIM900A通信模塊,支持HTTP協(xié)議,使用GSM卡與WEB服務(wù)器通信。支持標(biāo)準(zhǔn)的AT命令,單片機(jī)通過(guò)串口控制SIM900A模塊的信息傳輸。
SIM900A支持短信收發(fā)、文本和PDU模式、嵌入型TCP/UDP協(xié)議、FTP/HTTP協(xié)議。其中HTTP協(xié)議是瀏覽器或其他程序與Web服務(wù)器之間的應(yīng)用層通信協(xié)議,手機(jī)瀏覽器支持該協(xié)議。本系統(tǒng)使用HTTP協(xié)議實(shí)現(xiàn)SIM900A與WEB服務(wù)器的通信。
SIM900A通信模塊安裝GSM手機(jī)卡后,可以使用手機(jī)卡的流量與WEB網(wǎng)站進(jìn)行信息傳輸。GSM手機(jī)信號(hào)覆蓋范圍廣,使用GSM手機(jī)卡作為通信方式有下面優(yōu)點(diǎn):①不需要架設(shè)無(wú)線WIFI,適合潛水泵在野外安裝作業(yè);②使用手機(jī)卡流量與WEB服務(wù)器通信,與手機(jī)短信比較費(fèi)用比較低;③GSM手機(jī)信號(hào)覆蓋范圍廣。
系統(tǒng)使用壓力傳感器檢測(cè)水流壓力,并通過(guò)壓力值判斷水泵出水狀態(tài)。
潛水泵沒(méi)有專門的風(fēng)扇來(lái)散熱,工作時(shí)所產(chǎn)生得熱量靠的就是其工作環(huán)境中的水來(lái)散熱的,所以潛水泵工作時(shí)應(yīng)該全部在水中。如果沒(méi)有水,潛水泵會(huì)因散熱不好而起熱燒毀。如果潛水泵供電有問(wèn)題(缺相),潛水泵不出水,而且大量發(fā)熱,電機(jī)損毀。如果供水的高度是否超出潛水泵的揚(yáng)程,電機(jī)只運(yùn)轉(zhuǎn)而不出水。使用傳感器檢測(cè)是否出水,如果不出水關(guān)閉潛水泵并在手機(jī)端提醒。
固體繼電器的輸入端是3-24V信號(hào),輸出端是0-380V交流電。單片機(jī)輸出啟動(dòng)或停止控制信號(hào),控制信號(hào)決定固態(tài)繼電器的通斷,進(jìn)而控制潛水泵。如果是三相電水泵,加交流接觸器進(jìn)行控制。
硬件設(shè)計(jì)如圖2所示,包括單片機(jī)、SIM900A、手機(jī)卡、壓力傳感器、固態(tài)繼電器等部分。
圖2 系統(tǒng)硬件設(shè)計(jì)
單片機(jī)選擇STC12LE5A60S2,工作電壓為3.3V。該單片機(jī)是增強(qiáng)型高速8051 單片機(jī),指令及引腳完全兼容8051,有8個(gè)AD轉(zhuǎn)換引腳,2個(gè)串口[6]。
SIM900A模塊電源為3.1~4.6 V,GSM_ANT引腳外接天線,15~18引腳接SIM卡。單片機(jī)與SIM900A模塊通信采用串口方式,SIM900A模塊的TXD、RXD引腳與單片機(jī)串口連接,實(shí)現(xiàn)WEB數(shù)據(jù)的收發(fā)[1]。
系統(tǒng)選用電壓輸出的壓力傳感器,檢測(cè)水流壓力。單片機(jī)已經(jīng)包含有8路A/D轉(zhuǎn)換器[6],選用P1.0引腳作為壓力傳感器的A/D轉(zhuǎn)換。
按鍵1與按鍵2配合,實(shí)現(xiàn)參數(shù)設(shè)置,如訪問(wèn)密碼,動(dòng)作延時(shí)時(shí)間等參數(shù)。
使用固態(tài)繼電器,能夠使用單片機(jī)的控制信號(hào)控制220V交流電的通斷。固態(tài)繼電器是開(kāi)關(guān)器件,輸入端是單片機(jī)引腳的控制信號(hào),輸出端是480V以下的交流電,輸出控制電流選擇20A。
軟件開(kāi)發(fā)包括網(wǎng)站設(shè)計(jì)、傳感器信息采集、GSM通信軟件設(shè)計(jì)等。GSM通信軟件編寫如下:
單片機(jī)與SIM900A模塊通信采用串口方式,使用標(biāo)準(zhǔn)AT指令[2]。實(shí)現(xiàn)AT指令的代碼如下:
代碼如下:
Second_AT_Command("ATE0"); //取消回顯
Second_AT_Command("AT+CIPSHUT");//關(guān)閉移動(dòng)場(chǎng)景
Second_AT_Command("AT+CREG?");//查詢GPRS網(wǎng)絡(luò)注冊(cè)狀態(tài)
Second_AT_Command("AT+CGATT?",1,40);//附著GPRS業(yè)務(wù)網(wǎng)絡(luò)
Second_AT_Command("AT+SAPBR=3,1,"Contype","GPRS"");// 設(shè)置網(wǎng)絡(luò)參數(shù)
Second_AT_Command("AT+SAPBR=3,1,"APN","UNINET"");//設(shè)置接入點(diǎn)名稱(聯(lián)通卡為例)
Second_AT_Command("AT+SAPBR=1,1",;// 打開(kāi)承載
Second_AT_Command("AT+HTTPTERM");
Second_AT_Command("AT+HTTPINIT",1,40);//初始化HTTP
Second_AT_Command("AT+HTTPPARA="CID");// 設(shè)置承載上下文標(biāo)括識(shí)
首先準(zhǔn)備要訪問(wèn)的網(wǎng)站的URL網(wǎng)址(支持域名),例如HTTP://www.xxx.xom/sb.asp?a=2.7&b=3。域名后面的“a=2.7”表示上傳潛水泵壓力信息到WEB服務(wù)器,“b=3”表示上傳潛水泵工作狀態(tài)到WEB服務(wù)器。
代碼如下:
Second_AT_Command("AT+HTTPPARA="URL","網(wǎng)址"");//要訪問(wèn)的網(wǎng)站,支持域名
Second_AT_Command("AT+HTTPACTION=0");// 激活HTTP請(qǐng)求,Post方式
Second_AT_Command("AT+HTTPREAD");//設(shè)置接收數(shù)據(jù)顯示IP頭
delay(2500);//延時(shí)一段時(shí)間
執(zhí)行上述代碼后,等待一段時(shí)間(0.5秒左右),WEB服務(wù)器會(huì)返回信息。
發(fā)送請(qǐng)求后,WEB服務(wù)器返回?cái)?shù)據(jù),ISM900A模塊通過(guò)串口發(fā)送給單片機(jī)。單片機(jī)程序通過(guò)串口中斷讀出數(shù)據(jù),該數(shù)據(jù)包括潛水泵的啟動(dòng)或停止命令。
web服務(wù)器支持HTTP的服務(wù)請(qǐng)求。本系統(tǒng)的SIM900A模塊和手機(jī)瀏覽器都可以訪問(wèn)WEB服務(wù)器,瀏覽器輸入域名后,向服務(wù)器發(fā)出請(qǐng)求,并將數(shù)據(jù)存儲(chǔ)到服務(wù)器和接收服務(wù)器返回信息。
以asp為例說(shuō)明,代碼中網(wǎng)址的訪問(wèn)格式如下:http://www.XXX.asp?參數(shù)=5??梢允莂sp、PHP 、aspx等方式訪問(wèn),參數(shù)是需要上傳到WEB服務(wù)器的參數(shù)。
asp網(wǎng)站代碼中,返回?cái)?shù)據(jù)的命令如下:response.write(返回的數(shù)據(jù))。
本系統(tǒng)能夠遠(yuǎn)程控制潛水泵,節(jié)省人力。系統(tǒng)使用GSM卡流量通信,不需要架設(shè)WIFI,安裝方便。系統(tǒng)直接使用瀏覽器進(jìn)行控制,不需要下載安裝APP,非常新穎實(shí)用。
系統(tǒng)使用SIM900A模塊,運(yùn)行穩(wěn)定可靠,設(shè)計(jì)成本較低,具有商業(yè)價(jià)值。
[1]SIM900A_Hardware_design_V1.03[Z/OL].HTTP://wm.sim.com/documenten.aspx.2016.11.29.SIMCom.
[2]SIM900-HTTP-FTP-AP.pdf[Z/OL].HTTP://wm.sim.com/documenten.aspx.2016.11.29.SIMCom.
[3]甘志偉,閆凱.基于SIM900A的無(wú)線數(shù)據(jù)采集卡設(shè)計(jì)與實(shí)現(xiàn)[J].山西電子技術(shù),2013,(1).
[4]敖麟欽.基于GSM/SMS的信息查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,15.12(2016):77-79.
[5]楊光,蘭志光,戴華林.基于STM32和SIM900A車載通訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)民航飛行學(xué)院學(xué)報(bào),2017,28(3):39-42.
[6]陳勇.單片機(jī)原理與應(yīng)用-基于匯編.C51及混合編程[M].北京:高等教育出版社,2014.
[7]馮昊等.ASP動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)與應(yīng)用(第2版)[M].北京:清華大學(xué)出版社,2016.
邢文生(1969-),男,河南焦作人,控制工程碩士,焦作大學(xué)信息工程學(xué)院副教授,研究方向:物聯(lián)網(wǎng)。