2.1 AT指令简介
AT指令集一般指专门用来控制调制解调器的指令集。该指令集最初由美国Hayes公司推出,专门用于数据传输通信领域,目前己成为全球通用的标准,任何与Hayes兼容的调制解调器都可使用这些指令。
AT指令是以AT开头、<CR><LF>结尾的特定字符串,AT后面紧跟的字母和数字表明AT指令的具体功能。AT指令具有以下特点:
①几乎所有的AT指令(除了“A/”及“+++”两个指令外)都以一个特定的命令前缀开始,以一个命令结束标志符结束。命令前缀一般由AT两个字符组成,命令结束符通常为<CR><LF>。
②每一条AT指令执行完后,调制解调器都会返回一个结果,以对接收到的命令作出应答。
指令集分成标准AT指令集(Standard V.25ter ATCommands)、AT增强指令集(AT Commands for En-hanced Functions)和传真指令集(AT Commands forFAX)等。根据具体的产品,不同的厂商还会设计特殊的指令集供设置使用,例如奉系统中使用的无线GSM模块,根据ETSI-GSM07.07和ETSI-GSM07.05协议,给调制解调器增加了一些扩充指令。
2.2 建立GPRS连接
在本系统中,需要利用TCP/UDP协议来完成GPRS业务数据的装帧和拆帧。SIMl00 GSM/GPRS模块内置TCP/UDP协议,微处理器向该模块直接发送AT指令可建立TCP/IP连接实现数据传输。下面是模块的一些初始设置。
①置通信波特率。可以使用“AT+IPR=115200”命令,把波特率设为115 200 bps或者其他速率。SIMCOM模块默认为ll5200 bps。
②置接入网关。通过“AT+CGDCONT=1”、“IP”、“CMNET”命令,设置GPRS接入网关为移动梦网。
③设置移动终端的类别。通过AT+CGCLASS=“B”设置移动终端的类别为B类,即同时监控多种业务,但只能运行一种业务。也就是说,在同一时间只能使用GPRS上网,或者使用GSM的语音通信。
④测试GPRS服务是否开通。使用“AT+CGACT=1,1”命令激活GPRS功能。如果返回OK,则表示GPRS连接成功;如果返回ERROR,则意味着GPRS失败,应检查一下SIM卡的GPRS业务是否已开通,GPRS模块天线是否安装正确等问题。
2.3 TCP/UDP连接举例
(1)通过TCP的连接

发送数据程序流程如图4所示。

3 SIMlD0的典型应用
SIMl00模块可以应用于很多的远程监控系统中,下面的例子是其在远程家居电器控制中的应用。
此系统的控制思路是客户机通过SIMl00接收来自Internet的控制数据,通过串口传送给AT89C5[3-4];单片机分析数据来源,如果合法(包括来源合法和数据结构合法),则驱动执行机构来控制家中电器或反馈电器的状态信息。其系统结构框图如图5所示。

接收执行程序流程如图6所示。

发送数据程序流程可以参考图4。整个系统由于采用了SIMl00模块,大大减小了系统资源的开销,因此可以根据应用的实际要求来构建系统,而不必为实现TCP/IP协议选用性能和价格都更高的微处理器甚至是存储器。软件部分的工作重心主要放在控制部分,以缩短研发周期。
4 总 结
市场上有根多GPRS模块可供选择,有的适用于工业及车载高可靠场合,当然价格也更高;但在一般的工业及车载应用中,如果用户对成本较敏感,则可以选用Simcom公司的SIMl00。其在功能、性能和价格三方面做了很好的折中。尤其是内置了TCP/IP协议,使得软件部分的工作量减小;对于不需要操作系统的简单应用十分适合,可以有效地降低成本,缩短研发周期。
本文介绍AT指令集的基本概念及其在GPRS模块中的应用,重点讲解如何通过AT指令配置SIM100模块实现GPRS连接,并通过TCP/IP协议进行数据传输。此外,还提供了一个基于SIM100模块的远程家居电器控制系统案例。
1732

被折叠的 条评论
为什么被折叠?



