soket通信程序

上传人:第*** 文档编号:35819314 上传时间:2018-03-20 格式:DOC 页数:9 大小:47KB
返回 下载 相关 举报
soket通信程序_第1页
第1页 / 共9页
soket通信程序_第2页
第2页 / 共9页
soket通信程序_第3页
第3页 / 共9页
soket通信程序_第4页
第4页 / 共9页
soket通信程序_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《soket通信程序》由会员分享,可在线阅读,更多相关《soket通信程序(9页珍藏版)》请在金锄头文库上搜索。

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)上一种套接字规范,它定义两台计算机间进行通信规范(也是一种编程规范)。如果说两台计算机是利用一个通道进行通信,那么这个通道两端就是两个套接字。套接字屏蔽了底层通信软件和具体操作系统差异,使得

3、任何两台安装了 TCP 协议软件和实现了套接字规范计算机之间通信成为可能。1 1 系统组成系统组成系统组成如图 1 所示。该系统利用现有 GPRS 网络,单片机通过串口对 GPRS 模块进行收发控制,实现SOCKET 通信。系统各部分说明如下: 单片机采用了 AT89C52,它带有一个串口; GPRS 模块。本文以利事达信息技术有限公司开发 GPRS 模块 LT80302为例。LT8030 内嵌了完整TCP/IP 协议栈,包括 TCP、UDP、FTP、SOCKET、Telnet、POP3、SMTP、HTTP 等,为用户提供了更简单网络接口。LT8030 采用 GPRS 技术,无缝覆盖、永远在线

4、且按流量计费,紧密结合产品应用领域所遇到实际问题,进行全面优化和升级,使产品开发变得更容易、更快捷。它采用标准 RS232 接口,用户可以通过单片机或其他 CPUUART 口,使用相应 AT 命令对模块进行控制,达到使其产品可以轻松进入 GPRS 网络目。 服务器。建立 SOCKET 连接必须具有公网 IP 地址,故应保证服务器中心计算机连接到 Internet 并且取得公网 IP 地址。在单片机对 GPRS 模块控制之前,服务器端需运行 SOCKET 端口监听程序(此监听程序一般是现成),并且设为监听状态,端口号也要设定,例如 port:1024。2 2 单片机与单片机与 GPRSGPRS

5、模块连接模块连接单片机与 GPRS 模块一般采用串行异步通信接口,通信速度可设定,通常为 9600 bps。采用 RS232 电缆方式进行连接时,数据传输可靠性较好。单片机通过电平转换电路与 GPRS 模块连接,电路比较简单,电路原理图如图 2 所示。所涉及芯片 MAX232 用于串行通信接口与 232 通信接口之间电平转换3。PC 提示请看下图:图 1 系统组成框图图:图 2 单片机与 GPRS 模拟连接电路原理图MAX232T1IN、T2IN、R1OUT、R2OUT 为接 TTL/CMOS 电平引脚;T1OUT、T2OUT、R1IN、R2IN 为接 RS232电平引脚。TTL/CMOS 电

6、平 T1IN、T2IN 引脚应接 AT89C52 串行发送引脚 TXD;R1OUT、R2OUT 应接 AT89C52串行接收引脚 RXD。与之对应,RS232 电平 T1OUT、T2OUT 应接 GPRS 模块接收端 RXD;R1IN、R2IN 应接GPRS 模块发送端 TXD。现选用其中一路发送/接收,R1OUT 接 AT89C52RXD,T1IN 接 AT89C52TXD,T1OUT 接 GPRS 模块 RXD, R1IN接 GPRS 模块发送端 TXD。因为 MAX232 具有驱动能力,所以不需要外加驱动电路。3 3 建立建立 SOCKETSOCKET 连接命令连接命令下面对 SOCKE

7、T 通信中要用到一些 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

8、.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 为句柄,为要发送字符长度,为要发送数据。发送成功后,在中心端可看到终端发送数据。最多一次能够

9、发送 5K 以下数据。 查询 SOCKET 状态。AT ISST:xxx 查询 SOCKET 状态,xxx 为句柄。 LT8030 返回 I/。如果= 000,表示该端口连接正常;如果1,LT8030 通过该端口从中心接收存在 Buffer 里字节数;如果 xxx 为句柄。该指令会读取 LT8030 通过该句柄从中心接收到,存在 Buffer 里数据;Buffer 最大可存储 30K 数据。 关闭 SOCKET 通道。AT ISCLS:xxx 关闭 SOCKET 通道,xxx 为句柄。4 4 程序设计程序设计 根据单片机与 GPRS 模块通信协议约定,单片机串行口设为方式 1,波特率为 9 6

10、00 bps,8 位 UART,1 位起始位,1 位停止位,无奇偶校验。上电后,首先向 GPRS 模块发送基本设置命令,即 ISP 码、用户名及用户密码帧等,其中 ISP 码必须为“*99*1#”,用户名和用户密码可以任意设置,但不能为空。在使用 LT8030 GPRS 上网功能之前,必须正确设置这些参数。参数一旦设置后,即永久保存,以后无需重新再设( 以上设定为 LT8030C 出厂时默认参数)。然后向 GPRS 模块发送 SOCKET 设置帧,如成功,则点和点通信环境已建立,接着就调用发送数据帧。开机上电后,程序在主函数中运行,单片机进行初始化。初始化包括设置串口工作方式、波特率,并初始化

11、变量参数和标志位。编著注:实现 SOCKET 通信完整程序,见本刊网站()。结语结语随着计算机和通信技术进步,当今社会生产正朝着高效、准确和稳定方向发展,这对数据传输实时性、可靠性、信息量提出了更高要求,为此介绍利用 GPRS 模块实现 SOCKET 通信系统。本文采用内嵌 TCP/IP 协议 GPRS 模块 LT8030,在 8 位微控制器 AT89C52 上实现了对 LT8030 控制,并实现了基于 GPRSSOCKET 通信功能,具有外围器件少、电路简单、系统成本低等优点。参考文献参考文献1 J R (Bud)Bates. 通用分组无线业务(GPRS)技术与应用. 朱洪波,等译. 北京:

12、人民邮电出版社,20042 利事达信息技术有限公司.LT8030 介绍3 胡伟,季晓衡.单片机 C 程序设计及应用实例. 北京:人民邮电出版社,20034 张毅刚,彭喜元,等.MCS51 单片机应用设计.哈尔滨:哈尔滨工业大学出版社,2002余琴:研究生,主要从事智能仪器设计与嵌入式系统方向研究。赵振华:研究生导师,副教授,主要从事智能仪器设计与嵌入式系统方向研究与教学。SOKET 通信程序如下:#include /特殊寄存器的头文件,专供 8051 扩展系列的单片机使用#include /I/O 库文件原型声明void initial(void); /初始化子程序的声明void send(c

13、har *,int); /发送子程序的声明int rev(int); /接收子程序的声明char xdata doc119=“AT+IISP1=*99*1#rn“; /以下为基本设置char xdata doc225=“AT+IDNS1=211.136.18.171rn“;char xdata doc314=“AT+IUSRN=WAPrn“;char xdata doc413=“AT+IPWD=WAPrn“;char xdata doc533=“AT+IMIS=“AT+CGDCONT=1,IP,CMNET“rn“;char xdata doc611=“AT+IXRC=0rn“;char xda

14、ta doc712=“AT+IMTYP=2rn“; char xdata doc830=“AT+ISTCP:221.232.81.195,2024rn“; /以下为 SOCKET 设置char xdata doc922=“AT+ISSND%:xxx,6:socket “;char xdata doc1013=“AT+ISST:xxxrn“;char xdata doc1114=“AT+ISRCV:xxxrn“;char xdata doc1212=“AT+ISCLS:xxx “;char mes44=“AT+ISTCP:221.232.81.195,2024rnI/000rn“,temp;in

15、t i; void delay(int s) /延时子程序int i;for (i=s;i0;i-);void sok() /接收返回的句柄子程序int i;for (i=0;i3;i+)doc910+i=mes32+i;doc108+i=mes32+i;doc119+i=mes32+i;doc129+i=mes32+i;void main(void) /主程序 initial();do send(doc1,19); /发送 ISP 码while(!rev(28);P1=0x00;dosend(doc2,25); /发送 DNS 服务器地址码while(!rev(35);dosend(doc3,14); /发送用户名while(!rev(24);do send(doc4,13); /发送用户密码帧while(!rev(20);dosend(doc5,33); /发送初始化命令while(!rev(42); dosend(doc6,11); /发送扩展码while(!rev(20); dosend(doc7,12); /发送

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号