常用at命令简要说明

编程语言及工具

99人已加入

描述

  常用 AT 命令手册

  一、 AT 命令解释:

  1、常用操作

  1.1 AT

  命令解释:检测 Module 与串口是否连通,能否接收 AT 命令; 命令格式:AT《CR》

  命令返回:OK (与串口通信正常)

  (无返回,与串口通信未连通)

  测试结果:AT OK

  1.2 AT+CSQ

  命令解释:检查网络信号强度和 SIM 卡情况命令格式:AT+CSQ《CR》

  命令返回:+CSQ: **,##

  其中**应在 10 到31 之间,数值越大表明信号质量越好,##应为 99。 否则应检查天线或 SIM 卡是否正确安装

  测试结果:AT+CSQ《CR》

  +CSQ: 31, 99 信号强度值会有少许变化,用手遮住天线,信号强度值会下降(大致在 26 左右)。

  1.3 ATZ 命令解释:恢复原厂设置 命令格式:ATZ《CR》命令返回:OK

  1.4 AT+CGMR命令解释:查询模块版本; 命令格式:AT+CGMR《CR》命令返回: 《revision 》

  +CMEERROR《err》

  测试结果:AT+CGMR《CR》

  R4A021 CXC1122528

  OK

  解释:模块版本号为 R4A021

  1.5 AT+IPR

  命令解释:修改串口 1 波特率; 命令格式:AT+IPR=《value 》《CR》命令返回: ERROR

  OK

  测试结果:AT+IPR=19200《CR》OK

  注意:串口波特率修改为 19200后要把串口调试工具的波特率设为相应波特率 后模块才会有返回

  1.6 AT&W命令解释:保存模块设置; 命令格式:AT&W《CR》 命令返回: OK

  ERROR(保存不成功)

  测试结果:AT&W 《CR》 OK

  2、通话操作

  2.1ATD 命令解释:拨打电话 命令格式:ATD**********;《CR》(****为电话号码) 命令返回:OK

  NO DIAL TONE(没有拨号音)

  NO CARRIER(无载波) 测试结果:a. ATD13510090403;《CR》

  OK

  呼叫成功;

  b. ATD13510090403;《CR》 NO DIAL TONE天线未接好,接触不良;

  c. ATD13510090403《CR》NO CARRIER 命令错误,缺{;};

  2.2RING 命令解释:有电话呼入 命令格式: 命令返回:无

  2.3ATA命令解释:摘机 命令格式:ATA《CR》命令返回:OK 测试结果:RING

  RING ATA《CR》OK 接通电话;

  2.4ATH 命令解释:挂机 命令格式:ATH《CR》命令返回:OK 测试结果:ATH《CR》

  OK

  电话挂断(通话过程中);

  2.5AT+CHUP命令解释:挂机 命令格式:AT+CHUP《CR》命令返回:OK 测试结果:RING

  ATH《CR》 OK 电话挂断(尚未接通来电);

  2.6AT+VTS命令解释:拨打分机 命令格式:AT+VTS=“分机号码”《CR》 命令返回:OK

  测试结果: AT+VTS=“0”《CR》 OK

  1.AT命令语法:

  所有命令行必须以AT或at作为开头,以回车(《CR》)作为结尾。

  响应通常紧随命令之后,它的样式是“《回车》《新行》《响应内容》《回车》《新行》”即:(《CR》《LF》《响应内容》《CR》《LF》)

  AT命令从语法上可以分为三类:“基础类”“S参数类”“扩展类”。

  2.GSM模块可以被称为如下术语:

  1)ME(移动设备)

  AT + CMGF 选择短消息格式

  AT + CSCS 选择TE字符集

  AT + CSMP 设置短消息文本模式参数

  AT + CMGS 发送短消息

  /*********************************/

  sent_byte(uchar data)

  {

  while((IFG1 & UTXIFG0)== 0);

  U0TXBUF = data;

  }

  sent_string(uchar *p)

  {

  uchar *a;

  a = p;

  do

  {

  p = a;

  while(*p!=‘\0’)

  {

  sent_byte(*p);

  p++;

  }

  }

  while(!((Rbuf[0]==‘O’)&&(Rbuf[1]==‘K’)));

  w = 0;

  P4OUT = 0x0f;

  }

  /************************************/

  sent_ph(uchar *data)

  {

  while(*data != ‘\0’)

  {

  sent_byte(*data);

  data++;

  }

  }

  sent_data(uchar *data)

  {

  while(*data != ‘\0’)

  {

  sent_byte(*data);

  data++;

  }

  sent_byte(0x1A); //CTRL + Z 发送数据终止符,开始数据发送

  }

  SIM900_TCPIP_Application

  AT + CIPMUX:启动多IP连接

  AT+CIPMUX=《n》 被用来选择TCPIP连接模式,当n=0时,为单路连接模式;当n=1时,为多路连接模式;

  默认配置为单路连接模式。对于单路连接模式,SIM900支持透明传输模式和非透明传输模式。

  AT+CIPMODE=《n》被用来选择TCPIP应用模式,当n=0时,支持非透明模式(正常模式);当n=1时,

  为透明模式。默认配置为非透明模式,在该模式下SIM900有三种工作模式,TCP客户端,UDP客户端和TCP服务器。

  如何去建立一个TCP客户端连接:

  首先,在任何TCP / UDP的相关操作之前设置模块应连接到GSM或GPRS网络。

  用户可以使用命令“AT+ CREG?”和“AT+ CGATT?”查询GSM网络注册状态的模块是否已连接到GPRS服务。

  AT+CPIN? //查询PIN

  +CPIN:READY //MT不需要任何密码

  OK

  AT+CSQ=? //信号质量查询

  +CSQ:20,0 //来自ME的接收信号强度指示和信道误码率

  OK

  AT+CREG? //查询网络注册信息

  +CREG:0,1 //关闭显示网络注册未知结果码,注册的,归属网络

  OK

  AT+CGATT? //查询附着和分离GPRS业务

  +CGATT:1 //附着状态

  OK

  其次,用户应该使用命令组AT+ CSTT,AT+ CIICR和AT+ CIFSR启动任务,激活无线连接。

  最后,用户可以通过AT命令(AT + CIPSTART=“TCP”,“IP服务器的地址”,“服务器的端口号”)建立SIM900和服务器之间的TCP连接。

  如果连接成功建立,将会从模块返回响应“CONNECT OK”。

  现在,用户可以用“AT + CIPSEND”命令将数据发送到服务器。

  “AT+ CIPSEND”将返回推进符号“》”,用户应在“》”然后发出CTRL+ Z(0x1A的)发送数据写入。

  如果发送成功,它

  会回应“SEND OK”。

  如果有数据来自服务器,模块将自动从串行端口接收的数据。

  用户可以关闭与“AT+ CIPCLOSE”命令的TCP连接。

  下面是TCP连接到远程服务器的一个例子。

  AT+CGATT? //查询附着和分离GPRS业务

  +CGATT:1 //附着状态

  OK

  AT+CSTT=“CMNET”//启动任务并设置接入点APN、用户名、密码

  OK

  AT+CIICR //打开无线连接(GPRS 或者 CSD)

  OK

  AT+CIFSR //获取本地IP地址

  10.78.245.128

  AT+CIPSTART=“TCP”,“116.228.221.51”,“8500”//建立TCP连接或注册UDP端口号

  OK //格式正确

  CONNECT OK //说明TCP连接已经成功建立

  AT+CIPSEND //发送数据

  》 hello TCP sever//

  SEND OK //数据发送成功

  hello sim900 //服务器返回数据

  CLOSED //服务器断开连接

  如何建立一个UDP客户端连接

  AT+CGATT? //查询附着和分离GPRS业务

  +CGATT:1 //附着状态

  OK

  AT+CSTT=“CMNET”//启动任务并设置接入点APN、用户名、密码

  OK

  AT+CIICR //打开无线连接(GPRS 或者 CSD)

  OK

  AT+CIFSR //获取本地IP地址

  10.77.65.18

  AT+CIPSTART=“UDP”,“116,228,221.51”,“9600”//建立UDP连接,远端IP地址,远端服务端口号

  CONNECT OK //UDP连接成功建立

  AT+CIPSEND

  》 sim900 UDP test

  SEND OK //只知道数据已经从端口发送出去,但不知道数据是否已经到达服务器

  UDP test

  AT+CIPCLOSE

  CLOSE OK

  如何建立一个TCP连接服务器

  在单一连接模式下,当配置为TCP服务器,SIM900只允许一个客户端连接进来。

  用户应该使用命令“AT+ CIPSERVER=1,”《port》“启动服务器功能,并设置监听端口。

  如果成功的话,将返回响应“SERVER OK”,而现在服务器开始监听TCP端口。

  然后,用户应使用命令“AT+ CIFSR”来获取本地IP地址,这是服务器的IP地址。

  如果客户端连接到服务器成功,远程客户端的IP地址将在服务器这边被显示。

  并且服务器可以从远程端接收的TCP数据。

  用户还可以使用命令AT + CIPSEND将数据发送到远程客户端。

  用户也可以使用“AT+ CIPSERVER=0”关闭监听状态。此外,用户可以使用AT+ CIPCLOSE关闭TCP连接。

  AT+CGATT? //查询附着和分离GPRS业务

  +CGATT:1 //附着状态

  OK

  AT+CIPSERVER=1,1234 //开启服务器配置,端口号1234

  OK

  SERVER OK //TCP服务器已经成功建立

  AT+CIFSR //获取本地地址

  10.78.33.227

  AT+CIPSTATUS

  OK

  STATE:SERVER LISTENING //查询当前状态:监听

  REMOTE IP:10.78.103.220 //接入远程客户端

  hello server //接收到远程客户端的数据

  AT+CIPSEND

  》hello client //向远程客户端发送数据

  SEND OK

  AT + CIPSERVER = 0 //关闭当前监听状态

  OK

  SERVER CLOSE

  hello sim900

  AT+CIPCLOSE //关闭TCP或UDP连接

  CLOSE OK

  UDP扩展模式

  在UDP扩展模式下,SIM900能接收到来自UDP数据

  AT+CGATT? //查询

  附着和分离GPRS业务

  +CGATT:1 //附着状态

  OK

  AT+CSTT //启动任务并设置接入点APN、用户名、密码

  OK

  AT+CIICR //打开无线连接(GPRS 或者 CSD)

  OK

  AT+CIFSR //获取本地IP地址

  10.92.17.107

  AT+CLPORT=“UDP”,8888 //设置本地UDP端口

  OK

  AT+CIPSRIP=1 //显示发送方的IP地址和端口号

  OK

  AT+CIPHEAD=1 //设置IP头,格式“+IDP,data length:”

  OK

  AT+CIPUDPMODE=1 //设置UDP扩展模式

  OK

  AT+CIPSTART=“UDP”,“116.228.221.51”,9600 //启动UDP与远端服务器的连接

  OK

  CONNECT OK

  AT+CIPUDPMODE?

  +CIPUDPMODE:1,“116.228.221.51”,9600

  OK

  RECV FROM: 116.228.221.51:9600 //接收来自不同IP地址和端口的数据

  +IPD,5,test1

  RECV FROM: 116.228.221.51:1234

  +IPD,5,test2

  RECV FROM:10.78.103.220:5678

  +IPD,5:test3

  AT+CIPSEND

  》 Hello 9600

  SEND OK

  AT+CIPUDPMODE=2,“211.136.131.65”,4500

  OK

  AT+CIPUDPMODE?

  +CIPUDPMODE:1,“211.136.131.65”,4500

  OK

  AT+CIPSEND

  》Hello 4500

  SEND OK

  模块控制: AT,ATE,+CSQ,+CMEE,+CREG, +CGMR,+CGMI,+CPIN,+CGSN…

  AT命令

  AT命令

  电话功能: ATD,ATA,ATH,+CLIP,+CLCC…

  AT命令

  AT命令

  短信功能: +CMGF,+CNMI,+CPMS, +CMGR,+CMGL,+CMGD,+CMGS…

  AT命令

 AT命令

  AT命令

  AT命令

 AT命令

  AT命令

  电话本: +CPBS,+CPBW,+CPBR,+CPBF…

  AT命令

  内置协议栈: +MIPCALL,+MIPOPEN,+MIPSEND, +MIPPUSH,+MIPCLOSE…

  AT命令

  AT命令

  DU Meter Stopwatch - #1

  Start time 2012-2-15 14:57:42 Stop time 2012-2-15 14:58:08

  Elapsed time 25.9 sec

  Incoming Outgoing ------------------------------------ ---------------- ----------------

  Total of data transferred 3.0 MB 148.8 KB Maximum transfer rate 2.0 Mbps 98.0 kbps Average transfer rate 988.3 kbps 47.1 kbps DU Meter Stopwatch - #2

  Start time 2012-2-15 15:36:29 Stop time 2012-2-15 15:36:44 Elapsed time 14.3 sec

  Incoming Outgoing ------------------------------------ ---------------- ----------------

  Total of data transferred 3.0 MB 58.3 KB Maximum transfer rate 2.0 Mbps 38.9 kbps Average transfer rate 1.7 Mbps 33.3 kbps DU Meter Stopwatch - #3

  Start time 2012-2-15 16:17:48 Stop time 2012-2-15 16:18:01 Elapsed time 13.5 sec

  Incoming Outgoing ------------------------------------ ---------------- ----------------

  Total of data transferred 3.1 MB 60.7 KB Maximum transfer rate 2.0 Mbps 38.6 kbps

  Average transfer rate 1.9 Mbps 36.8 kbps

  DU Meter Stopwatch - #4

  Start time 2012-2-15 17:30:44 Stop time 2012-2-15 17:31:10

  Elapsed time 26.7 sec

  Incoming Outgoing ------------------------------------ ---------------- ----------------

  Total of data transferred 119.9 KB 3.1 MB Maximum transfer rate 51.4 kbps 1.0 Mbps Average transfer rate 36.8 kbps 974.2 kbps

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分