基于SIM900A的物聯(lián)網(wǎng)短信報(bào)警系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:基于SIMCOM公司的SIM900A模塊針對農(nóng)業(yè)溫室環(huán)境設(shè)計(jì)了物聯(lián)網(wǎng)報(bào)警系統(tǒng)。該系統(tǒng)可以完成對溫室內(nèi)空氣溫濕度等環(huán)境參數(shù)的采集;同時(shí)系統(tǒng)利用AT指令完成了自動收發(fā)短信功能,實(shí)現(xiàn)對環(huán)境參數(shù)超閡值的自動報(bào)警和設(shè)備余額不足的提醒功能。通過對系統(tǒng)的設(shè)置,可以不受用戶地理位置限制,將報(bào)警提醒信息發(fā)送到用戶指定手機(jī)上。該系統(tǒng)作為物聯(lián)網(wǎng)在農(nóng)業(yè)方面的一個典型應(yīng)用,在實(shí)際運(yùn)行中得到了比較滿意的效果。
關(guān)鍵詞:物聯(lián)網(wǎng);SIMCOM;SIM900A;AT指令;物聯(lián)網(wǎng)報(bào)警系統(tǒng)
0 引言
目前,隨著物聯(lián)網(wǎng)技術(shù)在我國的推廣及快速發(fā)展,在對象的智能標(biāo)簽、環(huán)境監(jiān)控和對象跟蹤、對象智能控制等很多方面都有了實(shí)際應(yīng)用系統(tǒng)。在環(huán)境監(jiān)控應(yīng)用方面,現(xiàn)有的大多數(shù)系統(tǒng)通過WSN網(wǎng)絡(luò)可以完成對環(huán)境動態(tài)信息的采集并通過上位機(jī)顯示,用戶可以方便地在遠(yuǎn)程計(jì)算機(jī)終端訪問網(wǎng)絡(luò)來完成對現(xiàn)場環(huán)境的監(jiān)控并完成環(huán)境信息報(bào)警功能,但是此類系統(tǒng)都需要配置聯(lián)網(wǎng)計(jì)算機(jī),對用戶產(chǎn)生部分限制。本系統(tǒng)除了具有以上功能外,還支持手機(jī)用戶,系統(tǒng)可以根據(jù)用戶設(shè)置的環(huán)境參數(shù)閾值來進(jìn)行短信報(bào)警,將報(bào)警信息發(fā)送到用戶指定手機(jī),極大地緩解了地理位置對用戶的約束,使用戶不必時(shí)刻守在計(jì)算機(jī)旁監(jiān)測報(bào)警信息;除此之外本系統(tǒng)還具有余額提醒功能,當(dāng)系統(tǒng)內(nèi)物聯(lián)網(wǎng)報(bào)警網(wǎng)關(guān)的SIM卡余額不足時(shí)及時(shí)提醒用戶進(jìn)行充值,防止系統(tǒng)因資費(fèi)問題而癱瘓?jiān)斐山?jīng)濟(jì)損失。
1 系統(tǒng)功能
基于SIM900A模塊的物聯(lián)網(wǎng)短信報(bào)警系統(tǒng)如圖1所示,以農(nóng)業(yè)溫室應(yīng)用環(huán)境為例,系統(tǒng)由溫室內(nèi)的溫濕度無線采集節(jié)點(diǎn)、物聯(lián)網(wǎng)報(bào)警網(wǎng)關(guān)、GSM/GPRS/3G基站、互聯(lián)網(wǎng)服務(wù)器、用戶終端(互聯(lián)網(wǎng)計(jì)算機(jī)或手機(jī))構(gòu)成。圖中的虛線指信號傳輸?shù)臒o線模式。其中溫室內(nèi)通過WSN網(wǎng)絡(luò)實(shí)現(xiàn)傳感器節(jié)點(diǎn)與物聯(lián)網(wǎng)報(bào)警網(wǎng)關(guān)的無線通信,物聯(lián)網(wǎng)報(bào)警網(wǎng)關(guān)通過GSM/GPRS/3G無線網(wǎng)絡(luò)與用戶終端完成無線通信。
系統(tǒng)工作過程為溫室內(nèi)傳感器節(jié)點(diǎn)采集溫室內(nèi)溫濕度數(shù)值,通過WSN網(wǎng)絡(luò)無線發(fā)送到物聯(lián)網(wǎng)報(bào)警網(wǎng)關(guān)上,網(wǎng)關(guān)利用SIM900A模塊通過基站將溫濕度數(shù)值發(fā)送到互聯(lián)網(wǎng)服務(wù)器上,互聯(lián)網(wǎng)計(jì)算機(jī)用戶和手機(jī)用戶可以分別通過Internet和GPRS/3G來完成對溫室環(huán)境的監(jiān)控。除此之外,物聯(lián)網(wǎng)報(bào)警網(wǎng)關(guān)可以根據(jù)用戶設(shè)定的溫濕度閾值通過GSM網(wǎng)絡(luò)將報(bào)警信息直接發(fā)送到手機(jī)用戶指定手機(jī)上,方便用戶進(jìn)行及時(shí)采取措施。物聯(lián)網(wǎng)報(bào)警網(wǎng)關(guān)自動定期通過AT指令發(fā)送余額查詢短信并將余額不足的報(bào)警信息及時(shí)發(fā)送給用戶。
用戶可以通過計(jì)算機(jī)或者手機(jī)來訪問服務(wù)器網(wǎng)站來設(shè)定對需要報(bào)警溫室相關(guān)環(huán)境參數(shù)的閾值,設(shè)置界面如圖2所示。設(shè)置信息保存后互聯(lián)網(wǎng)服務(wù)器將此信息通過GPRS/3G網(wǎng)絡(luò)發(fā)送到物聯(lián)網(wǎng)報(bào)警網(wǎng)關(guān),網(wǎng)關(guān)將其存入FLASH內(nèi)。[!--empirenews.page--]
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)內(nèi)的物聯(lián)網(wǎng)短信報(bào)警網(wǎng)關(guān)硬件組成如圖3所示,在本地功能上來講,由LCD液晶顯示屏、繼電器控制、按鍵、LED指示燈、SD卡存儲、RTC實(shí)時(shí)時(shí)鐘、以太網(wǎng)接口等部分構(gòu)成;從通信功能上來講,由WSN通信部分和GPRS通信部分構(gòu)成;系統(tǒng)由6 V/4 AH鉛酸電池供電,由于考慮到有些溫室環(huán)境沒有外接市電,故在電源部分采用9 V/5 W太陽能電池板結(jié)合充電電路給6 V/4 AH鉛酸電池供電。
控制器采用STM32F103芯片,其內(nèi)核為ARM32位的CortexTM-M3 CPU,具有2個12位A/D轉(zhuǎn)換器,7通道DMA,多達(dá)80個I/O口,7個定時(shí)器,具有2個I2C接口、3個USART接口、2個SPI接口、CAN接口以及USB全速接口,由于其具有睡眠、停機(jī)和待機(jī)3種模式,功耗在休眠時(shí)可以做10μA,所以非常適合在本物聯(lián)網(wǎng)報(bào)警系統(tǒng)中使用。
GSM/GPRS通信部分采用SIMCOM公司的SIM900A模塊來實(shí)現(xiàn),SIM900A是一個專門為中國大陸市場設(shè)計(jì)的雙頻GSM/GPRS模塊,工作頻段為:EGSM 900 MHz和DCS 1800MHz。SIM900A支持GPRS multi-slot class 10/class 8(可選)和GPRS編碼格式CS-1,CS-2,CS-3和CS-4。模塊尺寸只有24 mm×24 mm×3 mm,幾乎可以滿足所有用戶應(yīng)用中的對空間尺寸的要求,例如M2M,數(shù)據(jù)傳輸系統(tǒng)等。具有68個貼片引腳,鍵盤和SPI接口,音頻輸入和輸出,可編程GPIO等。SIM900A采用省電技術(shù)設(shè)計(jì),在SLEEP模式下電流只有1.0 mA。其內(nèi)嵌TCP/IP協(xié)議,在數(shù)據(jù)傳輸方面非常有用。
GSM/GPRS通信電路結(jié)構(gòu)如圖4所示,由天線、天線阻抗匹配電路、SIM卡電路、ESD靜電保護(hù)電路和電源控制器組成。其中,SIM900A通過其串口1與STM32F103的串口0進(jìn)行數(shù)據(jù)通信;電源控制部分通過STM32F103的GPIO來控制IRFR9024芯片(N構(gòu)造MOSFET)使能,控制系統(tǒng)適時(shí)進(jìn)入休眠模式,關(guān)斷SIM900A電源來降低功耗;ESD靜電防護(hù)采用SMF05C芯片進(jìn)行SIM卡數(shù)據(jù)保護(hù);阻抗匹配電路利用APPCAD仿真軟件進(jìn)行50 Ω傳輸線匹配,保證信號強(qiáng)度。[!--empirenews.page--]
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)方面包括基于SIM900A利用AT指令進(jìn)行自動短信收發(fā)和解析,物聯(lián)網(wǎng)報(bào)警網(wǎng)關(guān)的軟件流程設(shè)計(jì)。
3.1 AT指令介紹
AT指令是指終端設(shè)備TE和終端適配器TA之間以及數(shù)據(jù)終端設(shè)備DTE和數(shù)據(jù)電路終端設(shè)備DCE之間的接口標(biāo)準(zhǔn)。20世紀(jì)90年代初,AT指令僅被用于Modem的操作,在經(jīng)歷了一系列演化后,AT指令被加入GSM07.05標(biāo)準(zhǔn)。SIM900A的AT命令接口默認(rèn)使用IRA字符集,除此之外還支持GSM07.07格式,UCS2,HEX,PCCP,PCDN,8859-1字符集。用于短信收發(fā)的AT指令如表1所示。
3.2 短信編碼
短消息的收發(fā)共有三種方式:Block方式、Text方式、PDU方式。Block方式目前很少用;Text方式為純文本方式,可使用不同的字符集,從技術(shù)說可用于發(fā)送中文短消息,但國內(nèi)手機(jī)基本不支持,主要用于歐美地區(qū);PDU方式被所有手機(jī)支持,可以使用任何字符集,也是手機(jī)默認(rèn)的編碼方式。
在PDU方式下可以采用三種編碼發(fā)送短信息:7-bit編碼、8-bit編碼和UCS2編碼。7-bit方式容量大但是其碼制轉(zhuǎn)換較復(fù)雜,由于本系統(tǒng)內(nèi)所用短信內(nèi)容較短,本文采用UCS2編碼方式進(jìn)行短信編碼和解析,UCS2編碼方式中應(yīng)用的為Unicode字符集。一般的PDU編碼由A,B,C,D,E,F(xiàn),G,H,I,J,K,I,M共13項(xiàng)構(gòu)成。
下面結(jié)合本系統(tǒng)介紹UCS2編碼發(fā)短信的原理:網(wǎng)關(guān)根據(jù)報(bào)警條件與當(dāng)前環(huán)境參數(shù)進(jìn)行比較,若環(huán)境參數(shù)超過用戶設(shè)定閾值,則根據(jù)環(huán)境參數(shù)類型及超限類型給用戶發(fā)送報(bào)警短信,短信內(nèi)容事先寫入網(wǎng)關(guān)硬件FLASH內(nèi),在代碼中結(jié)合Switch語句決定信息內(nèi)容。若1號溫室內(nèi)溫度參數(shù)超過用戶設(shè)定的上限,則系統(tǒng)給用戶手機(jī)15212345678(虛擬號碼)發(fā)送短信內(nèi)容:
1號溫室內(nèi)空氣溫度超過設(shè)定閾值
對于UCS2短信編碼字符串為:
0011+00+0D+91+68+5112325476F8+0008+04+2D+0031(1)53F7(號)6E29(溫)5BA4(室)5185(內(nèi))7A7A(空)6C14(氣)6E29(溫)5EA6(度)8D85(超)8FC7(過)8BBE(設(shè))589A(定)9608(閾)503C(值)
(此處為易讀而注“+”,實(shí)際發(fā)送中不存在,漢字要發(fā)送其Unicode碼格式,括號內(nèi)為Unicode碼對應(yīng)其漢字,實(shí)際發(fā)送中不存在)
其中:0D指目的號碼長度(+86 15212345678);5112325476F8指目的號碼(15212345678F,補(bǔ)F后兩位一反);04指有效期,2D為短信長度;003153F…08803為短信內(nèi)容(1號溫室內(nèi)空氣溫度超過設(shè)定閾值)。
結(jié)合AT指令,當(dāng)1號溫室空氣溫度超閾值,進(jìn)行短信報(bào)警的具體操作過程為:
(1)發(fā)送AT+CMGF=0//PDU方式發(fā)送短信。
(2)發(fā)送AT+CSCS=“UCS2”//短信編碼方式為UCS2。
(3)發(fā)送AT+CMGS=2D//短信長度。
(4)識別返回>后發(fā)送下列字符串:
0011000D91685112325476F80008042D003153F76E295BA451857A7A6C146E295EA68D858FC78BBE5B9A9608503C.
同樣,系統(tǒng)定期檢查設(shè)備內(nèi)SIM卡的余額,當(dāng)余額少于設(shè)定余額的時(shí)候進(jìn)行報(bào)警提醒,利用中國移動短信余額查詢功能,按照上述短信編碼方式即可完成短信余額查詢功能。具體可通過向10086發(fā)送字母“YE”(Unicode碼為00590045)來實(shí)現(xiàn)(北京地區(qū),地區(qū)不同字母組合有差異)。編碼字符串為:0011000791680180F60008040400590045。
3.3 物聯(lián)網(wǎng)報(bào)警網(wǎng)關(guān)軟件流程設(shè)計(jì)
物聯(lián)網(wǎng)報(bào)警網(wǎng)關(guān)的軟件設(shè)計(jì)流程如圖5所示,網(wǎng)關(guān)時(shí)刻監(jiān)聽是否收到數(shù)據(jù)包,若收到數(shù)據(jù)包則判斷是WSN內(nèi)溫濕度節(jié)點(diǎn)數(shù)據(jù)包還是用戶閾值設(shè)定數(shù)據(jù)包,分情況進(jìn)行相應(yīng)處理。由于系統(tǒng)所測環(huán)境參數(shù)均為緩變量,當(dāng)用戶啟動短信報(bào)警功能后,本系統(tǒng)采集周期最短可設(shè)置為5 mi n,否則若采集周期過短,當(dāng)環(huán)境參量超過閾值時(shí),系統(tǒng)不斷發(fā)送報(bào)警信息,不僅增加系統(tǒng)負(fù)擔(dān)而且給用戶造成不必要的資費(fèi)浪費(fèi)。
[!--empirenews.page--]
4 系統(tǒng)運(yùn)行效果
系統(tǒng)自運(yùn)行后效果良好,圖6為溫室內(nèi)空氣溫度變化曲線,圖6(a)中A點(diǎn)和B點(diǎn)為用戶設(shè)定溫度閾值上限40℃時(shí)的報(bào)警點(diǎn),圖6(b)為空氣溫度低于20℃時(shí)的報(bào)警區(qū)域,系統(tǒng)根據(jù)采集周期,周期性地發(fā)送報(bào)警信息,提醒用戶。
5 結(jié)論
本文基于SIMCOM公司的SIM9D0A模塊設(shè)計(jì)了物聯(lián)網(wǎng)短信報(bào)警系統(tǒng),將GSM/GPRS無線網(wǎng)絡(luò)與WSN連接,根據(jù)用戶設(shè)定的環(huán)境參數(shù)閾值結(jié)合AT指令進(jìn)行短信發(fā)送、解析,完成環(huán)境報(bào)警提醒及設(shè)備余額不足提醒等功能,在實(shí)際運(yùn)行中取到了良好的效果,屬于物聯(lián)網(wǎng)在農(nóng)業(yè)方面的初步應(yīng)用,對此領(lǐng)域的研究起到了一定指導(dǎo)作用。