驱动modem是基于AT指令集完成的,AT指令是多种综合业务的集合,它通过“AT相应控制命令”来驱动modem工作。微处理器MSP430FG4619通过串行接口将AT指令发送给MC39I,从而完成对MC39I的控制,主要步骤如下:
①测试模块。使用ATE0X0\r命令测试模块工作是否正常;
②设置通信波特率。使用AT+IPR=38 400命令,把波特率设为38 400 b/s或其他合适的波特率,默认的通信速度为9 600 b/s;
③设置接入网关。通过T+ CGD-CONT=1,IP,CMNET\r命令设置GPRS接入网关为移动梦网;
④设置移动终端的类别。通过AT+CGCLASS=“B”设置移动终端的类别为B类,即同时监控多种业务;但只能运行一种业务,即在同一时间只能使用GPRS上网,或者使用GSM的语音通信;
⑤测试GPRS服务是否开通,使用AT+CGATT=1命令激活GPRS功能,使GPRS模块附着在网络上。如果返回OK,则GPRS连接成功;如果返回ERROR,则意味着GPRS失败;
⑥然后发送指令ATD*99***1#\r建立拨号过程,模块会返回一些16进制数据[5]。
5.2 数据的传输
GPRS网络物理层提供了数据传输的途径,需要一种数据链路层的协议对上层即网络层协议进行封装。由于GPRS是基于IP协议,数据以IP分组的形式在终端与GPRS服务器群之间进行传输,为了保证传输的可靠性和实现对终端的身份验证,中国移动采用了PPP协议作为数据链路层使用的协议。PPP协议在网络组件中实现,在此不做讨论。使用PPP拨号时,接入电话号码为“*999*1#”,用户名和密码都为空,开始PPP拨号后,不断的轮循PPP状态机的状态,当状态为OPENED时,表示PPP协商成功、连接建立,可以使用GPRS网络进行TCP/UDP的数据传输。由于通过GPRS拨号上网的终端连接上的是中国移动的GPRS内网,它获得的IP地址属于GPRS内网地址,初始状态下,数据中心不能直接用这个IP地址主动与终端设备进行通讯,所以通讯过程一般为:
(1)终端设备通过PPP拨号登录GPRS网络,获得GPRS内网的IP地址;
(2)终端设备使用数据中心服务器的Internet上的IP地址或HTTP地址与数据中心建立TCP连接,这时TCP握手请求的IP封包通过GPRS内网与Internet连接的网关路由至数据中心;
(3)数据中心收到握手请求后,发送的同步响应报文经过上述GPRS网关的NAT转换递交到终端设备;
(4)完成握手后,连接建立,开始数据传输。
5.3可靠性的保证
由于GPRS网络目前存在掉包率偏高、经常掉线、链路不稳定的特点,在实际应用中,需要采用心跳、掉线参照等机制来解决可能造成传输失败的种种问题,确保网络传输的可靠性。
(1)心跳
心跳机制是测试服务器和GPRS模块之间通路的一种手段。启用心跳设置,模块上线后,在运行期间按照一定的时间间隔定时发送数据包,任何一方接收到对方的心跳后,都原样返回。这样可以使模块自身的优先级不被降低,保持长时间在线。如果超过时间没有收到心跳,则重新启动模块,接入GPRS网络。
(2)掉线参照
掉线参照是给终端提供测试是否发生无线掉线的手段。采用掉线参照机制,可以选择GPRS网络内部的网关或路由器作为无线参照点,测试时使用ICMP协议中的PING操作。启用掉线参照设置,模块上线后,会自行依照设定的周期PING参照点,并通过测试结果确定是否进行掉线复位处理。
在实际应用中,作者同时采用了心跳和掉线参照2种机制。这样既可以避免无线掉线的发生,又可以避免数据采集服务器故障或关机后,引起模块错误地认为是无线掉线,进行无谓的复位处理。两种机制的同时采用,便于处理网络传输中可能发生的各种情况,是比较理想的保证网络传输可靠性的做法。 总结 本文使用了GPRS网络实现远程视频监控的技术,大大减少了监测系统的成本,对现场能够时时进行安全的监控。采用了MSP430FG4619单片机作为数据采集模块和MC39i模块作为GPRS终端数据传输终端,有效地提高了数据的采集、传输,提高了系统的稳定性,能够更好的对需要检测的地区进行全面的监视,大大减少了火灾带来的损失。
参考文献
[1]黄嘉辉.JAVA网络程序设计.北京:清华大学出版社,2002.10
[2]宏绪,李迅.一种MPEG4视频压缩和传输系统[J].现代电子技术.2004,(20):44-46.
[3]SIEMENS. MC39I Handware Interface Description [EB/OL].www.SIEMENS.
Com,2003-10-12.
[4]张庆龙,HT48R单片机控制与网络传输应用.中国电力出版社.2007.
[5]刘成良.基于无线JAVA的远程监控系统研究[J].自动化仪表,2006,27(2):
18-21.