资源描述:
《wince系统下gsmmodem的测控应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、WinCE系统下GSMModem的测控应用■安徽省淮北704台武斌李建军在嵌入式WinCE系统下,利用GSMModem和现有的GSM移动通信网,通过软件编程手段,实现用普通摘要电话(包括手机)对远程工业现场的某些工作参数的监测和控制。其中的监测数据以语音形式体现。文中给出了语音合成的具体实现方法。关键词嵌入式WinCE系统GSMModem按键识别语音合成嵌入式系统构成上、下位采集与控制体系。嵌入式系统发引言出测控指令,可以实现对现场相应数据的采集和控制。采集到的现场数据以数据文件形式保存在嵌入式系统上。许多时候,我们需要了解远距离的某个工作现场的某目前,有关嵌入式系统对下位现场的具体采
2、集与控制操作些工作参数,或者对某些工作指标进行控制(开、关控制)。介绍的文献很多,这里不再复述。例如,需要了解远距离无人职守的发射机的功率情况,需要开启或关闭高山上电视塔的灯光,等等。这些一般都是2嵌入式系统受监控端软件设计通过基于C/S或者B/S等的网络手段来实现的,需要专嵌入式系统中受监控端软件是本监控系统的核心。门的网络线路和监控端软硬件的支持,构筑这样的应用系它一方面管理GSMModem识别远程电话的控制指令(按统投资一般都比较大,监控方位置的灵活度也被局限于有键识别)、向电话反馈对应的语音数据,另一方面还要根据监控端软硬件的环境中。这里介绍一种在嵌入式WinCE远程电话的指令
3、完成对下位现场的测控。系统下利用GSMModem,用普通电话(包括手机,下同)2.1串行口及GSMModem的初始化就可以实现远程监控的方法。不需要有专用的监控端软根据GSMModem连接的串行口,comID用硬件的支持和其他专用的网络线路,借助GSM的无线通hSerial=CreateFile(TEXT("comID"),GENERIC_READ信网络,投资大大缩小;监控方的位置可以处在任何有电
4、GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,话的地方,方便灵活。监控操作的选择由电话的按键来实NULL);现,监测到的参数通过语音的方式反馈到监控方的电话打开该
5、串行口。根据返回句柄hSerial的值,可以判断打上;可以满足大多数远程监控应用场合的要求。开是否成功。由“GetCommState(hSerial,&dcb);”获得comID的状态,同时自动填入不用的DCB结构成员。再1应用系统架构用“SetCommState(hSerial,&dcb);”就可以初始化该串口本系统主要由GSM移动通信网、GSMModem、以了。之前,&dcb要设置自己的参数,如:S3C2410为核心的硬件和WinCE系统组成,如图1所示。dcb.BaudRate=115200;dcb.ByteSize=8;dcb.Parity=NOPARITY;dcb.StopB
6、its=ONESTOPBIT;//依次为波特率、数据位、奇偶校验位和停止位SetupComm(hSerial,1024,1024);//设置收发缓冲区大小图1系统架构//超时控制设置需要监测的参数或需要控制的指标通过某种方式与Timeouts.ReadIntervalTimeout=1;622008年第6期adv@mesnet.com.cn(广告专用)©1994-2008ChinaAcademicJournalElectronicPublishingHouse.Allrightsreserved.http://www.cnki.netTimeouts.ReadTotalTimeoutM
7、ultiplier=1;Puts(h,MEMO1,"5");//5键Timeouts.ReadTotalTimeoutConstant=10;if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]Timeouts.WriteTotalTimeoutMultiplier=1;==0x36)Timeouts.WriteTotalTimeoutConstant=10;Puts(h,MEMO1,"6");//6键SetCommTimeouts(hSerial,&Timeouts);if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]SetC
8、ommMask(hSerial,EV_RXCHAR);//挂接接收事件==0x37)最后用“WriteFile(hSerial,szBuffer,strlen(szBuffer),Puts(h,MEMO1,"7");//7键&dwBytesWritten,&os_w);”向串口写入GSMModem的if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]初始化数据(AT命令)。不同的GSMModem其AT命令==0x38