ESP8266调试-P2P(AP模块与STA模块通信)
2017-09-24 22:23
260 查看
ESP8266有三种模式可以选择,AP/STA/AP+STA,
下面我们要实现的是模块与模块之间点对点的通信
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/10/9eb284757306c1b255cd3af05f9b089b)
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模块部分的
2
3
4
5
6
7
8
9
10
b.STA模块部分的
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 ,或者关闭串口,拔下模块,重新连接试试
要注意模块的电压和接线
下面我们要实现的是模块与模块之间点对点的通信
通信的三个过程
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 ,或者关闭串口,拔下模块,重新连接试试
要注意模块的电压和接线
相关文章推荐
- ESP8266调试-P2P(AP模块与STA模块通信)
- 高通平台串口调试 AP与模块串口通讯调试总结
- 高通平台串口调试 AP与模块串口通讯调试总结
- 高通平台串口调试 AP与模块串口通讯调试总结
- 高通平台串口调试 AP与模块串口通讯调试总结
- VS提示无可用源,此模块的调试信息…
- ESP8266调试问题
- 一个可以更好地调试的 Perl 模块
- thinkphp5 错误调试之模块不存在
- 【arduino】通过Esp8266-01模块实现的WiFi通信(1)简介和搭建编程环境
- linux下用GDB调试可加载模块
- Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试
- 遭遇 VS 的 无法调试引用的类库项目(DLL)问题(生成下面的模块时,启用了优化或没有调试信息)
- APP动态调试lib模块(No executable code found解决方案)-APP的debug版集成lib的debug版
- android 下 对3G 模块进行AT 命令调试
- A20 ap6210 4MHz 调试说明
- 4.0-华为MW269V2模块wifi调试
- a20以太网模块的调试记录
- 在VMware环境下,使用KGDB调试内核及内核模块---基于kernel 2.6.36
- Android系统移植与调试之-------)如何修改Android手机NFC模块,使黑屏时候能够使用NFC