• SIM800C模块AT指令编程指南


    SIM800C是一款四频GSM/GPRS模块,为城堡孔封装。其性能稳定,外观小巧,,能满足客户的多种需求。SIM80C工作频率为GSM/GPRS850/900/180/190OMHz,可以低功耗实现语音、SMS和数据信息的传输。SIM800C尺寸为17.6*15.7*2.3mm能适用于各种紧凑型产品设计需求。

    连接流程:

    1、模块开机测试:

    发送:AT

    返回:OK

    说明:开机正常,可进行下一步

    2、查询网络注册情况

    发送:AT+CPIN?

    返回:READY

    说明:SIM卡状态正常,不需要任何密码,可进行下一步

    3、查询信号质量

    发送:AT+CSQ

    返回:+CSQ: 30, 

    说明: +CSQ:RSSI信号强度,BER比特出错概率信号强度为 15~35 之间比较好,信号在正常

    范围内才可进行下一步。

    4、查询GSM网络注册状态

    发送:AT+CREG?

    返回:+CREG: 0,1或+CREG: 0,5

    说明:说明GSM已注册

    第一位:

    • 0禁用网络注册推送结果码
    • 1启用网络注册推送的结果码+CREG: <stat>
    • 2启用网络注册推送的结果码.。+CREG: [,]。只有当=2且在网络中注册了ME时,才返回的位置信息元素。
    第二位:
    • 1注册本地网络
    • 2未注册,但MT正在搜索新的运营商
    • 3注册被拒
    • 4未知
    • 5注册、漫游

    5.、查询GPRS网络注册状态(可直接进行第6步)

    发送:AT+CGREG?

    返回:+CGREG: 0,1

    说明:说明GPRS网络已注册

    6、使模块附着GPRS网络

    发送:AT+CGATT=1

    返回:OK

    说明:GPRS网咯附着成功,若附着失败返回ERROR,则重启模块再次附着

    7、模块附着GPRS网络状态

    发送:AT+CGATT?

    返回:+CGATT: 0

    说明:0未附着,1附着成功

    8、启用IP连接(非必须)

    发送:AT+CIPMUX=0

    返回:OK

    说明:0说明单个IP连接,1说明多个IP连接

    9、开始任务GPRS接入CMNET

    发送:AT+CSTT="CMNET"

    返回:OK

    说明:指示GPRS接入点名称的字符串参数。最大长度为50字节。Defautl值为“CMNET”。

    10、激活移动场景,建立无线连接

    发送:AT+CIICR

    返回:OK

    说明:(再次操作会返ERROR)

    11、获取模块IP地址

    发送:AT+CIFSR

    返回:10.151.13.127 (每个模块不同时候的IP不一样)

    说明:获取GSM模块的IP地址

    12、打开承载(非必须)

    发送:AT+SAPBR=3,1,"Contype","GPRS"

    返回:OK

    说明:3代表设置设置承载参数,1代表承载配置文件标识符,Contype代表互联网连接的类型,

    GPRS代表GPRS连接。

    继续发送:AT+SAPBR=3,1,"APN","CMNET"

    返回:OK

    说明:"APN"代表手机的网络连接技术,“CMNET”代表中国移动互联网连接技术

    继续发送:AT+SAPBR=1,1

    返回:OK

    说明:1代表打开承载,另一个1代表承载已经连接

    继续发送:AT+SAPBR=2,1

    返回:+SAPBR: 1,1,"10.151.13.127"

    说明:2代表查询承载,1代表已经连接的承载,返回IP地址说明成功

    13、查询经纬度(非必须)

    发送:AT+CLBSCFG=0,1

    返回:+CLBSCFG: 0,1,"" 

    返回:OK

    发送:AT+CLBSCFG=0,2

    返回:+CLBSCFG: 0,2,10

    返回:OK

    发送:AT+CLBS=4,1

    返回:+CLBS: 0,121.373768,31.250582,550,22/11/12,03:20:37

    说明:查询基站经纬度。

    14、建立TCP/UDP连接,连接到服务器

    发送:AT+CIPSTART="UDP","xxx.xxx.com","8000"

    返回:OK  

    返回:CONNECT OK

    说明:返回了CONNECT OK才是连接成功

    15、(可选命令)连接状态查询:

    发送:AT+CIPSTATUS

    返回:STATE: UDP CONNECTING

    说明:(若为STATE: UDP CLOSE,则需要再次连接)

    16、发送数据

    发送:AT+CIPSEND=70

    >

    返回:SEND OK (服务器返回的数据,表示发送成功)

    说明:70表示数据长度,>之后即可输入你要发送给服务器的数据,然后发送16进制的1A表示输入

    结束,数据会一次发送到服务器端,服务器返回“SEND OK”表示发送成功

    17、关闭TCP/UDP连接

    发送:AT+CIPCLOSE或 AT+CIPSHUT

    返回:CLOSE OK (关闭连接)或SHUT OK (关闭移动场景)

    说明:关闭连接

    注意:

    • (1)第14步必须要返回CONNECT OK才是连接成功,IP地址必须是公网IP,如果没有公网IP,可以做内网穿透
    • (2)连接必须要保持“心跳”,如果超过一定时间不向服务器发送数据,连接会自动断开,此时需要重复步骤第14步,最好每一次发送数据之前都进行连接装填检查(步骤15),如果连接状态为非已连接,则需要重新连接(步骤14)。
    • (3)若步骤14操作失败,请重复步骤6到步骤14,步骤10和步骤11不可省略,若步骤11操作失败,则重复步骤6到步骤11,步骤10和步骤11设置成功之后再次操作会返回error,属于正常现象。
    • (4)步骤16,返回“>”之后即可输入你要发送给服务器的数据,然后发送16进制的1A表示输入结束,数据会一次发送到服务器端,服务器返回“SEND OK”表示发送成功,也可以使用AT+CIPSEND=length,输入length个数据之后即发送到服务器,之后返回“SEND OK”表示发送成功。
    • (5)实际编程中请关闭回显,AT指令:ATE0,若需要打开回显:ATE1
    • (6)查找本机IP:输入命令行netstat -aon;查看本机IP的命令行:ipconfig;获取域名所映射IP的方法:ping +域名
       
  • 相关阅读:
    golang实现中文分词,scws,jieba
    谈谈Java/Kotlin中接口回调
    Go :测试终结器用于微小的组合分配(附完整源码)
    kubernetes集群编排(7)
    21. Spring Boot 整合 MyBatis
    Codeforces 1174E Ehab and the Expected GCD Problem(DP)
    Redis 面试常见问答
    Git使用方法与IDEA集成Git
    springboot个人网站系统毕业设计源码261620
    Nginx使用配置代理转发Windows远程桌面功能
  • 原文地址:https://blog.csdn.net/m0_60718520/article/details/127833010