ESP8266调试-P2P(AP模块与STA模块通信)

2019-07-13 07:48发布

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模块部分的 //模块AP热点 TCP Server AT+CWMODE=2 ;//开启 AP 模式 AT+RST ;// 复位模式才能生效 AT+CWSAP="ESP8266","TJUT2017",5,4 ;// 设置模块的 wifi 和密码 AT+CIPMUX=1 ;//打开多连接 AT+CIPSERVER=1,8686 ;//设置模块服务器端口 //注意 每次 AP 重启都能 可以自动开启热点 //但要从新配置服务器端口 就是要重新建立服务器 Step2.a //AT+CIPSERVER=1,8686 不然无法建立连接的
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
b.STA模块部分的 //模块STA模式 TCP Client AT+CWMODE=1 //开启 STA 模式 AT+RSTAT+CWLAP //查询当前可搜索的热点,看是否有这个 AT+CWJAP=”ESP8266”,”TJUT2017” //连接热点的 wifi 和密码 AT+CIPMUX=0 //打开单连接 //AT+CIPMODE=1 AT+CIPSTART="TCP","192.168.4.1",8686 //建立TCP连接 //透传模式 AT+SAVETRANSLINK=1,"192.168.4.1",8686,"TCP" //这个指令可以保存远端的IP和端口 //从而开机自动连接 AP+CIPSEND //之后就可以透传了 +++ //(取消发送新行,退出透传) //非透传模式 AP+CIPSEND //之后就可以透传了 AP+CIPSEND=010 //约定往哪个id发,发多少字节
  • 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 ,或者关闭串口,拔下模块,重新连接试试
  • 要注意模块的电压和接线