敖麟欽
摘 要:隨著移動(dòng)互聯(lián)網(wǎng)通訊技術(shù)的飛速發(fā)展,運(yùn)用移動(dòng)終端進(jìn)行信息查詢已成為主流趨勢,針對專業(yè)APP應(yīng)用軟件開發(fā)運(yùn)維成本較高、用戶需下載安裝的現(xiàn)狀,實(shí)現(xiàn)一種成本低廉、操作便捷的移動(dòng)終端信息查詢方式具有現(xiàn)實(shí)意義。針對以上情況,設(shè)計(jì)并實(shí)現(xiàn)了一款基于GSM/SMS技術(shù)的信息查詢系統(tǒng),系統(tǒng)采用SimCom公司的Sim900A模塊和CP2102串口模塊為主要硬件基礎(chǔ),基于VS平臺(tái)開發(fā)短信模塊控制應(yīng)用軟件,以短信為載體,通過AT指令控制Sim900A模塊實(shí)現(xiàn)短信息雙向通訊,構(gòu)建輕量級(jí)企業(yè)專網(wǎng)數(shù)據(jù)訪問通道,為移動(dòng)終端安全訪問專網(wǎng)數(shù)據(jù)提供了一種可行方法。
關(guān)鍵詞:GSM/SMS;SIM900A;AT指令;信息查詢;PDU
DOIDOI:10.11907/rjdk.162157
中圖分類號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-7800(2016)012-0077-03
0 引言
近年來,移動(dòng)互聯(lián)網(wǎng)通訊技術(shù)快速發(fā)展,網(wǎng)速逐年大幅提升,移動(dòng)數(shù)字終端(如:手機(jī)、平板電腦)通過裝載功能強(qiáng)大、種類繁多的APP軟件,正逐步替代傳統(tǒng)的PC電腦,成為主流的“資訊終端”。另一方面,開發(fā)專業(yè)APP軟件投入大、周期長、技術(shù)門檻高,對于信息化建設(shè)預(yù)算較為有限的單位普遍比較困難。如何以最低的成本構(gòu)建安全穩(wěn)定的數(shù)據(jù)通道,為移動(dòng)數(shù)字終端高效便捷地開展信息查詢工作做好底層通訊保障,具有較強(qiáng)的現(xiàn)實(shí)意義。為此,本文實(shí)現(xiàn)了一種操作簡單、價(jià)格低廉、性能穩(wěn)定的移動(dòng)終端數(shù)據(jù)查詢系統(tǒng)。
考慮到我國中小企業(yè)的實(shí)際分布狀況及當(dāng)前移動(dòng)通信網(wǎng)絡(luò)的普及情況,本文借助無線通信的優(yōu)勢,選用GSM(Global System of Mobile Communication)網(wǎng)絡(luò)的SMS(Short Message Service)技術(shù)來實(shí)現(xiàn)遠(yuǎn)程無線信息查詢,提出了一種手機(jī)短信信息查詢系統(tǒng)實(shí)現(xiàn)方法。
1 組網(wǎng)結(jié)構(gòu)與工作原理
GSM/SMS信息查詢系統(tǒng)結(jié)構(gòu)如圖1所示,該系統(tǒng)主要由手機(jī)終端、移動(dòng)通訊網(wǎng)絡(luò)(GSM)、企業(yè)內(nèi)部局域網(wǎng)、SIM900A通訊模塊、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器及數(shù)據(jù)庫管理軟件(Oracle)組成。手機(jī)終端用于發(fā)送查詢指令和接收查詢反饋結(jié)果;移動(dòng)通訊網(wǎng)絡(luò)是連接企業(yè)局域網(wǎng)和手機(jī)終端的數(shù)據(jù)傳輸橋梁;應(yīng)用服務(wù)器及控制程序是整個(gè)系統(tǒng)的控制核心,通過串口與SIM900A通訊模塊連接,發(fā)送AT指令從此模塊中讀取短信,對短信內(nèi)容進(jìn)行解析,提取查詢內(nèi)容并發(fā)送至數(shù)據(jù)庫服務(wù)器進(jìn)行數(shù)據(jù)檢索;同時(shí)將數(shù)據(jù)庫檢索結(jié)果進(jìn)行短信封裝并通過SIM900A通訊模塊反饋給查詢端。數(shù)據(jù)庫服務(wù)器用于存儲(chǔ)企業(yè)級(jí)數(shù)據(jù),使用的數(shù)據(jù)管理軟件為Oracle企業(yè)版。
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)采用SIM900A通訊模塊接收運(yùn)營商短信中心轉(zhuǎn)發(fā)的短信息,通過模塊TXD和RXD針腳與CP2102 USB-TTL模塊實(shí)現(xiàn)數(shù)據(jù)交互,該模塊使用USB接口與應(yīng)用服務(wù)器連接,將數(shù)據(jù)傳送至服務(wù)器。數(shù)據(jù)發(fā)送則為以上過程的反向過程,硬件結(jié)構(gòu)如圖2所示。
SIM900A通訊模塊為無線收發(fā)模塊,由SIMCom公司開發(fā)核心芯片。它屬于雙頻GSM/GPRS模塊,工作頻段為EGSM 900MHz和DCS 1800MHz,完全采用SMT封裝形式,性價(jià)比較高。該模塊與主控制器通過UART1連接,外接SIM卡電路,電源供電為+5V。
CP2102 USB-TTL轉(zhuǎn)換模塊,內(nèi)置USB2.0全速功能控制器、USB收發(fā)器、晶體振蕩器、EEPROM及異步串行數(shù)據(jù)總線(UART),支持調(diào)制解調(diào)器全功能信號(hào),無需任何外部USB器件。CP2102與其它USB-UART轉(zhuǎn)接電路的工作原理類似,通過驅(qū)動(dòng)程序?qū)C的USB口虛擬成COM口(又稱串口)以達(dá)到擴(kuò)展的目的。
3 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
一般情況下,SIM900A模塊均是以單片機(jī)為控制主機(jī)[1-3],為了降低技術(shù)復(fù)雜程度并節(jié)約硬件成本,本文沒有采用單片機(jī)作為控制核心,所有控制程序均布置在應(yīng)用服務(wù)器中,以服務(wù)器為控制核心發(fā)送各類指令和查詢數(shù)據(jù)。
3.1 控制程序流程
SIM900A和CP2102模塊通過服務(wù)器USB接口完成硬件連接加電,控制程序主要流程如下:主程序首先完成數(shù)據(jù)庫連接初始化操作,確保數(shù)據(jù)庫能夠正常訪問;然后通過SerialPort函數(shù)打開串口,初始化SIM900A模塊,初始化工作主要包括選擇短信格式、設(shè)置短信模式參數(shù)等。當(dāng)完成初始化工作后進(jìn)入接收短信輪詢狀態(tài),輪詢時(shí)間為3秒,當(dāng)接收到“+CMTI”信息提示,即發(fā)現(xiàn)有新的短信,按照短信PDU模式對接收信息進(jìn)行解析,若解析成功且短信內(nèi)容符合程序要求,即按照查詢內(nèi)容生成SQL語句發(fā)送至數(shù)據(jù)庫進(jìn)行信息檢索。根據(jù)數(shù)據(jù)庫檢索結(jié)果進(jìn)行短信PDU模式封裝,過長的短信息需封裝成多個(gè)PDU包進(jìn)行發(fā)送。程序流程如圖3所示。
3.2 PDU模式短信息解析及發(fā)送
SIM900A模塊發(fā)送短信支持文本和PDU兩種模式。文本模式(又稱text模式)沒有拆分重組功能,不能發(fā)送較長內(nèi)容的短信。PDU模式單次可發(fā)134個(gè)有效字節(jié)(268/2=134,見表1),可將較長短信拆分成多條信息發(fā)送,并在接收端進(jìn)行重組。本文采用PDU模式進(jìn)行短信發(fā)送,首先要使用StringToUnicode函數(shù)將發(fā)送的文本內(nèi)容進(jìn)行Unicode編碼轉(zhuǎn)換[4],然后按照PDU模式的協(xié)議標(biāo)準(zhǔn)進(jìn)行報(bào)文拼接。報(bào)文格式如表1所示。
3.3 信息查詢安全策略
根據(jù)實(shí)際需要,以特殊字符或大寫英文字母置于擬發(fā)送的短信息首端,作為信息查詢分類標(biāo)識(shí),如短信內(nèi)容為“*A88888”,表示查詢車牌號(hào)為“A88888”的車輛注冊信息,“*”為車輛信息查詢標(biāo)識(shí);短信內(nèi)容為“P張三”,表示查詢本單位員工張三的手機(jī)和辦公電話號(hào)碼,“P”為員工聯(lián)系方式查詢標(biāo)識(shí)。
為了防止用戶惡意竊取信息等情況發(fā)生,此系統(tǒng)設(shè)置了非法用戶過濾和單日最高查詢次數(shù)限制的安全策略。程序讀取短信后解析查詢手機(jī)端電話號(hào)碼,在數(shù)據(jù)庫中檢測是否為合法用戶,非法用戶查詢信息將不會(huì)反饋。對于合法用戶的查詢操作進(jìn)行數(shù)據(jù)日志記錄,一般用戶單日查詢次數(shù)超過規(guī)定上限值,系統(tǒng)將不反饋信息,有效避免信息大量泄漏,保障了信息安全。
4 系統(tǒng)實(shí)現(xiàn)
本系統(tǒng)采用Visual Studio 2010作為開發(fā)平臺(tái),操作系統(tǒng)為Windows 2008 Enterprise,數(shù)據(jù)庫管理系統(tǒng)為Oracle 11g,使用CP2102 USB-TTL轉(zhuǎn)換模塊實(shí)現(xiàn)USB口虛擬化COM口(又稱串口)需在應(yīng)用服務(wù)器端安裝驅(qū)動(dòng)程序。回顯狀態(tài)欄用于實(shí)時(shí)監(jiān)控SIM900A通訊模塊運(yùn)行狀況和短信收發(fā)情況;發(fā)送欄主要功能為發(fā)送短信至目標(biāo)手機(jī)號(hào);信息接收欄顯示通訊模塊接收到的短信息和按照查詢指令完成查詢操作及擬反饋的短信息。
5 結(jié)語
設(shè)計(jì)并實(shí)現(xiàn)了一種基于GSM/SMS的信息查詢系統(tǒng),可為中小型企業(yè)通過移動(dòng)終端實(shí)現(xiàn)信息查詢提供一種有效方法,在實(shí)際應(yīng)用中證明此系統(tǒng)具有長時(shí)間在線、應(yīng)用范圍廣、穩(wěn)定安全等特點(diǎn)。GSM/SMS技術(shù)以無線電波為載體實(shí)現(xiàn)了企業(yè)網(wǎng)與互聯(lián)網(wǎng)在鏈路層的互通,而本文提出的是一種構(gòu)建輕量級(jí)企業(yè)專網(wǎng)數(shù)據(jù)訪問通道的方法,因內(nèi)部安全控制策略較為簡單,不適用于保密安全級(jí)別較高的企事業(yè)單位。為此,如何將通訊模塊與企業(yè)網(wǎng)絡(luò)安全策略有機(jī)整合,有效利用網(wǎng)絡(luò)邊界接入平臺(tái)進(jìn)一步提高系統(tǒng)整體安全性是下一步研究的重要方向。
參考文獻(xiàn):
[1] 楊鑫,申長軍.基于 SIM900 的苗情圖像無線傳輸系統(tǒng)設(shè)計(jì)[J].中國農(nóng)機(jī)化學(xué)報(bào),2013,34(4):252-256.
[2] 霍濤,賈振堂.基于STM32和SIM900A的無線通信模塊設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2014,22(17):106-114.
[3] 曾明如,羅浩.基于ARM9的視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2015,34(4):925-929.
[4] 張維文,孫耀杰,王彬宇.基于Android和SIM900A模塊位置實(shí)時(shí)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國礦業(yè),2014,23(S2):362-365.
[5] 劉良,賴萬昌,黎明.基于ARM9的GPRS圖像傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(7):1477-1480.
[6] 甘志偉,閆凱.基于SIM900A的無線數(shù)據(jù)采集卡設(shè)計(jì)與實(shí)現(xiàn)[J].山西電子技術(shù),2013(1):55-58.
(責(zé)任編輯:孫 娟)