首先需要了解,ESP8266通过AT指令控制。
注意:AT指令发送完成必须带新行“/r/n”
工作模式
有三种工作模式:
分别为
1、softAP
2、Station
3、softAP+Station
这个工作模式是什么意思呢,
举个例子:
日常中手机连接WIFI可以上网,此时手机就是Station,路由器就是AP。
当然此处只是为了便于理解,实际AP与路由器还是有区别。可以参考以下文章:
https://product.pconline.com.cn/itbk/wlbg/network/1710/10195018.html
因此对于ESP8266,
softAP模式就相当于路由器,可以让别人连接ESP8266
Station模式等于手机,可以连接别人的路由器
连接流程
说完工作模式,再来说一下如何连接,首先ESP8266用串口连接至电脑,ESP8266有两种网络连接方式:TCP和UDP.
以TCP为例,连接流程如下:
-
AT+CWMODE=3
// 设置softAP+station mode模式
-
AT+CWJAP=“SSID”,“password”
//连接路由器,SSID就是路由器名字,password就是路由器密码
- AT+CIPSTART=“TCP”,“192.168.3.116”,8080
//连接服务器,时间长了可能自动断开,需要再次输入这条指令
- AT+CIPMODE=1
//使能透传模式,即串口收到的数据会直接发给服务器
- AT+CIPSEND
//开始发送数据
此时串口会出现一个>
表示处于透传模式。
想要退出透传模式,发送+++即可(不能带新行“/r/n”),退出成功时会接收到“+++”
之后,⾄少间隔 1 秒,再发下⼀条 AT 指令。
- AT+CIPCLOSE
//断开TCP连接
这就是整个tcp的连接流程
可能出现的错误
AT+CIPSTART=“TCP”,"192.168.3.116 ",8086 ERROR CLOSED
解决方案:查看本机电脑连接路由器的IP,确认连接无线的IP是192.168.3.116,然后用网络调试助手打开一个IP192.168.3.116的tcp server
多数AT指令,当需要保存某些数据时(比如连接WIFI时的ssid和password),都会默认保存在flash中,除非使用指定指令,声明是临时使用某些数据
另:透传模式,即两个端之间开启透传后,信息会无感的从一端到另一端,不会做任何处理。