摘 要:基于SIMCOM公司的SIM900A模塊針對(duì)農(nóng)業(yè)溫室環(huán)境設(shè)計(jì)了物聯(lián)網(wǎng)報(bào)警系統(tǒng)。該系統(tǒng)可以完成對(duì)溫室內(nèi)空氣溫濕度等環(huán)境參數(shù)的采集;同時(shí)系統(tǒng)利用AT指令完成了自動(dòng)收發(fā)短信功能,實(shí)現(xiàn)對(duì)環(huán)境參數(shù)超閾值的自動(dòng)報(bào)警和設(shè)備余額不足的提醒功能。通過對(duì)系統(tǒng)的設(shè)置,可以不受用戶地理位置限制,將報(bào)警提醒信息發(fā)送到用戶指定手機(jī)上。該系統(tǒng)作為物聯(lián)網(wǎng)在農(nóng)業(yè)方面的一個(gè)典型應(yīng)用,在實(shí)際運(yùn)行中得到了比較滿意的效果。
關(guān)鍵詞:物聯(lián)網(wǎng); SIMCOM; SIM900A; AT指令; 物聯(lián)網(wǎng)報(bào)警系統(tǒng)
中圖分類號(hào):
TN911-34
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2012)05
-0086
-04
IOT SMS alarm system based on SIM900A
ZHAI Shun, WANG Wei-hong, ZHANG Kan, LI Peng
(School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191, China)
Abstract:
An IOT alarm system based on SIM900A module of SIMCOM Company was designed for greenhouse. The system can gather environmental parameters such as air temperature and air humidity. Meanwhile, with the use of AT command, this system can also realize SMS automatic sending and receiving, environmental parameters overrun alarm and insufficient balance alarm. Through the system setting, the alarm message can be sent to the user-specified mobile phone automatically no matter what the users' location is. This system as a typical application of IOT in the agriculture has got some satisfactory results in the actual operation.
Keywords: IOT; SIMCOM; SIM900A; AT command; IOT alarm system
收稿日期:2011-09-15
0 引 言
目前,隨著物聯(lián)網(wǎng)技術(shù)在我國的推廣及快速發(fā)展,在對(duì)象的智能標(biāo)簽、環(huán)境監(jiān)控和對(duì)象跟蹤、對(duì)象智能控制等很多方面都有了實(shí)際應(yīng)用系統(tǒng)[1-3]。在環(huán)境監(jiān)控應(yīng)用方面,現(xiàn)有的大多數(shù)系統(tǒng)通過WSN網(wǎng)絡(luò)可以完成對(duì)環(huán)境動(dòng)態(tài)信息的采集并通過上位機(jī)顯示[4-6],用戶可以方便地在遠(yuǎn)程計(jì)算機(jī)終端訪問網(wǎng)絡(luò)來完成對(duì)現(xiàn)場(chǎng)環(huán)境的監(jiān)控并完成環(huán)境信息報(bào)警功能,但是此類系統(tǒng)都需要配置聯(lián)網(wǎng)計(jì)算機(jī),對(duì)用戶產(chǎn)生部分限制。本系統(tǒng)除了具有以上功能外,還支持手機(jī)用戶,系統(tǒng)可以根據(jù)用戶設(shè)置的環(huán)境參數(shù)閾值來進(jìn)行短信報(bào)警,將報(bào)警信息發(fā)送到用戶指定手機(jī),極大地緩解了地理位置對(duì)用戶的約束,使用戶不必時(shí)刻守在計(jì)算機(jī)旁監(jiān)測(cè)報(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)成。圖中的虛線指信號(hào)傳輸?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ò)與用戶終端完成無線通信。
圖1 物聯(lián)網(wǎng)短信報(bào)警系統(tǒng)示意圖
系統(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來完成對(duì)溫室環(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)自動(dòng)定期通過AT指令發(fā)送余額查詢短信并將余額不足的報(bào)警信息及時(shí)發(fā)送給用戶。
用戶可以通過計(jì)算機(jī)或者手機(jī)來訪問服務(wù)器網(wǎng)站來設(shè)定對(duì)需要報(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)。
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)內(nèi)的物聯(lián)網(wǎng)短信報(bào)警網(wǎng)關(guān)硬件組成如圖3所示,在本地功能上來講,由LCD液晶顯示屏、繼電器控制、按鍵、LED指示燈、SD卡存儲(chǔ)、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個(gè)12位A/D轉(zhuǎn)換器,7通道DMA,多達(dá)80個(gè)I/O口,7個(gè)定時(shí)器,具有2個(gè)I2C接口、3個(gè)USART接口、2個(gè)SPI接口、CAN接口以及USB全速接口[7],由于其具有睡眠、停機(jī)和待機(jī)3種模式,功耗在休眠時(shí)可以做10 μA,所以非常適合在本物聯(lián)網(wǎng)報(bào)警系統(tǒng)中使用。
GSM/GPRS通信部分采用SIMCOM公司的SIM900A模塊來實(shí)現(xiàn),SIM900A是一個(gè)專門為中國大陸市場(chǎng)設(shè)計(jì)的雙頻GSM/GPRS模塊,工作頻段為:EGSM 900 MHz和DCS 1 800 MHz。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)用中的對(duì)空間尺寸的要求,例如M2M,數(shù)據(jù)傳輸系統(tǒng)等。具有68個(gè)貼片引腳,鍵盤和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 Ω?jìng)鬏斁€匹配,保證信號(hào)強(qiáng)度。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)方面包括基于SIM900A利用AT指令進(jìn)行自動(dòng)短信收發(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所示。
指令類型指令語法指令描述
選擇短消息格式AT+CMGF=[
TE字符配置AT+CSCS=?設(shè)置TE字符集,可選GSM、UCS2等7種字符集
發(fā)送短消息AT+CMGS設(shè)置發(fā)送手機(jī)號(hào)碼及發(fā)送短信
刪除短消息AT+CMGD=
讀取短消息AT+CMGR=
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編碼[8]。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,L,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號(hào)溫室內(nèi)溫度參數(shù)超過用戶設(shè)定的上限,則系統(tǒng)給用戶手機(jī)15212345678(虛擬號(hào)碼)發(fā)送短信內(nèi)容:
1號(hào)溫室內(nèi)空氣溫度超過設(shè)定閾值
對(duì)于UCS2短信編碼字符串為:
0011+00+0D+91+68+5112325476F8+0008+04+2D+ 0031(1)53F7(號(hào))6E29(溫)5BA4(室)5185(內(nèi))7A7A(空)6C14(氣)6E29(溫)5EA6(度)8D85(超)8FC7(過)8BBE(設(shè))5B9A(定)9608(閾)503C(值)
(此處為易讀而注“+”,實(shí)際發(fā)送中不存在,漢字要發(fā)送其Unicode碼格式,括號(hào)內(nèi)為Unicode碼對(duì)應(yīng)其漢字,實(shí)際發(fā)送中不存在)
其中:
0D指目的號(hào)碼長(zhǎng)度(+86 15212345678);
5112325476F8指目的號(hào)碼(15212345678F,補(bǔ)F后兩位一反);
04指有效期,2D為短信長(zhǎng)度;
003153F…08803為短信內(nèi)容(1號(hào)溫室內(nèi)空氣溫度超過設(shè)定閾值)。
結(jié)合AT指令,當(dāng)1號(hào)溫室空氣溫度超閾值,進(jìn)行短信報(bào)警的具體操作過程為:
(1) 發(fā)送AT+CMGF=0//PDU方式發(fā)送短信。
(2) 發(fā)送AT+CSCS=“UCS2”//短信編碼方式為UCS2。
(3) 發(fā)送AT+CMGS=2D//短信長(zhǎng)度。
(4) 識(shí)別返回>后發(fā)送下列字符串:
0011000D91685112325476F80008042D003153F76 E295BA451857A7A6C146E295EA68D858FC78BBE5B 9A9608503C.
同樣,系統(tǒng)定期檢查設(shè)備內(nèi)SIM卡的余額,當(dāng)余額少于設(shè)定余額的時(shí)候進(jìn)行報(bào)警提醒,利用中國移動(dòng)短信余額查詢功能,按照上述短信編碼方式即可完成短信余額查詢功能。具體可通過向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)所測(cè)環(huán)境參數(shù)均為緩變量,當(dāng)用戶啟動(dòng)短信報(bào)警功能后,本系統(tǒng)采集周期最短可設(shè)置為5 min,否則若采集周期過短,當(dāng)環(huán)境參量超過閾值時(shí),系統(tǒng)不斷發(fā)送報(bào)警信息,不僅增加系統(tǒng)負(fù)擔(dān)而且給用戶造成不必要的資費(fèi)浪費(fèi)。
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公司的SIM900A模塊設(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)用,對(duì)此領(lǐng)域的研究起到了一定指導(dǎo)作用。
參 考 文 獻(xiàn)
[1]浦敏,李云飛,王宜懷.基于物聯(lián)網(wǎng)的無線照明控制系統(tǒng)[J].照明工程學(xué)報(bào),2010,21(2):86-89.
[2]向明尚,劉興偉.EPC物聯(lián)網(wǎng)在車輛管理系統(tǒng)中的應(yīng)用[J].大慶石油學(xué)院學(xué)報(bào),2010,34(1):89-93.
[3]王偉,王華奎.基于無線傳感器網(wǎng)絡(luò)的工廠安防系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2011,19(3):736-739.
[4]章軍富,陳峻崎,胡劍非,等.基于GPRS/SMS和μCOS的都市綠地精準(zhǔn)灌溉控制系統(tǒng)[J].農(nóng)業(yè)工程學(xué)報(bào),2009,25(9):1-5.
[5]王翥,郝曉強(qiáng),魏德寶.基于WSN和GPRS網(wǎng)絡(luò)的遠(yuǎn)程水質(zhì)監(jiān)測(cè)系統(tǒng)[J].儀表技術(shù)與傳感器,2010(1):48-52.
[6]徐剛,陳立平,張瑞瑞,等.基于精準(zhǔn)灌溉的農(nóng)業(yè)物聯(lián)網(wǎng)應(yīng)用研究[J].計(jì)算機(jī)研究與發(fā)展,2010,47(z2):333-337.
[7]ST.STM32F103X6 datasheet[EB/OL].[2007-07-01]. http://www.st.com/.
[8]孫丘偉,余臻.基于GSM的短信報(bào)警收發(fā)平臺(tái)設(shè)計(jì)[J].福州大學(xué)學(xué)報(bào):自然科學(xué)版,2008,36(z1):44-48.
作者簡(jiǎn)介:
翟 順 男,1987年出生,山東泰安人,碩士研究生。主要研究方向?yàn)槲锫?lián)網(wǎng)應(yīng)用。
(上接第85頁)
能如延時(shí)和抖動(dòng)等,都可以按本方法做少許改變而實(shí)現(xiàn)。
參 考 文 獻(xiàn)
[1]李洋.網(wǎng)絡(luò)協(xié)議本質(zhì)論[M].北京:電子工業(yè)出版社,2011.
[2]牛連強(qiáng).英漢TCP/IP網(wǎng)絡(luò)術(shù)語辭典[M].北京:科學(xué)出版社,2005.
[3]屈丹.VoIP語音處理與識(shí)別[M].北京:國防工業(yè)出版社,2010.
[4]力興龍.IP多播技術(shù)淺析及實(shí)現(xiàn)[J].微計(jì)算機(jī)應(yīng)用,2002,23(1):6-9.
[5]林闖,單志廣,任豐原.計(jì)算機(jī)網(wǎng)絡(luò)的服務(wù)質(zhì)量(QoS)[M].北京:清華大學(xué)出版社,2004.
[6]陳小來.H.263視頻壓縮編碼算法的研究及其DSP實(shí)現(xiàn)[D].西安:西安科技大學(xué),2007.
[7]巴剛,羅衛(wèi)兵,遲曉剛,等.基于SIP協(xié)議的VoIP系統(tǒng)及其QoS研究[J].科技傳播,2011(15):196-197.
[8]許華榮,李名世.基于RTP的實(shí)時(shí)視頻傳輸系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(4):876-878.
[9]羅萬明,林闖,閻保平.TCP/IP擁塞控制研究[J].計(jì)算機(jī)學(xué)報(bào),2001,24(1):5-13.
[10]李永勝,黃蘭紅,劉紅軍.基于UDP協(xié)議的多文件傳輸[J].廣西民族大學(xué)學(xué)報(bào):自然科學(xué)版,2007,13(2):68-71.
作者簡(jiǎn)介:
劉 明 男,1979年出生,河北三河人,工程師。主要從事信息系統(tǒng)總體設(shè)計(jì)工作。