技術頻道

      WinCE系統下GSM Modem的測控應用

        在嵌入式WinCE系統下,利用GSM Modem和現有的GSM移動通信網,通過軟件編程手段,實現用普通電話(包括手機)對遠程工業現場的某些工作參數的監測和控制。

        其中的監測數據以語音形式體現。文中給出了語音合成的具體實現方法。

      引言

        許多時候,我們需要了解遠距離的某個工作現場的某些工作參數,或者對某些工作指標進行控制(開、關控制)。例如,需要了解遠距離無人職守的發射機的功率情況,需要開啟或關閉高山上電視塔的燈光,等等。這些一般都是通過基于C/S或者B/S等的網絡手段來實現的,需要專門的網絡線路和監控端軟硬件的支持,構筑這樣的應用系統投資一般都比較大,監控方位置的靈活度也被局限于有監控端軟硬件的環境中。這里介紹一種在嵌入式WinCE系統下利用GSM Modem,用普通電話(包括手機,下同)就可以實現遠程監控的方法。不需要有專用的監控端軟硬件的支持和其他專用的網絡線路,借助GSM的無線通信網絡,投資大大縮小;監控方的位置可以處在任何有電話的地方,方便靈活。監控操作的選擇由電話的按鍵來實現,監測到的參數通過語音的方式反饋到監控方的電話上;可以滿足大多數遠程監控應用場合的要求。

      1 應用系統架構

        本系統主要由GSM移動通信網、GSM Modem、以S3C2410為核心的硬件和WinCE系統組成,如圖1所示。


      圖1 系統架構

        需要監測的參數或需要控制的指標通過某種方式與嵌入式系統構成上、下位采集與控制體系。嵌入式系統發出測控指令,可以實現對現場相應數據的采集和控制。采集到的現場數據以數據文件形式保存在嵌入式系統上。目前,有關嵌入式系統對下位現場的具體采集與控制操作介紹的文獻很多,這里不再復述。

      2 嵌入式系統受監控端軟件設計

        嵌入式系統中受監控端軟件是本監控系統的核心。它一方面管理GSM Modem識別遠程電話的控制指令(按鍵識別)、向電話反饋對應的語音數據,另一方面還要根據遠程電話的指令完成對下位現場的測控。

        2.1 串行口及GSM Modem的初始化

        根據GSM Modem連接的串行口,comID用hSerial=CreateFile(TEXT ("comID"),GENERIC_READ | GENERIC_WRITE,0, NULL, OPEN_EXISTING, 0, NULL);

        打開該串行口。根據返回句柄hSerial的值,可以判斷打開是否成功。由“GetCommState(hSerial,&dcb);”獲得comID的狀態,同時自動填入不用的DCB結構成員。再用“SetCommState(hSerial,&dcb);”就可以初始化該串口了。之前,&dcb要設置自己的參數,如:

        

        最后用“ WriteFile(hSerial,szBuffer,strlen(szBuffer),&dwBytesWritten,&os_w);” 向串口寫入GSM Modem的初始化數據(AT命令)。不同的GSM Modem其AT命令可能有所不同(可以從GSM Modem的用戶手冊中獲得)。筆者使用的GSM Modem的初始化數據為“ats0=1+fclass=8”、“at+vsm=128,11025”。

        2.2 按鍵識別

        因為監控指令是由遠程電話通過電話上的按鍵發出的,所以在受監控端,正確識別電話的按鍵是非常關鍵的。在一個處理線程中,可以用如下程序進行識別:

        
        

        運行后,有電話撥入并按下567890,執行結果如圖2所示。
        


      圖2 按鍵識別測試

        對于按鍵組合,可以將單個鍵的值依次存放到緩沖區。在程序中控制好flag的值就可以實現對按鍵組合的識別。

        2.3 語音傳送

        將語音數據寫入GSM Modem,撥入的電話一端就可以聽到相應的語音。在寫入語音數據之前,要先用“at+vtx”通知GSM Modem,此后的數據是語音數據。

        

        其中,wavFileName為所傳送的語音數據文件。

        2.4 嵌入式系統受控端整體程序描述

        嵌入式系統受控端整體程序框圖如圖3所示。
        


      圖3 嵌入式系統受控端整體程序框圖

      3 語音合成技術(TTS)

        將保存在嵌入式系統上從現場采集來的數據轉換成對應的語音數據,需要進行語音合成。在語音數據庫中存有“ling”、“yi”、“er”、 “san”……“dian”和單位名稱發音的數據文件。假設要監測的是現場的電流數據,例如,下位采集來的保存到嵌入式系統上的某電流數據為5.12 A,那么就需要將“wu”、“dian”、“yi”、“er”和“an”的語音數據文件合成一個語音數據文件,以便于傳送。

        BitSize位現場數據(包括小數點)語音合成的具體程序描述如下:

        

        需要強調的是,這里用到的語音數據必須是“裸”數據,也就是去掉有關文件頭的純粹的語音數據(可以在錄制單個語音文件后處理掉)。各個語音數據的大小也要記錄在一個表列中,以便在調整目標語音文件指針時用到。最后生成的目標語音文件也是一個只含有“裸”數據的文件,在進行語音傳送時可以直接使用。

      結語

        本文介紹的在嵌入式WinCE系統下利用GSM Modem所實現的遠程監測與控制的方法,以較小的投資實現了對遠程工業現場的測控,充分地利用了現有的GSM移動通信網絡資源。在測控距離遠、實時性要求不高的場合都可以選擇使用。

      參考文獻

        [1] 陳堅,孫志月. MODEM通信編程技術[M]. 西安:西安電子科技大學出版社,1998.

        [2] 曾志民. 調制解調器原理及其應用[M]. 北京:人民郵電出版社,1995.

        [3] 田澤. ARM9嵌入式開發實驗與實踐[M]北京:北京航空航天大學出版社,2006.

        [4] 周毓林,寧楊,陸貴強. Windows CE.net內核定制及應用開發[M]. 北京:電子工業出版社, 2005.

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 久久亚洲综合色一区二区三区| 国产婷婷一区二区三区| 国产精品男男视频一区二区三区| 精品国产免费一区二区三区香蕉| 男人的天堂av亚洲一区2区| 日韩最新视频一区二区三| 国产一区二区精品久久91| 精品性影院一区二区三区内射| 精品久久国产一区二区三区香蕉| 精品国产精品久久一区免费式 | 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 一区二区免费国产在线观看| 亚洲一区精品视频在线 | 在线日韩麻豆一区| 亚洲国产AV一区二区三区四区 | 国产短视频精品一区二区三区| 国产精品一区二区久久国产| 免费萌白酱国产一区二区三区| 无码人妻精品一区二区蜜桃百度| 欧洲精品码一区二区三区| 天天视频一区二区三区| 濑亚美莉在线视频一区| 精品视频一区二区三区在线播放| 日韩免费无码一区二区视频| 精品国产一区二区三区久久影院 | 国产在线视频一区| 成人精品视频一区二区三区| 中文字幕一区日韩在线视频| 日本一区二区三区在线视频观看免费 | 无码av中文一区二区三区桃花岛| 麻豆一区二区免费播放网站| 中文字幕一区日韩精品| 爆乳无码AV一区二区三区| 日韩精品久久一区二区三区| 美女免费视频一区二区| 精品一区二区三区免费观看| 亚洲色精品vr一区二区三区| 老熟妇仑乱视频一区二区| 伊人色综合网一区二区三区 | 欧美成人aaa片一区国产精品 | 亚洲AV无码片一区二区三区|