ESP8266有三种模式可以选择,AP/STA/AP+STA,
下面我们要实现的是模块与模块之间点对点的通信
通信的三个过程
1. 建立WiFi连接
a. 首先一个模块配置为AP模式,开启WiFi热点,(可以设置WiFi名称、密码和加密方式)
b. 然后另一个模块配置为STA模式,连接到上面的热点(要是手机、带有无线网卡的电脑直接连接到上面的热点)
2. 建立TCP Server与TCP Client的连接
a.首先AP模式的那个模块配置为TCP Server(可以设置IP和端口,默认IP是192.168.4.1)
b.然后STA模块配置为TCP Client(建立WiFi连接之后会被自动分配一个IP和端口 默认IP是192.168.4.2)
要是手机或者PC端,使用网络调试助手,选择TCP Client
c. 建立连接,TCP Client 连接到 TCP Server,(TCP Client连接到服务器的IP)
3. 进行数据传输
. 数据数据传输有透传模式和非透传模式
a. 建立透传模式 TCP Client 发什么,TCP Server就收到什么,而且不退出透传这种连接就不会中断
b. 建立非透传模式 首先TCP Client约定好发送的字节,再发送出去,而且隔一段时间不发送,第2步建立的连接就中断了,要再次传输数据就要重新进行 Step2.c和Step3
建立通信的调试指令
a. AP模块部分的
AT+CWMODE=2 ;
AT+RST ;
AT+CWSAP="ESP8266","TJUT2017",5,4 ;
AT+CIPMUX=1 ;
AT+CIPSERVER=1,8686 ;
b.STA模块部分的
AT+CWMODE=1
AT+RSTAT+CWLAP
AT+CWJAP=”ESP8266”,”TJUT2017”
AT+CIPMUX=0
AT+CIPSTART="TCP","192.168.4.1",8686
AT+SAVETRANSLINK=1,"192.168.4.1",8686,"TCP"
AP+CIPSEND
+++
AP+CIPSEND
AP+CIPSEND=0,10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
使用小贴士
- 使用串口发送数据 波特率要匹配[默认115200] 当然也可以用AT指令自己修改
- 使用串口发送数据 要在结尾发送新行,(只有退出透传的+++要取消发送新行)
- 在P2P的透传模式下TCP Sever与TCP Client是不会断开连接的
- 非透传模式下,如果一定时间没有数据传输,系统会自动断开连接的,需从新建立TCP连接
- 要是不确定模块工作在什么模式 首先可以使用一些查询指令,不行可以RST/RESTORE ,或者关闭串口,拔下模块,重新连接试试
- 要注意模块的电压和接线