老古开发网首页
导航:老古开发网首页文章索引文章分类嵌入式系统→[基于GPRS的SOCKET通信的应用研究]
| -文章搜索 - 最新文章 - |

基于GPRS的SOCKET通信的应用研究

发布时间:2005年7月3日 点击次数:781
来源:单片机与嵌入式系统应用   作者:武汉工程大学 余琴 赵振华
 

摘要 SOCKET通信是目前常用的通信方式之一。文中以8位单片机AT89C52作为微控制器,它利用自带的异步串口与电平转换芯片MAX232和GPRS模块连接,使用AT命令对GPRS模块LT8030进行控制,从而实现SOCKET通信。详细介绍SOCKET通信中要用到的AT命令,并给出实现SOCKET通信的完整程序。

关键词 SOCKET通信 GPRS 串行通信 AT命令

引言

  GPRS(General Packet Radio Service)是通用分组无线业务的简称,是一种以全球手机系统(GSM)为基础的数据传输技术\[1\]。GPRS网不但具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等优点,而且其本身就是一个分组型数据网,支持TCP/IP协议,无需经过PSTN(公用电话交换网)等网络的转接,可直接与Internet网互通。因此GPRS业务在无线上网、环境监测、交通监控、移动办公等行业中具有无可比拟的性价比优势。

  在网络设置中有HTTP、SOCKET等类型。SOCKET是建立在传输层协议(主要是TCP和UDP)上的一种套接字规范,它定义两台计算机间进行通信的规范(也是一种编程规范)。如果说两台计算机是利用一个通道进行通信,那么这个通道的两端就是两个套接字。套接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了套接字规范的计算机之间的通信成为可能。

1  系统组成

  系统的组成如图1所示。该系统利用现有的GPRS网络,单片机通过串口对GPRS模块进行收发控制,实现SOCKET通信。

  系统各部分的说明如下:

  ①  单片机采用了AT89C52,它带有一个串口;

  ②  GPRS模块。本文以利事达信息技术有限公司开发的GPRS模块LT8030[2]为例。LT8030内嵌了完整的TCP/IP协议栈,包括TCP、UDP、FTP、SOCKET、Telnet、POP3、SMTP、HTTP等,为用户提供了更简单的网络接口。LT8030采用的GPRS技术,无缝覆盖、永远在线且按流量计费,紧密结合产品应用领域所遇到的实际问题,进行全面的优化和升级,使产品开发变得更容易、更快捷。它采用标准的RS232 接口,用户可以通过单片机或其他CPU的UART口,使用相应的AT命令对模块进行控制,达到使其产品可以轻松进入GPRS网络的目的。

  ③  服务器。建立SOCKET连接必须具有公网的IP地址,故应保证服务器中心计算机连接到Internet并且取得公网IP地址。在单片机对GPRS模块控制之前,服务器端需运行SOCKET端口监听程序(此监听程序一般是现成的),并且设为监听状态,端口号也要设定,例如port:1024。

2  单片机与GPRS模块的连接

  单片机与GPRS模块一般采用串行异步通信接口,通信速度可设定,通常为9600 bps。采用RS232电缆方式进行连接时,数据传输的可靠性较好。单片机通过电平转换电路与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应接GPRS模块的接收端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 类型。
  AT+IMTYP=2 //定义GPRS MODEM
  ⑤  初始化命令。
  AT+IMIS=“AT+CGDCONT=1,ip,CMNET”
  ⑥  域名服务器。
  AT+IDNS1=211.136.18.171
  //DNS服务器地址,全国通用
  ⑦  扩展码(XRC)。
  AT+IXRC=0

3.2  SOCKET设置

  ①  建立一个TCP通信。
  AT+ISTCP:218.66.16.173,1024<CR>
  建立SOCKET连接,218.66.16.173为应用服务中心计算机端IP地址(实际地址由实际情况决定),1024 为端口号(端口号由中心SOCKET端口监听程序设置决定)。 如果连接成功,LT8030返回I/xxx。xxx为LT8030中本次SOCKET连接的句柄号。中心监听程序会显示连接的终端IP地址。如果连接失败,LT8030返回I/ERROR(xxx)。xxx为错误代码。

  ②  发送数据。
  AT+ISSND%:xxx,<string Length>:<string>
  发送数据,xxx为句柄,<string Length>为要发送的字符长度,<string>为要发送的数据。发送成功后,在中心端可看到终端发送的数据。最多一次能够发送5K以下的数据。

  ③  查询SOCKET状态。
  AT+ISST:xxx<CR>
  查询SOCKET状态,xxx为句柄。 LT8030返回I/<SOCKETstat>。如果<SOCKETstat>= 000,表示该端口连接正常;如果<SOCKETstat>≥1,LT8030通过该端口从中心接收存在Buffer 里的字节数;如果<SOCKETstat><0,则SOCKET错误。

  ④  接收数据。
  AT+ISRCV:xxx<CR>
  xxx为句柄。该指令会读取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 上网功能之前,必须正确设置这些参数。参数一旦设置后,即永久保存,以后无需重新再设( 以上设定为LT8030C出厂时的默认参数)。然后向GPRS模块发送SOCKET设置帧,如成功,则点和点通信环境已建立,接着就调用发送数据帧。

  开机上电后,程序在主函数中运行,单片机进行初始化。初始化包括设置串口工作方式、波特率,并初始化变量参数和标志位。

  编著注:实现SOCKET通信的完整程序,见本刊网站(www.dpj.com.cn)。

结语

  随着计算机和通信技术的进步,当今社会的生产正朝着高效、准确和稳定的方向发展,这对数据传输的实时性、可靠性、信息量提出了更高的要求,为此介绍利用GPRS模块实现SOCKET通信的系统。本文采用内嵌TCP/IP协议的GPRS模块LT8030,在8位微控制器AT89C52上实现了对LT8030的控制,并实现了基于GPRS的SOCKET通信功能,具有外围器件少、电路简单、系统成本低等优点。

参考文献

1  J R (Bud)Bates. 通用分组无线业务(GPRS)技术与应用. 朱洪波,等译. 北京:人民邮电出版社,2004
2  利事达信息技术有限公司.LT8030介绍
3  胡伟,季晓衡.单片机C程序设计及应用实例. 北京:人民邮电出版社,2003
4  张毅刚,彭喜元,等.MCS51单片机应用设计.哈尔滨:哈尔滨工业大学出版社,2002

余琴  研究生,主要从事智能仪器设计与嵌入式系统方向的研究。
赵振华  研究生导师,副教授,主要从事智能仪器设计与嵌入式系统方向的研究与教学。


欢迎进入老古论坛进行讨论
[嵌入式系统] 相关文章:
基于声卡的QPSK信号的实时软解调
简介:
Real time soft demodulation based on sound card 摘 要: 提出了一种以PC机声卡作为采集卡,以PC机的CPU代替DSP器件的QPSK信号的数字化实时解调方法。详细介绍了适合于PC机实时处理的载波频率恢复、符号定时恢复、自适应信道均衡等QPSK信号实时解调的核心算法。最后,结合PSK31的QPSK信号给出了整个系统的测试结果。 关键词: QPSK;数字化实时解调;声卡;载波频率恢复;符号定时恢复;自适应信道均衡 引言 ---目前,调制解调器产品大都采用专用DSP芯片......

利用DC/DC转换器消除高频瞬态干扰
车载低端图像数据采集压缩存储及传输系统的实现
基于Proteus软件的单片机实验室建设
电话智能遥控器的硬件设计
基于ARM芯片的网络化电能表设计
S3C44B0X与LM057QC1T01的接口方法及其应用
一张软盘装下嵌入式Linux
一种在线烧写Flash的方法研究与实现
在8051单片机应用系统中使用DiskOnChip
 
下一个:[综合电子]Altium新工具包支持瑞萨R8C/Tiny全系列芯片及E7仿真器
简介:
Altium发布支持瑞萨全部R8C/Tiny微控制器产品线的1.1版TASKING R8C软件开发工具包,该新品包括TASKING嵌入式EDE、C编译器、CrossView Pro模拟器、ROM监控调试器、R8C flasher和一个支持瑞萨E7仿真器的新接口,现版本工作于PC/Windows环境。客户可充分利用Viper编译器的强大功能及集成嵌入式开发环境,显著提高产品的上市时间。www.altium.com......
 

上一个:[新闻热点]AMD宣布双核AMD64处理器得到众多主板商支持

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:否 执行时间:31毫秒