在网络设置中有HTTP、SOCKET等类型。SOCKET是建立在传输层协议(主要是TCP和UDP)上的一种套接字规范,它定义两台计算机间进行通信的规范(也是一种编程规范)。如果说两台计算机是利用一个通道进行通信,那么这个通道的两端就是两个套接字。套接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了套接字规范的计算机之间的通信成为可能。
1 系统组成
系统的组成如图1所示。该系统利用现有的GPRS网络,单片机通过串口对GPRS模块进行收发控制,实现SOCKET通信。
系统各部分的说明如下:
① 单片机采用了AT89C52,它带有一个串口;
② GPRS模块。本文以利事达信息技术有限公司开发的GPRS模块LT8030为例。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通信接口之间的电平转换。
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具有驱动能力,所以不需要外加驱动电路。