劉碧貞 黃 華 祝詩平
(西南大學工程技術學院,重慶 北碚 400716)
北斗在遠程人防警報系統(tǒng)中的應用
劉碧貞 黃 華 祝詩平
(西南大學工程技術學院,重慶 北碚 400716)
針對傳統(tǒng)的人防警報系統(tǒng)受地域限制的缺點,提出利用北斗的報文通信功能,設計了一套全天候、無通信盲區(qū)的遠程人防警報系統(tǒng)。系統(tǒng)的上位機人機界面是在Visual Basic環(huán)境下開發(fā)的,以單片機為主控制器完成警報終端軟件和硬件設計。系統(tǒng)可實現(xiàn)單個或群發(fā)警報指令的發(fā)放與反饋的功能,同時系統(tǒng)的警報終端還可將警報的文本內(nèi)容轉換成語音廣播報警的功能。試驗測試結果表明該系統(tǒng)實現(xiàn)了遠程警報功能,且運行可靠、穩(wěn)定。
北斗衛(wèi)星 人防警報系統(tǒng) 報文通信 單片機 文語轉換
目前,在遠程通信技術中一般采用的方式主要有全球移動通信(global system for mobile communication,GSM)和Internet等。GSM技術雖然具有快捷高效、傳輸質量良好、成本低等優(yōu)點[1],但受地域限制,在GSM沒有覆蓋的區(qū)域就無法使用[2]。Internet能實現(xiàn)資源共享,傳輸速度快,但在偏遠地區(qū)使用Internet,其建設周期長、實現(xiàn)難度大、運行成本高。
北斗衛(wèi)星導航系統(tǒng)由我國自行研制,擁有自主知識產(chǎn)權,具有測速、定位、雙向授時及短信息通信功能[3-4]。其安全可靠穩(wěn)定,覆蓋范圍大,24 h全天候服務,無通信盲區(qū),架設與維護簡便,是遠程數(shù)據(jù)傳輸?shù)睦硐胪ㄐ畔到y(tǒng)[4]。本文采用北斗設計了一套遠程人防警報系統(tǒng)。用戶只需連接客戶端與服務器,在客戶端設置所需警報指令,就可以很方便地進行警報通信。該系統(tǒng)可廣泛地應用于抗災救災、軍區(qū)通信、應急通信等各個領域[5]。
遠程人防警報系統(tǒng)結構如圖1所示。
圖1 系統(tǒng)結構圖
遠程人防警報系統(tǒng)由客戶端、服務器和警報終端三個部分組成。客戶端、服務器構成上位機,警報終端構成下位機。上位機與下位機之間采用北斗收/發(fā)模塊進行雙向通信??蛻舳薸(i=1,2,3,…,n)發(fā)送單個或群發(fā)警報控制指令到服務器,服務器根據(jù)報警器ID,通過北斗收/發(fā)模塊將警報信息轉發(fā)給目的地警報終端的北斗收/發(fā)模塊k(k=1,2,3,…,m)。警報終端處理相應警報事件后將警報信息的執(zhí)行結果反饋給服務器,服務器回傳反饋指令給對應的客戶端。
由于系統(tǒng)的服務器與客戶端之間的通信方式采用TCP/IP協(xié)議,服務器與北斗收/發(fā)模塊之間的通信方式采用串口協(xié)議,而VB軟件里面同時提供了服從TCP/IP協(xié)議的Winsock控件和串口協(xié)議的Mscomm控件,因此用戶可以很方便地通過對控件屬性的設置,實現(xiàn)TCP/IP通信和串行通信[6]。服務器和客戶端的上位機均選擇VB軟件進行人機界面設計。
2.1 客戶端軟件設計
客戶端發(fā)出各種警報指令,如警報鳴放、巡檢、授時、語音廣播等??蛻舳塑浖O計調用VB里面的Winsock控件,將Winsock控件的Protocol屬性設為“0-sckTCPProtocol”??蛻舳艘c服務器獲得連接,必須先知道服務器所在的IP地址(RemoteHost)和端口號(RemotePort),然后調用Connet方法發(fā)送握手請求[7]。
2.2 服務器軟件設計
2.2.1 服務器與客戶端的通信
在服務器設計界面中添加Winsock控件,將Winsock控件的Protocol屬性設為“0-sckTCPProtocol”,設置一個LocalPort作為監(jiān)聽端口,并調用listen,使服務器處于監(jiān)聽狀態(tài)。當收到客戶端握手請求時就會觸發(fā)ConnectionRequest事件,調用其內(nèi)部的Accept方法接受客戶端的連接請求??蛻舳伺c服務器建立連接后,任何一方的計算機都可以發(fā)送或接收數(shù)據(jù)。可通過調用SendData來發(fā)送數(shù)據(jù),當接收到數(shù)據(jù)時就會觸發(fā)DataArrival 事件,通過調用GetData就可獲取數(shù)據(jù)[8]。每接入一個客戶端到服務器,服務器就會記錄該客戶端IP地址的索引號。當服務器接收到來自客戶端發(fā)送過來的警報消息時,服務器提取數(shù)據(jù)中的任務ID并存到與其索引號對應的數(shù)組里面,以便將通信結果反饋給對應的客戶端。
2.2.2 服務器與北斗收/發(fā)模塊的通信
服務器是客戶端與警報終端之間通信的橋梁。服務器匯總各個客戶端的警報指令,然后通過北斗衛(wèi)星轉發(fā)給相應的警報終端。服務器與北斗收/發(fā)模塊之間通過串口通信,使用VB中的Mscomm控件[9]。對其屬性進行設置,初始設置打開串口COM1,波特率為19 200 bit/s,用戶可根據(jù)需要在界面上進行修改。當收到來自北斗收/發(fā)模塊的數(shù)據(jù)時會觸發(fā)comEvReceive事件,可調用InBufferCount獲得數(shù)據(jù)長度,調用Input獲得收到的數(shù)據(jù)。發(fā)送數(shù)據(jù)可調用Output[10]。
2.2.3 數(shù)據(jù)庫管理
調用VB中的Adodc控件,實現(xiàn)服務器與Access數(shù)據(jù)庫的鏈接。數(shù)據(jù)庫中保存各地區(qū)對應的代碼、報警器ID和北斗卡號。在界面上可通過相關操作對數(shù)據(jù)庫進行查詢、修改更新。
3.1 遠程人防警報系統(tǒng)下位機硬件設計
中央控制器采用單片機,單片機與北斗收/發(fā)模塊、TTS語音輸出模塊以及仲裁模塊之間的通信均采用串口通信,因此要求其單片機至少具有三個串口。STC15F1K60XW單片機的異步串行口UART分時復用可當三組使用,同時其價格低廉,因此單片機選用STC15F1K60XW。本系統(tǒng)的北斗收/發(fā)模塊選用CDT-441H(M)型一體式北斗/GPS雙模用戶機。單片機串口經(jīng)RS-232電平轉換后分別與北斗收/發(fā)模塊和仲裁模塊進行通信。TTS語音輸出模塊使用中文語音合成芯片OSYN06188實現(xiàn)。該芯片可以通過異步串口接收待合成的文本,可直接通過脈寬調制(PWM)輸出方式驅動揚聲器,也可外接單只三極管驅動揚聲器來實現(xiàn)文本到語音(TTS)的轉換。本系統(tǒng)采用PWM直接驅動揚聲器[11]。
系統(tǒng)下位機的硬件連接圖如圖2 所示。
圖2 系統(tǒng)下位機硬件連接圖
3.2 遠程人防警報系統(tǒng)下位機軟件設計
下位機主要實現(xiàn)讀取北斗收/發(fā)模塊的數(shù)據(jù)、TTS語音輸出、仲裁通信和返回警報狀態(tài)等功能。單片機通過串口讀取警報終端北斗收/發(fā)模塊接收到的數(shù)據(jù),北斗的數(shù)據(jù)傳輸基本格式如圖3所示。
圖3 北斗的數(shù)據(jù)傳輸基本格式
Fig.3 The basic format of the data transmission of Beidou
在單片機內(nèi)部預留一個1 024字節(jié)的緩存單元,存儲從北斗收/發(fā)模塊獲得的數(shù)據(jù)。在緩存數(shù)據(jù)中找到警報數(shù)據(jù)的起始符“$”和數(shù)據(jù)長度字節(jié),然后根據(jù)數(shù)據(jù)長度從消息起始符“$”開始到校驗和結束讀取完整的警報數(shù)據(jù),并將所有數(shù)據(jù)逐字節(jié)異或。如果得到的異或值為零,說明該數(shù)據(jù)正確,否則數(shù)據(jù)有誤。若數(shù)據(jù)有誤,則丟棄該數(shù)據(jù)。若數(shù)據(jù)正確且警報文本內(nèi)容需要通過語音廣播,則單片機將警報文本內(nèi)容轉換成TTS語音文本輸出格式,然后通過TTS模塊廣播相應的語音警報內(nèi)容;否則通過串口轉發(fā)給仲裁模塊,由仲裁模塊處理相關事件。下位機處理完警報信息后,需要向客戶端回傳處理結果。報警系統(tǒng)接收端主程序流程圖如圖4所示。
圖4 報警系統(tǒng)接收端主程序流程圖
4.1 客戶端與服務器連接
當客戶端與服務器握手成功后,在服務器界面上將客戶端的IP地址提取并顯示出來。若有多個客戶端同時連接上服務器,則每一個客戶端的IP地址和總的連接數(shù)都會顯示出來。
4.2 通信測試
客戶端與服務器握手成功后,在客戶端設置相應任務ID和報警器ID,并點擊報警類型,即可將數(shù)據(jù)發(fā)送到服務器。服務器提取該數(shù)據(jù)中的報警器ID,在數(shù)據(jù)庫中查詢該報警器ID對應的北斗卡號后,將數(shù)據(jù)轉化為北斗數(shù)據(jù)格式并轉發(fā)到目的地警報終端的北斗收/發(fā)模塊。若服務器在5 min內(nèi)收到反饋信息,說明此次警報通信成功;反之,若超過5 min未收到反饋信息,說明此次警報通信失敗。在報警器工作狀態(tài)欄中顯示該報警器的通信狀態(tài)(正在通信/通信失敗/通信成功),最后將通信狀態(tài)反饋給發(fā)出此次警報的客戶端,同時在客戶端界面上顯示此次警報成功與否。
以單個警報測試為例,在客戶端設置任務ID和報警器ID,發(fā)送“警報鳴放”的控制指令后,與報警器ID對應的卡號的北斗收/發(fā)模塊的警報終端響起了警報聲。其他幾種警報(警報停止、巡檢、授時、語音廣播開啟、語音廣播停止、報文)測試結果類似。不同的是,當發(fā)送“授時”警報時,整個系統(tǒng)的時間將會被更新為與衛(wèi)星同步的時間;當發(fā)送報文警報時,警報終端的TTS模塊輸出的語音信號為“信息內(nèi)容”里面的報文內(nèi)容。群發(fā)警報測試結果與單個警報測試類似,區(qū)別就是客戶端可以將警報指令同時發(fā)送到多個警報終端。
4.3 功率檢測
當用戶需要檢測北斗功率時,點擊服務器界面上的“功率檢測”按鈕或選擇“自動檢測”選項設置時間間隔,服務器就會發(fā)送功率檢測信息給北斗衛(wèi)星,北斗衛(wèi)星返回功率狀況給服務器。服務器以直方圖形式直觀地顯示接收到的北斗衛(wèi)星1#~6#波束的信號功率。
經(jīng)試驗測試表明,系統(tǒng)實現(xiàn)了遠程人防警報通信,運行穩(wěn)定,操作簡單,人機界面友好,達到預期效果。
人防是國防的重要組成部分,直接關系到國家的利益和人民的安危,利用各種新技術和新方法保障人防通信和警報的暢通是一個重要的研究課題。北斗以其24 h全天候服務、無通信盲區(qū)的優(yōu)勢,具有廣闊的應用前景。
本文設計了基于北斗的遠程人防警報系統(tǒng),解決了GSM和Internet在遠程通信受地域限制的缺點。系統(tǒng)可廣泛地應用于抗災救災、應急通信等各個領域。
[1] 顧昕元,高磊,李傳莉.基于GSM短信的醫(yī)院制氧設備遠程報警系統(tǒng)設計[J].中國醫(yī)療設備,2013,28(6):49-51.
[2] 徐曉晗.基于北斗的車輛遠程監(jiān)控報警系統(tǒng)[J].現(xiàn)代電子技術,2008,31(19):21-24.
[3] Jin S G.Recent progresses on Beidou/COMPASS and other global navigation satellite systems(GNSS)-I[J].Advances in Space Research,2013,51(6):941-941.
[4] 溫靜,汪大明,孟月玥,等.北斗衛(wèi)星導航系統(tǒng)在地質調查領域應用綜述[J].地質力學學報,2012,18(3):213-223.
[5] 郭景全.基于3G網(wǎng)絡的人防應急指揮系統(tǒng)的設計與實現(xiàn)[D].成都:電子科技大學,2013.
[6] 袁小平,顏文俊.基于VB的監(jiān)控器遠程監(jiān)控軟件設計[J].機電工程,2001(6):15-19.
[7] 胡大輝,杜治國,肖興江.VB6中用Winsock控件實現(xiàn)多臺計算機之間的通信[J].四川畜牧獸醫(yī)學院學報,2002(4):80-84.
[8] 何廣龍.用VB編程實現(xiàn)計算機通訊[J].河南科技,2013(2):5-64.
[9] 上官勝剛.VB串口編程基礎及實現(xiàn)[J].科技廣場,2012(5):49-52.
[10]杜睿攀.基于VB6.0MSComm控件的串口通信方法研究與應用[J].河南科技,2012(20):19-32.
[11]黃華,仲元昌.TTS在智能公交報站系統(tǒng)中的應用[J].自動化儀表,2012,33(8):24-26.
Application of Beidou Satellite in Remote Civil Air Defense Alarm System
To against the shortcoming in geographical limitation of traditional alarm systems for civil air defense, the weather-proof remote civil air defense alarm system without communication blackout has been designed by adopting the message communication function of Beidou satellite. The man machine interface of the host computer is developed under Visual Basic environment, with the single chip computer as the main controller to achieve the design of alarm terminal software and hardware. The system can realize the functions of sending single or group alarm commands and feeding back the results, in addition, the alarm terminal can also convert the text content into speech broadcast. The results of experimental test indicate that the system implements remote alarm function and runs stably and reliably.
Beidou satellite Alarm system for civil air defense Message communication Single chip machine Text-to-speech conversion
中央高?;究蒲袠I(yè)務費專項基金資助項目(編號:XDJK2013C107)。
劉碧貞(1990-),女,現(xiàn)為西南大學農(nóng)業(yè)電氣化與自動化專業(yè)在讀碩士研究生;主要從事智能檢測與控制方面的研究。
TP311
A
10.16086/j.cnki.issn1000-0380.201504006
修改稿收到日期:2014-08-28.