新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > WinCE系統(tǒng)下GSM Modem的測控應用

WinCE系統(tǒng)下GSM Modem的測控應用

作者:安徽省淮北704臺 武斌 李建軍 時間:2008-06-30 來源:單片機與嵌入式系統(tǒng)應用 收藏

  在系統(tǒng)下,利用 Modem和現(xiàn)有的網(wǎng),通過軟件編程手段,實現(xiàn)用普通電話(包括手機)對遠程工業(yè)現(xiàn)場的某些工作參數(shù)的監(jiān)測和控制。

本文引用地址:http://m.butianyuan.cn/article/84953.htm

  其中的監(jiān)測數(shù)據(jù)以語音形式體現(xiàn)。文中給出了語音合成的具體實現(xiàn)方法。

  引言

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

  1  應用系統(tǒng)架構

  本系統(tǒng)主要由GSM網(wǎng)、GSM Modem、以S3C2410為核心的硬件和系統(tǒng)組成,如圖1所示。


圖1  系統(tǒng)架構

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

  2  嵌入式系統(tǒng)受監(jiān)控端軟件設計

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

  2.1  串行口及GSM Modem的初始化

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

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

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

  2.2  按鍵識別

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

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




圖2  按鍵識別測試

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

 

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉