国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GSM的環(huán)境綜合監(jiān)控系統(tǒng)軟件設計

2010-07-25 08:44范志輝李云龍
微型電腦應用 2010年5期
關鍵詞:短消息串口短信

范志輝,李云龍

0 引言

GSM(Global System for Mobile Communication)全球數字移動通信系統(tǒng),是目前國內覆蓋范圍最廣、系統(tǒng)可靠性最高、用戶數量最大的數字移動蜂窩通訊系統(tǒng)。基于GSM網絡的短信服務SMS(short Message Service),作為一種廉價的無線應用方案越來越受到用戶的歡迎和關注,在數據采集、遠程監(jiān)控等領域得到了廣泛的應用[1][2]。電信、電力、軍隊等部門的庫房往往存放著重要的機器設備,需要實時檢測房間的漏水、高溫、斷電、煙火、盜賊入侵等情況,并能夠及時報告異常情況。早期的監(jiān)控系統(tǒng)基于有線網絡存在著布線困難、線路容易被破壞等問題?;贕SM研究開發(fā)一套功能全面,適合無人值守的機房環(huán)境監(jiān)控系統(tǒng)具重要的意義。安全可靠、穩(wěn)定有效應該是對無人值守系統(tǒng)的基本要求。系統(tǒng)軟件控制著硬件的運行和調配,扮演著十分重要的角色,文章詳細介紹了監(jiān)控系統(tǒng)軟件設計的策略和實現方法,并給出了系統(tǒng)的實驗情況和使用效果。

1 系統(tǒng)的總體設計

系統(tǒng)通過各類傳感器獲取房間供電電壓、浸水、溫濕度等環(huán)境信息,通過網絡獲取重要服務器的通斷情況,當遇到異常情況通過GSM向機房管理員發(fā)送報警短消息,通過網絡向遠程管理中心發(fā)送網絡報警信息,同時機房值班室報警喇叭響,報警指示燈閃亮。用戶隨時可通過短信發(fā)送命令控制機房設備開關機如開啟空調等。系統(tǒng)工作原理見圖1,具有如下特性:

● 實時檢測機房環(huán)境信息;

● 支持中英文短信;

● 遠程短信修改系統(tǒng)控制參數;

● 登錄監(jiān)控主機需要密碼;

● 報警方式多樣;

● 預留16路繼電器輸出供用戶自定義;

● 穩(wěn)定可靠,適合無人值守。

圖1 系統(tǒng)工作原理示意圖

2 軟件的設計

軟件基于 WindowsXP系統(tǒng)平臺,開發(fā)語言使用VC++6.0,數據庫采用SQL Sever2000。系統(tǒng)軟件策略:基于單文檔模式使用定時器定時查詢傳感器狀態(tài),有異常發(fā)送報警指令。軟件流程見圖2。下面介紹軟件設計中解決的難點問題。

圖2 軟件流程圖

2.1 GSM Moderm讀寫

GSM Moderm通過標準RS232接口與PC機相連,支持標準AT指令。監(jiān)控主機與GSM模塊通信通過內嵌AT指令的串口命令完成。用到的串口命令及嵌入方法為:WriteFile (ATcmd,nLength of ATcmd,&dwNumRead, NULL)和 ReadFile(ATcmd,nLength of ATcmd,ReadFile),這里ATcmd一般為char類型,通過sprintf()函數將AT指令裝入ATcmd中,示例:sprintf(ATcmd, "AT+CMGF=0 ",12),該語句將AT指令“AT+CMGF=0回車換行”放入ATcmd中,表示采用中文格式顯示短消息內容。其它AT指令也用該方法嵌入串口命令中。本系統(tǒng)用到的AT指令見表1。

表1 常用的AT指令

2.2 雙向短信防沖突策略

實時短信報警和短信遠程控制功能要求GSM雙向收發(fā)短信。系統(tǒng)軟件建立了兩個子循環(huán) A和 B,分別負責發(fā)送和接收短信,兩循環(huán)相互獨立運行,操作串口。由于不管是發(fā)送還是接收一條短消息都需要多次寫讀串口,為避免“答非所問”的兩子循環(huán)搶占串口現象,系統(tǒng)創(chuàng)新研制了“雙向鎖”機制。通過兩個全局變量控制子循環(huán)對串口的操作:當子循環(huán)A操作串口時,使變量B無效,子循環(huán)B不能操作串口,待子循環(huán)A完成串口操作后,使變量B有效,子循環(huán)B可操作串口,同時使變量A無效,子循環(huán)A不能操作串口,待子循環(huán)B完成操串口作后,使變量A有效。此機制有效解決了讀寫GSM模塊沖突的問題。

2.3 簡化中文短信編碼算法

常見的發(fā)送和接收GSM SMS信息格式有兩種[3] :Text Mode和PDU Mode,Text Mode為純文本字符用于傳輸英文和漢語拼音,便于編程實現但不方便用戶使用。PDU Mode適合傳輸中文,但編碼比較麻煩,PDU串不僅包含消息本身,還包含服務中心號碼、目標號碼、自身號碼、編碼方式和服務時間等。PDU 串其實是一串 ASCII碼,由‘0''-‘9''、‘A''-‘F''組成,一般由編碼得到,常見的編解碼算法有7-bit、8-bit和UCS2。這些算法的實現都需要編寫復雜的C程序代碼,有一定難度。網頁http://www.vckbase.com/document/viewdoc/?id=1133有關于這方面的詳細介紹。由于本系統(tǒng)的報警內容相對固定,用到的漢字總數不超過40個,為了簡化編碼算法,加快研發(fā)進度,提出查找匹配法“編碼”中文短消息。由于每個漢字的PDU碼(Unicode碼)可由區(qū)位碼算出,設計時預先根據區(qū)位碼算出這40個漢字的Unicode碼放入程序中(如“機”字的Unicode碼是字符串“673A”,“房”字的Unicode碼是字符串“623F”),對于漢字str查找匹配法實現方法如下:

最多經過39次查找,最終定能找到str對應的字符串。編排時將最常用的漢字放在前面可以較少系統(tǒng)開支。將該段代碼放入子程序中,消息內容有幾個漢字只要調用幾次子程序即可實現中文編碼。此算法編碼效率比7-bit、8-bit和UCS2方式高,適合于內容不多且相對固定的情況。

2.4 命令短信的安全密鑰控制

操作員隨時可以向系統(tǒng)發(fā)送短消息查看機房環(huán)境狀態(tài)或者控制系統(tǒng)完成如重啟服務器、關閉空調等操作,實現遠程無線控制功能。為保證系統(tǒng)安全、準確處理接收到的命令短信,設計中采用如下策略:用定時查詢方式處理GSM接收到的短信,采用密鑰策略對短信內容和來電身份雙重驗證。具體來說,就是在定時循環(huán)中先正確配置GSM工作模式,然后讀取當前GSM中短信數量,找未讀短信(避免重復處理以前的命令),判斷該短信是否來自預定手機號碼(避免被非操作員指揮),比對口令是否正確,以上任何一步不正確退出循環(huán),否則分析短信內容,決定是重啟、還是關機以及具體對哪一臺設備操作??诹畈欢ㄆ谛薷模_保安全。采用該策略有效保證了短信命令的穩(wěn)健性。

3 實驗及使用情況

3.1 實驗

本系統(tǒng)試運行階段主要解決了以下問題:

1)短消息在VC程序中發(fā)送不出去的問題;

同樣的AT指令執(zhí)行順序在超級終端可以正常發(fā)送短消息,在自研的 VC程序中卻不能正確發(fā)送。經過分析知道GSM網絡有一定的頻率漂移現象[4] ,信號在信道上的傳輸會出現時間延遲。超級終端已經自動判斷了前一語句是否正確執(zhí)行,才允許寫下一條指令。在程序中每條 AT+CMGS指令后加入 ReadComm(ATcmd,cmdlength)函數,起判斷作用,然后再寫短信內容,問題解決。

2)報警的次數控制

由于機房距離較遠,當警報發(fā)出后,管理員不能及時趕到現場,報警次數過多會造成資源浪費(短信0.1元/條),警報過少可能不能起到提醒作用。有時異常很快又恢復正常(如電壓),如果這時候不能及時告知管理員,也會造成管理員頻繁在兩校區(qū)之間奔走。通過實驗確定這樣的策略:當異常發(fā)生時先連續(xù)發(fā)送4條網絡報警信息,2條短消息,同時新校區(qū)值班室報警燈閃亮,若異常保持,則每5分鐘發(fā)送一條短消息,新校區(qū)值班室報警燈閃亮,不再發(fā)送網絡報警信息;若異?;謴?,則發(fā)送一條機房環(huán)境恢復正常信息,解除警報。

3.2 使用情況

本系統(tǒng)已于08年3月投入河南科技大學新校區(qū)網絡中心機房使用,已準確報警夏季機房浸水、空調死機、供電故障共計六次,遠程重啟郵件服務器、實名認證服務器累計5次,避免了用戶的財產損失,提高了工作效率。特別是有一次主路由器死機,網絡報警和有線電話報警無效,用戶通過短信遠程重啟主路由器,恢復網絡暢通,顯示了GSM網絡與有線網絡相比的優(yōu)越性。該項目為學校節(jié)約開支約15萬元,實現網絡中心機房的無人值守管理,節(jié)約人力資源,遠程無線控制機房設備提高了工作效率。

4 結論

本文介紹了一種基于GSM的機房環(huán)境綜合監(jiān)控系統(tǒng),詳細介紹了軟件設計中解決的難點。系統(tǒng)能夠實時檢測機房電壓、漏水、聲響、煙火及溫濕度等環(huán)境指標,充分發(fā)揮GSM 網絡無線、可靠、覆蓋范圍廣等優(yōu)點,投入使用半年多來多次及時準確報告機房危險情況。系統(tǒng)具有遠程無線控制、功能全面、無人值守等特點,具有較好的通用性和擴展性,適合于各類機房和倉庫的環(huán)境監(jiān)控,有很好的應用前景。

[1] 嚴錫君等.基于GPRS的灌區(qū)自動化信息管理系統(tǒng)的研究與實現[J] .微型電腦應用,2008(11),24-26.

[2] 王志勇,巴力登,石磊.基于 B/S結構下分布式控制系統(tǒng)的實時監(jiān)控[J] .工業(yè)控制計算機, 2006 (4),95-99.

[3] 李元臣,劉維群.基于GSM模塊的遠程監(jiān)控系統(tǒng)[J] .微計算機信息,2007,10-1,90-94.

[4] 胡修林,李喜林,唐祖平.基于嵌入式多任務系統(tǒng)的串口通信[J] .單片機與嵌入式系統(tǒng)應用,2006 (6),111-114.

猜你喜歡
短消息串口短信
淺談AB PLC串口跟RFID傳感器的通訊應用
道歉短信
試論電視新聞短消息的采寫策略
淺談廣播短消息的采寫
代發(fā)短信
數字電源內部數據傳輸的串口通信方法實現
USB接口的多串口數據并行接收方法探索
串口技術的實物調試和虛擬仿真聯(lián)合教學模式
小靈通里的父愛
“八一”節(jié)日短信之一
轮台县| 申扎县| 河西区| 论坛| 湘潭县| 手游| 临湘市| 乌什县| 利津县| 观塘区| 游戏| 永济市| 义马市| 乌鲁木齐县| 东兴市| 灯塔市| 常州市| 肥西县| 海城市| 馆陶县| 阳原县| 西吉县| 临桂县| 始兴县| 凤阳县| 保亭| 清远市| 永吉县| 安多县| 禹州市| 孟连| 新余市| 平遥县| 江口县| 正镶白旗| 平南县| 澄城县| 德惠市| 交口县| 通渭县| 广河县|