教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

WinCE系统下GSMModem的测控应用

来源:网络收集 时间:2026-09-05
导读: WinCE系统下GSMModem的测控应用 WinCE系统下GSMModem的测控应用 ■安徽省淮北704台 武斌李建军 摘 要 在嵌入式WinCE系统下,利用GSMModem和现有的,,实现用普通 电话(包括手机)嵌入式Modem 按键识别 语音合成 关键词 嵌入式系统构成上、下位采集与控制体系。嵌

WinCE系统下GSMModem的测控应用

WinCE系统下GSMModem的测控应用

■安徽省淮北704台  武斌李建军

 摘 要

在嵌入式WinCE系统下,利用GSMModem和现有的,,实现用普通

电话(包括手机)嵌入式Modem 按键识别 语音合成

 关键词

嵌入式系统构成上、下位采集与控制体系。嵌入式系统发

引 言

许多时候,我们需要了解远距离的某个工作现场的某些工作参数,或者对某些工作指标进行控制(开、关控制)。例如,需要了解远距离无人职守的发射机的功率情况,需要开启或关闭高山上电视塔的灯光,等等。这些一般都是通过基于C/S或者B/S等的网络手段来实现的,需要专门的网络线路和监控端软硬件的支持,构筑这样的应用系统投资一般都比较大,监控方位置的灵活度也被局限于有监控端软硬件的环境中。这里介绍一种在嵌入式WinCE系统下利用GSMModem,用普通电话(包括手机,下同)就可以实现远程监控的方法。不需要有专用的监控端软

硬件的支持和其他专用的网络线路,借助GSM的无线通信网络,投资大大缩小;监控方的位置可以处在任何有电话的地方,方便灵活。监控操作的选择由电话的按键来实现,监测到的参数通过语音的方式反馈到监控方的电话上;可以满足大多数远程监控应用场合的要求。

出测控指令,可以实现对现场相应数据的采集和控制。采集到的现场数据以数据文件形式保存在嵌入式系统上。目前,有关嵌入式系统对下位现场的具体采集与控制操作介绍的文献很多,这里不再复述。

2嵌入式系统受监控端软件设计

嵌入式系统中受监控端软件是本监控系统的核心。

它一方面管理GSMModem识别远程电话的控制指令(按键识别)、向电话反馈对应的语音数据,另一方面还要根据远程电话的指令完成对下位现场的测控。

2.1 串行口及GSMModem的初始化

根据GSMModem连接的串行口,comID用

hSerial=CreateFile(TEXT("comID"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);

打开该串行口。根据返回句柄hSerial的值,可以判断打开是否成功。由“GetCommState(hSerial,&dcb);”获得

comID的状态,同时自动填入不用的DCB结构成员。再

1 应用系统架构

本系统主要由GSM移动通信网、GSMModem、以

S3C2410为核心的硬件和WinCE系统组成,如图1所示。

用“SetCommState(hSerial,&dcb);”就可以初始化该串口了。之前,&dcb要设置自己的参数,如:

dcb.BaudRate=115200;dcb.ByteSize=8;dcb.Parity=NOPARITY;dcb.StopBits=ONESTOPBIT;

//依次为波特率、数据位、奇偶校验位和停止位

SetupComm(hSerial,1024,1024);//设置收发缓冲区大小//超时控制设置

Timeouts.ReadIntervalTimeout=1;

图1 系统架构

需要监测的参数或需要控制的指标通过某种方式与

62 

2008年第6期

adv@(广告专用) 

WinCE系统下GSMModem的测控应用

Timeouts.ReadTotalTimeoutMultiplier=1;Timeouts.ReadTotalTimeoutConstant=10;Timeouts.WriteTotalTimeoutMultiplier=1;Timeouts.WriteTotalTimeoutConstant=10;SetCommTimeouts(hSerial,&Timeouts);

SetCommMask(hSerial,EV_RXCHAR); //挂接接收事件

   Puts(h,MEMO1,"5");//5键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x36)

   Puts(h,MEMO1,"6");//6键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x37)

最后用“WriteFile(hSerial,szBuffer,strlen(szBuffer),

&dwBytesWritten,&os_w);”向串口写入GSMModem的

   Puts(h,MEMO1,"7");//7键

(buff][2]==0x10&&buff[3]

初始化数据(AT命令)。不同的GSMModem其AT命令可能有所不同(可以从GSMModem笔者使用的GSM=fclass=8”、“at+vsm=s(,"8");//8键

if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x39)

2.2 按键识别

因为监控指令是由远程电话通过电话上的按键发出的,所以在受监控端,正确识别电话的按键是非常关键的。在一个处理线程中,可以用如下程序进行识别:

while(flag){

//flag为控制值

   Puts(h,MEMO1,"9");//9键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x30)

   Puts(h,MEMO1,"0");//0键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x23)

 WaitCommEvent(hSerial,&dwEvtMask,0);

  if((dwEvtMask&EV_RXCHAR)==EV_RXCHAR){    ClearCommError(hSerial,&dwErrorFlags,&ComStat);

   dwLength=ComStat.cbInQue;

//输入缓冲区有多少数据

   Puts(h,MEMO1,"#");//#键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x2a)

   Puts(h,MEMO1,"3");//3键   if(buff[0]==0x10&&buff[1]==0x62)   Puts(h,MEMO1,"拨入方已挂机");

   }  }

}

   if(dwLength>0){

   ReadFile(hSerial,buff,dwLength,&ln,&os_r);   buff[dwLength]=0;

   if(buff[0]==0x10&&buff[1]==0x52)   Puts(h,MEMO1,"电话拨入...");

   if(buff[1]==0x52&&buff[4]==’O’&&buff[5]==’K’)   Puts(h,MEMO1,"线路接通");

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x31)

运行后,有电话拨入并按下567890,执行结果如图2

所示。

   Puts(h,MEMO1,"1");//1键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x32)

   Puts(h,MEMO1,"2");//2键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x33)

图2 按键识别测试

   Puts(h,MEMO1,"3");//3键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x34)

对于按键组合,可以将单个键的值依次存放到缓冲区。在程序中控制好flag的值就可以实现对按键组合的识别。

   Puts(h,MEMO1,"4");//4键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x35)

2.3 语音传送

将语音数据写入GSMModem,拨入的电话一端就可

 paper@(投稿专用) 

2008年第6期

Microcontrollers&EmbeddedSystems 

63 

WinCE系统下GSMModem的测控应用

以听到相应的语音。在写入语音数据之前,要先用“at+

vtx”通知GSMModem,此后的数据是语音数据。

hf=_lopen(wavFileName,0);

bitSize=GetFileSize((HANDLE)hf,NULL);_lclose(hf);

hf=_lopen(wavFileName,0);_lread(hf,aa,bitSize);_lclose(hf);

wsprintf(buffer,"at+vtx");buffer[6]=0x0d;

WriteFile(hSerial …… 此处隐藏:3118字,全部文档内容请下载后查看。喜欢就下载吧 ……

WinCE系统下GSMModem的测控应用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/110107.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)