|
最近发现远程控制挺火的,正好也用8266搞了一下,发现挺好用的。 esp8266一般大家都会用它作为服务端,连接它自己发出的wifi,然后通过调试助手通信,这就局限于本身wifi覆盖范围了。
那具体怎么实现通过TCP连接到esp8266,从而实现手机APP用蜂窝数据就能实现通信呢?
可以看下面的链接。
先PS一下:本人对TCP没什么研究,也是在网上跟 匠芯科技 所发布的教学一步一步学的(基本上是照搬的),同时感谢匠芯科技,还请大家勿喷,谢谢!
博客链接:http://www.cnblogs.com/yangfengwu/p/7736296.html
大家可以自己去看,我就是说一下过程。
esp8266连接路由器后会得到一个IP,因为大部分家里的路由器都会默认开启DHCP服务,这样的话每次重启连接后的IP可能不一样,那样就不太好去
实现,如果那样的话就还得需要一些其他步骤(这里不做说明)。 esp8266本身就可以设定固定的IP,防止每次IP不一样。
步骤:1、设置为station模式或者station与AP共存也行 AT+CWMODE=3或等于1也行
2、复位一下 AT+RST
3、连接AP(连接路由器的wifi) AT+CWJAP – 连接 AP ps:可以先用AT+CWLAP 查询当前可用的wifi
4、设置IP地址 例:AT+CIPSTA="192.168.3.123","192.168.3.1","255.255.255.0" ps:我家路由器是192.168.3.1段的
5、设置多连接 AT+CIPMUX=1
6、建立TCP服务端 AT+CIPSERVER=1,8080 ps:前面的1表示开启,后面的为端口号(自己设定的)
基本上就是这些了,然后怎么实现内网映射,看上面的链接就行,有详细讲解的。
最后,还有TCP 服务超时时间的设定,因为测试的时候不一定会一直发送数据,会被检测到一定时间内未有数据产生会自动关闭连接。
推荐设置一下
AT+ CIPSTO – 设置 TCP server 超时时间 |
例:AT+CIPSTO=100 就是100秒内未通信就会断开连接,最大时间是7200秒,如果设置为0就表示永久不会被超时检测,测试推荐设置为0。
关于自己做APP的TCP Client的方面还未搞明白,所以我安利一个APP方便大家调试。
个人觉得最好还是要自己搞一个APP,这样自己定义怎么样通信,会比较方便,因为调试助手每次都得自己操作才行。
如果有什么不懂的地方可留言讨论!
|
评分
-
查看全部评分
|