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

发布者:莫愁前路最新更新时间:2014-10-08 来源: 21ic关键字:GPRS  SOCKET  通信 手机看文章 扫描二维码
随时随地手机看文章

引 言   

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.gif

                   图1系统组成框图  

2.gif

            图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   

建立SOCKET连接,218.66.16.173为应用服务中心计算机端IP地址(实际地址由实际情况决定),1024 为端口号(端口号由中心SOCKET端口监听程序设置决定)。 如果连接成功,LT8030返回I/xxx。xxx为LT8030中本次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   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设置帧,如成功,则点和点通信环境已建立,接着就调用发送数据帧。   

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

结语   

随着计算机和通信技术的进步,当今社会的生产正朝着高效、准确和稳定的方向发展,这对数据传输的实时性、可靠性、信息量提出了更高的要求,为此介绍利用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 余琴:研究生,主要从事智能仪器设计与嵌入式系统方向的研究。赵振华:研究生导师,副教授,主要从事智能仪器设计与嵌入式系统方向的研究与教学。

 

关键字:GPRS  SOCKET  通信 引用地址:基于GPRS的SOCKET通信的应用研究

上一篇:TC35型短消息收发模块在气体监测仪中的应用
下一篇:基于VB的电子线路板自动测试系统设计

推荐阅读最新更新时间:2024-03-16 13:42

STM32中串口通信的基本操作
STM32中串口通信的基本操作 USART_SR状态寄存器 比较常用的位 操纵该寄存器的函数 FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG); USART_DR数据寄存器 DR寄存器的操作流程 操作DR寄存器的函数 USART_BRR波特率寄存器 操作BRR寄存器的函数 void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct); 注:除此之外,这个函数还用来配置串口通信的其他参数,具体参数如下: 波特率与USARTDI
[单片机]
STM32中串口<font color='red'>通信</font>的基本操作
基于CAN总线与RS485的DSP通信接口设计
1.概述 现场总线是一种开放式、数字化、多点通信的控制系统局域网络,是当今自动化领域中最具有应用前景的技术之一 ,CAN总线是现场总线中的应用热点。由于CAN总线具有通信速率高、开放性好、报文短、纠错能力强以及控制简单、扩展能力强、系统成本低等特点,越来越 受到人们的关注。 TI公司的TMS320LF2407型DSP微控制器以其处理能力强,外设功能模块集成度高及存储器容量大等特点广泛应用于数字化控制与通信领域。CAN 总线控制器与TMS320LF2407微控制器连接,可以实现CAN总线的通信。TMS320LF2407微控制器内嵌的异步串行口(SCI)支持CPU 与其它使用标准格式的异步外设之间的数字通讯,通过RS-485接
[嵌入式]
C8051F020 AD转换和USB通信
config.c #include include.h // Peripheral specific initialization functions, // Called from the Init_Device() function void Timer0_Init (void) { TMOD = 0x01; TH0 = TH0_VALUE; TL0 = TL0_VALUE; } void ADC_Init() { AMX1SL = 0x00; // ADC1CF = 0x21; // ADC1CN = 0x80; // REF0CN = 0x03; } //---
[单片机]
基于OMAPl510双核架构的移动多媒体通信终端的设计与实现
摘要:介绍了美国TI公司提供的开放式多媒体平台的软硬件架构,结合移动多媒体通信终端双核处理器OMAP1510的特点,详细阐述OMAP1510在第三代移动通信网络中的典型应用及相关协议分析。 关键词:多媒体终端 0MAP 移动通信 3G网络 第三代(3G)无线通信技术将为蜂窝通信系统和个人通信系统提供真正意义上的宽带服务,服务商将提供更高水准的无线多媒体服务,包括数据、音频、视频和语音服务等。为了充分挖掘3G的多媒体通信潜力,系统开发者需要一种新型的软件和硬件技术。较目前而言,硬件平台必须具有高性能,低功耗,高集成度等特点。由于它必须符合多媒体、移动操作系统和终端用户等标准,还必须符合较大范围的变化,因此编程必须具有较大的灵活
[网络通信]
S3C2410与指纹传感器MBF200的SPI通信
  引 言   随着网络技术和通信技术的发展,传统的身份认证技术对于信息安全表现得越来越有些力不从心了。由于人的身体特征具有唯一性和稳定性,人们开始把目光转向了生物识别技术,如指纹、虹膜、DNA、掌形识别等。在众多的特征识别中,指纹采集设备由于具有体积小、功耗低、稳定性好、误判概率低等优点,而受到人们的青睐。指纹传感器是指纹采集设备中的核心器件,在此选用富士通公司的MBF200。它是一款先进的固态指纹传感器芯片,具有性能高、功耗低、成本低、接口方便等特点。这使得在嵌入式系统中实现数据的传输更加方便。S3C2410是三星公司推出的ARM920T核微处理器,主要面向手持设备以及高性价比、低功耗的应用,且在片上集成了丰富的组件,有利于其扩
[单片机]
S3C2410与指纹传感器MBF200的SPI<font color='red'>通信</font>
一种RS-485总线自定义通信协议及其应用
    摘要: RS-485总线是集散控制系统常用的组网方法,但具体的通信协议并没有一个统一的标准。本文详细讨论一种基于RS-485总线通信协议的设计,具有可靠、编程实现简单、易扩展等特点,能够很容易地移植到其它系统中;结合一个电力参数实时监测系统实例,介绍本协议的具体应用。     关键词: RS-485 通信协议 集散控制系统 1 概述 在工业控制系统中,集散控制是目前最常用的测量控制方式。通常,一个集散控制系统由一个主控计算机(上位机)和一系列基于MCU的前端智能仪器(下位机)构成,它们之间再通过一定的物理媒介连接在一起,以完成必要的通信功能。对于一个特定的测控系统而言,所要测控的对象和所采取的测控算
[应用]
烽火通信2011年营业收入、净利润稳健增长
烽火通信2011年营业收入、净利润稳健增长 4月21日,烽火通信科技股份有限公司(简称烽火通信股份代号:600498)宣布截至2011年12月31日止全年业绩。 2011年,烽火通信实现营业收入70.51亿元,同比增长24.05%;实现净利润人民币4.45亿元,较2010年增长18.07%。每股收益为人民币1.01元。截止2011年底,公司总资产已突破100亿,市场地位和品牌价值稳居国内前列。 与此同时,烽火通信还公布了2012年第一季度经营业绩。截止2012年3月30日,该公司实现营业收入14.29亿元,同比增长30%;实现净利润人民币9086万元,与去年同期相比增长42.51%。每股收益为人民币0.21元
[网络通信]
STM32常见的串行通信接口
通信接口背景知识 设备之间通信的方式 一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。并行与串行通信的区别如下表所示。 串行通信的分类 1、按照数据传送方向,分为: 单工:数据传输只支持数据在一个方向上传输; 半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两者可以合并一起使用一个端口。 全双工:允许数据同时在两个方向上传输。因此,全双工通信是两个单工通信方式的结合,需要独立的接收端和发送端。 2、按照通信方式,分为: 同步通信:带时钟同步信号传输。比如:SPI,IIC通信接口。 异步通信:不带时钟同步信号。比
[单片机]
STM32常见的串行<font color='red'>通信</font>接口
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved