□黎悅
2017年9月臨近黨的十九大召開在即,我單位安全播出大排查也積極展開。各項播出項目、安全播出系統(tǒng)、各套應急預案均檢查維護并得到落實。最后在與上級安全播出考核機構聯(lián)系時,發(fā)現(xiàn)已使用數(shù)年之久的由他們負責配發(fā)的“安全播出預警系統(tǒng)”又出了問題,無法正常接收上級發(fā)出的信息,同時上電啟動后也無法完成初始化連接網(wǎng)絡,這種故障已經(jīng)出現(xiàn)很多次,已經(jīng)到了必須升級換代的時候了,于是有了本項技改。
正如本文前述,該“安全播出預警系統(tǒng)”設備實際上就是個跑馬燈的LED短信接收裝置,主要工作過程就是通過一個BenQ移動通信模塊接收來自SIM卡的短信息,然后經(jīng)過編解碼在一塊32*192的LED顯示屏上以跑馬燈方式將短信內容逐條顯示出來;同時啟動蜂鳴器發(fā)出報警聲音給值機員,值機員在聽到聲音后用搖控器按擊相應數(shù)字鍵確認收到信息,或者查看更多信息完成相關操作即可。不過因為其本身就是一個“兼容機”,內部各部件都是把各種不同廠家的零件組裝而成,其性能的穩(wěn)定性和可靠性均無法保障,加上使用近幾年,修修補補好多次,有些關鍵模塊廠家已經(jīng)淘汰了,原廠產品已無處尋覓,即使找得到也至少是個二手貨。與上級播出監(jiān)控考核部門聯(lián)系,他們建議升級更換新的系統(tǒng)設備,但新的監(jiān)控硬件部分都需要近10000元/臺,我們目前兩個播控機房按照一主一備配制也需要4萬元!所以經(jīng)過請示領導后,由我們自行用功能相近、能夠滿足需要的替代方案實現(xiàn)更新?lián)Q代。
圖1 :已損壞的短信終端
根據(jù)分析我們發(fā)現(xiàn)這臺短信終端,核心就是一臺放大版的短信接收機而已,只要我們找到一臺企業(yè)級的短信終端編解碼器,然后通過二次開發(fā)把信息顯示在相應輸出設備即可。于是我們聯(lián)系到了廈門某通信設備器材公司,購買了他們生產的一款CM310GSMMODEM,作為我們本次項目的硬件部分,其主要接口性能為:支持IS-95 A/B、GSM2000 1xRTT無線網(wǎng)絡800MHz單頻;可選450MHz或者800MHz/1900MHz雙頻,支持數(shù)據(jù)、短信功能,標準AT命令集;具有標準RS232接口1個,其數(shù)率為110-115200bits/s;標準SMA陰頭特性阻抗50歐天線接口;3V標準的推桿式UIM卡用戶接口。圖2為其外型圖片。
圖 2:CM310 GSM MODEM
硬件部分落實后,就是軟件方面了。該MODED可以進行二次開發(fā),只要應用該設備廠家給予的動態(tài)鏈接庫及API接口函數(shù),針對性地使用C#、ⅤB、ⅤC和Dehpi等開發(fā)工具進行系統(tǒng)研發(fā)即可??紤]應用需求、開發(fā)時間及廠家提供的接口代碼數(shù)據(jù)詳略情況等原因,我們選擇C#作為我們該項目的開發(fā)工具。圖3為我們最終軟件界面。
圖3 :安全播出預警系統(tǒng)
從這個界面來看,主要分為三大功能區(qū):設置區(qū)、狀態(tài)顯示區(qū)、接收區(qū)。根據(jù)不同的區(qū)域結合相應的API函數(shù)來實現(xiàn)其不同功能。
(一)設置區(qū):主要啟動函數(shù)int SMSStartServioe。它的功能是打開串口啟動服務初始化MODEM,這里的串口是指與計算機通過RS232連接的通訊接口。由于計算機可以有多個虛擬串口號,所以在此需要確定接口,對應的有幾個參數(shù)nPort代表串口號(如:Com1),一般情況下選擇Com1;波特率是本終端與計算機連接的重要參數(shù)。BaudRete則為波特率(默認值:57600);短信中心號碼csca,這個號碼非常重要,填錯將導致無法收發(fā)短信,這里的號碼是由SIM卡通訊公司決定的(例如中國移動廣西短信中心號碼為:+8613800771500),該號碼是在程序中自行設置好的;還有Parity檢驗位、DataBits數(shù)據(jù)位、FlowContol流控制位及StopBits停止位。該函數(shù)返回值成功為非0,失敗為0。
(二)狀態(tài)顯示區(qū):主要是確認軟硬件通信狀態(tài)、MO-DEM工作狀態(tài)、監(jiān)控API控件在系統(tǒng)加載和部署狀態(tài),如果終端與計算機連接錯誤會在這里顯示“連接失敗”,而終端工作不正常也會在此處顯示“工作異?!钡木?。另外,在右上角的“收到信息”按鈕是讓值班員在看到信息后點擊確認,然后自動關閉信息報警音。此處是通過函數(shù)bool SMSSeviseStarted()檢測服務是否啟動,成功返回true,失敗返回flase;而按鈕功能是用C#中添加中止事件實現(xiàn)關閉告警音。
(三)接收區(qū):該區(qū)域顯示接收到的短信時間、發(fā)送號碼、短信內容。主要是通過短信接收函數(shù)int SMSGet-NextMessage(SMSMessageStruct*Msg)對數(shù)據(jù)進行二次解析,其中它的數(shù)據(jù)結構體typedef struct_sms_msg_t_{char Msg[256];//短信內容char PhoneNo[32];//對方手機號碼char ReceTime[32];//接收時間}SMSMessageStruct,對這幾個變量進行再利用,因為上級部門發(fā)布的信息有特殊識別碼,所以為了只顯示上級信息在這里進行了過濾,同時也加入了我們部門內部通知功能,也對這個信息進行了自動識別顯示,如果是上級部門則在短信之前加入“區(qū)監(jiān)測中心”;如果是我部門則顯示“播控部”字樣。手機號碼這個參數(shù)也是識別上級和內部的條件之一,在程序內部設置好相關號碼,如果不是這些號碼發(fā)過來的信息將自動存儲于外部文本文件中,以備后查。接收時間則是以短信中心發(fā)送到終端收到信息時間為準,因為短信有字符長短要求,如果上級發(fā)出的信息過長則會分幾條收到,因為“堆棧效應”,先收到的文字應該是信息尾部,所以需要通過接收時間進一步對消息進行智能重組,以便值班員能夠準確理解信息內容。
通過C#編譯后生成了整個軟件系統(tǒng)安裝包,在機房相關計算機進行部署時也出現(xiàn)了不少問題。其中因為我們使用的是C#2014版本進行的編譯,需要.NET Framework 4.0,而Winxp的客戶端只是2.0,于是進行了升級,可是升到了4.0有些其他系統(tǒng)軟件又不可用了,后來我們了解到其實安裝2.0相關補丁就可以完美兼容我們的系統(tǒng)。
該項目從功能分析、制定方案、項目實施、部署僅用一個月時間。在2017年9月底分別在我臺廣播、電視播控機房進行安裝使用,使用五個月以來運行一切正常,未見有掉線丟包等故障出現(xiàn),信息顯示也沒有錯、漏、亂碼出現(xiàn);將該Modem電源接入UPS不間斷供電系統(tǒng)中可以保證24小時工作正常。該項目投資小、功能全、維護易,滿足了安全播出預警系統(tǒng)的升級要求,同時順利完成了2017年國慶節(jié)和黨的十九大期間的安全播出任務。
參考文獻:
1.徐鳳琴.基于SMCP的無線電監(jiān)測短信操控系統(tǒng)的設計與實現(xiàn)[D].西華大學,2015.