笔记 | 您所在的位置:网站首页 › sim卡无法接入网络 › 笔记 |
写在前面:以下步骤可能并不严谨,仅供参考。 首先,简单说明一下开发目的:本次开发想要实现单片机采集到的信息直接发送到服务器端处理。我现在所知道的可以实现的方式有两种:①利用SIM卡;②利用WIFI传输。两者各有优缺点,而SIM卡最大的优势就是不受WIFI范围限制,因为开发的不是固定场所设备,因此选择了SIM卡。 以下步骤中有在调试过程中出现的问题及解决方案,直接进入正题,拿到某宝买的SIM900A以后,直接看学习资料,明确接线,初始化指令等。 【指令概述】 1、AT [用来同步波特率(默认波特率9600、数据位8、停止位1、无校验位)] 2、AT+CGCLASS="B" [用于设置移动台类别,SIM900A模块仅支持类别"B"和"CC",发送: AT+CGCLASS="B",设置移动台类别为 B] 3、AT+CGDCONT=1,"IP","CMNET" [设置 PDP 上下文标志为 1,采用互联网协议(IP),接入点为"CMNET"] 4、AT+CGATT=1 [附着GPRS业务] 5、AT+CIPCSGP=1,"CMNET" [AT+CIPCSGP,用于设置 CSD 或 GPRS 链接模式。发送: AT+CIPCSGP=1,"CMNET",设置为GPRS连接,接入点为”CMNET“] 6、AT+CLPORT="TCP","2000" [设置 TCP 连接本地端口号为 2000] 7、AT+CIPSTART="TCP","180.120.52.129","8086" [建立一个TCP连接,连接目标地址为:180.120.52.129(需要根据自己的实际情况更换),连接端口为 8086(这个也可以更换),连接成功会返回: CONNECT OK。 ] 8、AT+CIPSEND [用于发送数据,发送后返回:>] 9、1A [发送数据结束后发送1A,必须以HEX发送,发送后如发送成功则返回SEND OK] 10、AT+CIPCLOSE=1 [断开TCP连接] 11、AT+CIPSHUT [断开场景] 【操作步骤及可能出错原因】 1、大家可以查阅网上相关文章来获取自己的IP地址,但是因为我调试的时候是校园网,路由器设置多次仍然不能解决问题,便向其他人索要了一个服务器地址和端口号进行调试。 2、首先进行线路的连接,连接成功,等待一段时间后发送AT,返回OK,用来同步波特率,以免返回乱码 3、紧接着发送AT+CGCLASS="B",返回OK 4、发送AT+CGDCONT=1,"IP","CMNET",返回OK 5、发送AT+CGATT=1,返回OK 6、发送AT+CLPORT="TCP","2000",返回OK 7、发送AT+CIPSTART="TCP","180.120.52.222","8086",返回OK,一直等待到返回CONNECT OK (这里是最容易出现错的地方,网上也有很多解决方案,我这里列出我出现的错误及自己是如何解决的): 第一种错误:没有返回CONNECT OK,而是+PDP DEACT。这个错误是网络问题,第一考虑自己SIM卡有没有欠费,第二考虑是否供电不足(电流太小),我们一般调试用USB供电的时候就会出现这样的错误。 第二种错误:没有返回CONNECT OK,而是STATE: TCP CLOSED CONNECT FAIL 。这种错误我的是因为服务器的问题,调试的时候一般是用网络调试助手来接受SIM900A发出的数据,但是因为本机IP一直不能连接,找了很多网上的方法,大概都是明确对外IP和本地IP,然后调整路由器设置(路由器设置有DMZ主机设置和虚拟服务器设置),但是我在设置以后依然不能进行连接(我怀疑是校园网的问题,也可能是其他原因,但是没有外网,无法排除第一种可能),因此就借用了别人的服务器试了一下,结果是完美连接,直接解决问题。在此感谢某店提供的服务器。如果大家真的没有可用的服务器,但是又急于测试,可以留言,联系我。 2020年12月5日补充: CSDN的消息很难及时回复,这里我提供一个服务器的地址,这个地址提供一个服务器的IP和端口,三分钟内没有连接便会失效,但是刷新一下页面就会再给一个新的。仅作为调试还是不错的。 http://tt.ai-thinker.com:8000/ttcloud 祝大家调试顺利~
【图片区】 指令图:
----------------------------------------------------------------------------- 开发还没有结束,接下来的调试和单片机程序后续更新。 如有错误请及时指正,谢谢。 |
CopyRight 2018-2019 实验室设备网 版权所有 |