您的位置:首页 > 其它

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

2017-09-24 22:23 260 查看
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=0,10            //约定往哪个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 ,或者关闭串口,拔下模块,重新连接试试
要注意模块的电压和接线
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: