随着无线通信网络技术的不断发展,通用分组无线业务(GPRS)技术在远程无线数据传输中起到了广泛的应用。GPRS(General Packet Radio Service)是通用分组无线业务的简称,是一种以全球手机系统(GSM)为基础的数据传输技术。GPRS网不但具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等优点,而且其本身就是一个分组型数据网,支持TCP/IP协议,无需经过PSTN(公用电话交换网)等网络的转接,可直接与Internet网互通。因此GPRS业务在无线上网、环境监测、交通监控、移动办公等行业中具有无可比拟的性价比优势。
西门子MC55是带有GSM/GPRS全套语音和数据功能的先进无线模块。其超小的体积----所有功能都集中在一块集成的芯片内(仅50 x 33 x 7.2 mm);最简便的开发----内嵌TCP/IP协议栈,使用户可以最大程度的缩短GPRS产品的研发周期。MC55是可以配置的,使得外部输入、输出接口提供的外部控制应用更有效,从而令MC55产品更适合。M2M解决方案。
在网络设置中有HTTP、FTP、POP3、SOCKET等类型。文中详细介绍利用单片机控制MC55 GPRS无线模块进行远程无线数据传输的控制方法,并给出实现SOCKET通信的初始化设计流程。
1 系统组成
系统的组成如图1所示。该系统利用现有的GPRS网络,单片机通过串口对MC55 GPRS模块进行收发控制,实现Internet网络通信服务,从而实现远程无线数据传输功能。
系统各部分的说明如下:
1)单片机。单片机选用NEC78F0547D MCU,NEC78F0547D是NEC 78KF0/KEZ8位单片机系列中的一款性能优越的单片机,它带有两个UART(异步串行通讯)口。它很突出的一点就是具有片上调试功能,非常方便开发应用。
2)GPRS模块。本设计采用西门子MC55 GPRS模块。
MC55模块内嵌了完整的TCP/IP协议栈,包括TCP、UDP、FTP、SOCKET、Telnet、POP3、SMTP、HTYP等,为用户提供了更简单的网络接口,使用户可以最大程度的缩短GPRS产品的研发周期。MC55是可以配置的,使得外部输入、输出接口提供的外部控制应用更有效,从而令MC55产品更适合M2M解决方案。
3)服务器。建立SOCKET连接必须具有公网的IP地址,故应保证服务器中心计算机连接到Internet并且取得公网IP地址。在单片机对GPRS模块控制之前,服务器端需运行SOCKET端口监听程序,并且设为监听状态,端口号也要设定,例如port:8000。
2 单片机与GPRS模块的连接
单片机与GPRS模块一般采用串行异步通信接口,通信速度可设定,通常为9600 bps。单片机通过电平转换电路与GPRS模块连接,电路比较简单,电路连接原理框图如图2所示。要特别说明的是,由于单片机的为5V TTL电平,MC55GPRS模块为2.7V TTL电平,为了确保MCU串行口与MC55GPRS串行口TTL电平的匹配,采用了NL27WZ07来实现电平的转换。电平转换电路如图3所示。
如图3所示,NL27WZ07的A1引脚接单片机的发送端TXD,A2引脚连接MC55 GPRS模块的发送端TXD,作为单片机向MC55 GPRS模块发送数据的信号通道。与之对应,NL27WZ07的Y1引脚接MC55 GPRS模块的接收端RXD,Y2引脚连接单片机的接收RXD,作为单片机从MC55 GPRS模块接收数据的信号通道。
3 建立SOCKET连接的命令
MC55GPRS模块为了要实现GPRS SOCKET TCP通讯,必须通过相应的AT命令对模块进行初始化网络连接及服务配置。下面对SOCKET通信中要用到的一些AT命令及数据传输步骤进行说明。
4 建立FTP连接的命令及上传数据的过程
如果要利用无线模块实现FTP上传数据的功能,则可以用如下的步骤和相关操作实现相应的功能。
5 建立E-MAIL连接的命令及通过E-MAIL传输数据的过程
下面介绍通过GPRS方式发送e—mail的过程及相关操作:
6 模块初始化程序设计介绍
MC55 GPRS模块初始化主要是通过相关AT命令的操作实现的。其初始化包括模块AT命令的测试、模块信号强度测试、串口通讯波特率的设置、Internet网络应用服务设置等过程。
MC55 GPRS模块为了要实现GPRS SOCKET TCP通讯,必须通过相应的AT命令来对模块进行初始化网络连接及服务配置。
初始化网络连接及服务配置的AT命令总结如下:
开机上电后,程序在主函数中运行,单片机进行初始化。初始化包括设置串口工作方式、波特率、网络连接配置设置、密码及用户名设置、接入点设置、通讯类型设置、网络服务所用连接文件ID号设置、网络服务IP地址设置等。
7 结论
文中采用内嵌TCP/IP协议栈的GPRS模块西门子MC55模块,在8位微控制器上使用AT命令对MC55模块进行控制,并实现了SOCKET通信、FTP服务、E—MAIL服务等多种网络服务,从而实现远程数据传输的功能。