SIM800L AT command

xiaoxiao2021-02-28  63

/*********************************************************** AT+ICF==<format> ,<parity> Set TE-TA control character framing ************************************************************/ /*********************************************************** AT+IPR=<RATE> 110 300 600 1200 4800 9600 14400 19200 38400 56000 57600 115200 ************************************************************/ /*********************************************************** AT+CREG 网络注册信息 ************************************************************/ AT+CREG? +CREG: 0,1 //当返回+CREG: 0,1 或+CREG: 0,5 时都说明模块已经注册上 GSM 网络。 OK /*********************************************************** AT+CGREG GPRS网络注册状态 ************************************************************/ AT+CGREG? +CGREG: 0, 1 //当返回+CGREG: 0,1 或+CGREG: 0,5 时都说明模块已经注册上GPRS网络。 /*********************************************************** AT+CIPMUX 启动多 IP 连接 ************************************************************/ /*********************************************************** AT+CIPSTART 建立TCP连接或UDP连接 ************************************************************/ /*********************************************************** AT+CIPSEND 发送数据 ************************************************************/ /*********************************************************** AT+CIPSHUT 关闭移动场景 ;关闭后下次连接时本机IP地址将发生改变。 ************************************************************/ /*********************************************************** AT+CIPCLOSE 关闭TCP或UDP连接 关闭TCP或UDP连接,移动场景还在 ;下次连接时本机IP地址不变。 ************************************************************/ /*********************************************************** AT+CSTT 启动任务并设置接入点APN、用户名、密码 ************************************************************/ GPRS Modem实现TCP连接的AT指令主要操作步骤: AT\r AT+ccid\r //检测是否装有SIM 卡 AT+cgmr\r //检测软件版本,5.0 以上的才有GPRS 功能支持 AT+csq\r //检测信号质量,确定是否可以登陆上网络;若返回10--31,0之间的信号数字则继续, 如果信号是9999,则应该考虑不停的的让模块去搜寻网络。 AT+CGCLASS="B"\r //设置模块工作类型 AT+CGDCONT=1,"IP","CMNET"\r AT+CGATT=1 //激活PDP,获得IP AT+CIPCSGP=1,"CMNET"\r AT+CIPSTART="TCP",211.147.18.79,1433\r AT+CIPSEND\r > //返回“>”后输入要传输的数据,再发送CTRL+Z,即将所要发送的数据发送到指定IP的服务器上 AT+CIPCLOSE\r //只有在TCP/UDP处于CONNECT OK的状态下才返回OK,否则返回ERROR AT+CIPSHUT\r //关闭移动场景 一、首先在超级终端下,对模块进行设置: at OK at+ccid //检测是否装有SIM 卡 +CCID: "89860060190200147245" OK at+cgmr //检测软件版本,5.0 以上的才有GPRS 功能支持 534_09gg.2C2 1747684 080602 16:50 OK at+csq //检测信号质量,确定是否可以登陆上网络 +CSQ: 28,0 OK at+CGCLASS="B" //设置模块工作类型 1) OK AT+CGDCONT=1,"IP","CMNET" //上网设置,只有开通GPRS 功能的SIM 卡才 可以 OK AT+CSQ 2) +CSQ: 27,0 OK AT+CGACT=1,1 //激活网络 OK AT+CGREG? //检测是否登陆上GPRS 网络 +CGREG: 0, 1 //成功登陆 OK AT+IPR=0; //更改串口速率自适应 OK AT&W //保存设置 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
转载请注明原文地址: https://www.6miu.com/read-68692.html

最新回复(0)