基于GPRS的SOCKET通信的应用研究_第1页
基于GPRS的SOCKET通信的应用研究_第2页
基于GPRS的SOCKET通信的应用研究_第3页
基于GPRS的SOCKET通信的应用研究_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、作 者: 武汉工程大学 余琴 赵振华摘要:socket通信是目前常用的通信方式之一。文中以8位单片机at89c52作为微控制器,它利用自带的异步串口与电平转换芯片max232和gprs模块连接,使用at命令对gprs模块lt8030进行控制,从而实现socket通信。详细介绍socket通信中要用到的at命令,并给出实现socket通信的完整程序。关键词:socket通信 gprs 串行通信 at命令引 言gprs(general packet radio service)是通用分组无线业务的简称,是一种以全球手机系统(gsm)为基础的数据传输技术1。gprs网不但具有覆盖范围广、数据传输速度

2、快、通信质量高、永远在线和按流量计费等优点,而且其本身就是一个分组型数据网,支持tcp/ip协议,无需经过pstn(公用电话交换网)等网络的转接,可直接与internet网互通。因此gprs业务在无线上网、环境监测、交通监控、移动办公等行业中具有无可比拟的性价比优势。在网络设置中有http、socket等类型。socket是建立在传输层协议(主要是tcp和udp)上的一种套接字规范,它定义两台计算机间进行通信的规范(也是一种编程规范)。如果说两台计算机是利用一个通道进行通信,那么这个通道的两端就是两个套接字。套接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了tcp协议软件和实现了

3、套接字规范的计算机之间的通信成为可能。1 系统组成系统的组成如图1所示。该系统利用现有的gprs网络,单片机通过串口对gprs模块进行收发控制,实现socket通信。系统各部分的说明如下: 单片机采用了at89c52,它带有一个串口; gprs模块。本文以利事达信息技术有限公司开发的gprs模块lt80302为例。lt8030内嵌了完整的tcp/ip协议栈,包括tcp、udp、ftp、socket、telnet、pop3、smtp、http等,为用户提供了更简单的网络接口。lt8030采用的gprs技术,无缝覆盖、永远在线且按流量计费,紧密结合产品应用领域所遇到的实际问题,进行全面的优化和升级

4、,使产品开发变得更容易、更快捷。它采用标准的rs232 接口,用户可以通过单片机或其他cpu的uart口,使用相应的at命令对模块进行控制,达到使其产品可以轻松进入gprs网络的目的。 服务器。建立socket连接必须具有公网的ip地址,故应保证服务器中心计算机连接到internet并且取得公网ip地址。在单片机对gprs模块控制之前,服务器端需运行socket端口监听程序(此监听程序一般是现成的),并且设为监听状态,端口号也要设定,例如port:1024。2 单片机与gprs模块的连接单片机与gprs模块一般采用串行异步通信接口,通信速度可设定,通常为9600 bps。采用rs232电缆方式

5、进行连接时,数据传输的可靠性较好。单片机通过电平转换电路与gprs模块连接,电路比较简单,电路原理图如图2所示。所涉及的芯片max232用于串行通信接口与232通信接口之间的电平转换3。图1系统组成框图图2单片机与gprs模拟连接的电路原理图max232的t1in、t2in、r1out、r2out为接ttl/cmos电平的引脚;t1out、t2out、r1in、r2in为接rs232电平的引脚。ttl/cmos电平的t1in、t2in引脚应接at89c52的串行发送引脚txd;r1out、r2out应接at89c52的串行接收引脚rxd。与之对应,rs232电平的t1out、t2out应接gp

6、rs模块的接收端rxd;r1in、r2in应接gprs模块的发送端txd。现选用其中一路发送/接收,r1out接at89c52的rxd,t1in接at89c52的txd,t1out接gprs模块的rxd, r1in接gprs模块的发送端txd。因为max232具有驱动能力,所以不需要外加驱动电路。3 建立socket连接的命令下面对socket通信中要用到的一些at命令2进行说明。3.1 基本设置 gprs isp 码。at+iisp1=*99*1# /全国通用 登录用户名。at+iusrn=wap/gprs网络登录名 登录密码。at+ipwd=wap/ gprs网络登录密码 modem 类型

7、。at+imtyp=2 /定义gprs modem 初始化命令。at+imis=“at+cgdcont=1,ip,cmnet” 域名服务器。at+idns1=71/dns服务器地址,全国通用 扩展码(xrc)。at+ixrc=0 3.2 socket设置 建立一个tcp通信。 at+istcp:73,1024 建立socket连接,73为应用服务中心计算机端ip地址(实际地址由实际情况决定),1024 为端口号(端口号由中心socket端口监听程序设置决定)。 如果连接成功,lt8030返回i/xxx。xxx为lt8030中本

8、次socket连接的句柄号。中心监听程序会显示连接的终端ip地址。如果连接失败,lt8030返回i/error(xxx)。xxx为错误代码。 发送数据。at+issnd%:xxx,: 发送数据,xxx为句柄,为要发送的字符长度,为要发送的数据。发送成功后,在中心端可看到终端发送的数据。最多一次能够发送5k以下的数据。 查询socket状态。at+isst:xxx 查询socket状态,xxx为句柄。 lt8030返回i/。如果= 000,表示该端口连接正常;如果1,lt8030通过该端口从中心接收存在buffer 里的字节数;如果0,则socket错误。 接收数据。at+isrcv:xxx x

9、xx为句柄。该指令会读取lt8030通过该句柄从中心接收到的,存在buffer 里的数据;buffer最大可存储30k的数据。 关闭socket通道。at+iscls:xxx 关闭socket通道,xxx为句柄。4 程序的设计根据单片机与gprs模块通信协议的约定,单片机串行口设为方式1,波特率为9 600 bps,8位uart,1位起始位,1位停止位,无奇偶校验。上电后,首先向gprs模块发送基本设置命令,即isp码、用户名及用户密码帧等,其中isp码必须为“*99*1#”,用户名和用户密码可以任意设置,但不能为空。在使用lt8030 gprs 上网功能之前,必须正确设置这些参数。参数一旦设

10、置后,即永久保存,以后无需重新再设( 以上设定为lt8030c出厂时的默认参数)。然后向gprs模块发送socket设置帧,如成功,则点和点通信环境已建立,接着就调用发送数据帧。开机上电后,程序在主函数中运行,单片机进行初始化。初始化包括设置串口工作方式、波特率,并初始化变量参数和标志位。编著注:实现socket通信的完整程序,见本刊网站()。结语基于gprs的socket通信的应用研究随着计算机和通信技术的进步,当今社会的生产正朝着高效、准确和稳定的方向发展,这对数据传输的实时性、可靠性、信息量提出了更高的要求,为此介绍利用gprs模块实现socket通信的系统。本文采用内嵌tcp/ip协议的gprs模块lt8030,在8位微控制器at89c52上实现了对lt8030的控制,并实现了基于gprs的socket通信功能,具有外围器件少、电路简单、系统成本低等优点。参考文献1 j r (bud)bates. 通用分组无线业务(gprs)技术与应用. 朱洪波,等译. 北京:人民邮电出版社,20042 利事达信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论