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: <stat>[,<lac>,<ci>]。只有当<n>=2且在网络中注册了ME时,才返回<lac>和<ci>的位置信息元素。
- 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连接,连接到服务器
返回: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 +域名