ESP8266两种工作模式数据传输测试

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: ESP8266两种工作模式数据传输测试

ESP8266支持3种模式:Station模式、AP模式和Station+AP混合模式。关于这三种模式的区别可以类比我们的手机,当手机连接无线网时,此时手机为Station模式,当手机打开移动热点时,此时手机为AP模式。简单的说就是Station模式就是作为终端,AP模式就是作为路由器。而Station+AP混合模式,就和路由器的无线桥接功能是一样的,既可以连接别的无线网,同时也可以自己作为路由器。

640.jpg


本文分享ESP8266的两种工作模式下的数据传输:Station模式作为TCP客户端、AP模式作为TCP服务器,分别和网络调试助手进行通讯的AT指令配置流程。


AT指令可以由MCU的串口来完成,这样就可以实现两块ESP8266之间进行通讯,电脑和ESP8266的无线控制,手机和ESP8266的无线控制等。

640.png


ESP8266作为TCP客户端,电脑作为TCP服务器

ESP8266模块配置为Station模式连接WiFi,电脑也连接同一个WiFi,电脑使用网络调试助手建立一个TCP服务器,指定服务器地址和端口号。


ESP8266作为TCP客户端,和电脑上的网络调试助手进行通讯,或者直接透传。实现的效果是模块发送的数据,电脑可以接收到,电脑发送的数据,模块可以接收到。


1.模块配置为Station模式:AT+CWMODE=1

2.配置WiFi信息按照信号强度排序:AT+CWLAPOPT=1,127

3.扫描附近的WiFi信息:AT+CWLAP


//配置当执行AT+CWLAP指令时,WiFi信息按照信号强度排序
AT+CWLAPOPT=1,15
//1表示按照信号强度排序,15表示WiFi信息只显示加密方式,WiFi名称,信号强度,MAC地址
//扫描附近的WiFi信息
AT+CWLAP
+CWLAP:([加密方式],[WiFi名称],[RSSI信号强度],[MAC地址])
+CWLAP:(4,"Tenda_A3AA00",-76,"c8:3a:35:a3:aa:01")
+CWLAP:(4,"Tenda_A3AA00 Sander",-81,"e4:d3:32:9c:e3:c4")
+CWLAP:(3,"EZVIZ_D38296744",-81,"50:13:95:84:e0:16")
+CWLAP:(4,"TP-LINK_4723",-84,"cc:08:fb:c1:47:23")


4.连接指定WiFi:AT+CWJAP="Tenda_A3AA00","password123"

//连接指定AP
AT+CWJAP="Tenda_A3AA00","password123"
//如果WiFi名称重复,需要指定MAC地址来确定要连接的WiFi
AT+CWJAP="Tenda_A3AA00","password123","c8:3a:35:a3:aa:01"
//如果WiFi名称或密码中含有特殊字符,前面要添加\转义符号
如,目标WiFi名称为: ab\,c,密码为: 0123456789"\,则指令如下:
AT+CWJAP="ab\\\,c","0123456789\"\\"
//查询已经连接的WiFi信息
AT+CWJAP?
//断开当前WiFi连接
AT+CWQAP


5.设置单连接模式:AT+CIPMUX=0

//如果之前使用AP模式开启过TCP服务器,要先关闭TCP服务器
AT+CIPSERVER=0
//设置单连接模式
AT+CIPMUX=0


6.电脑和模块连接同一WiFi,电脑启动网络调试助手,并建立TCP服务器。

640.jpg


7.模块作为TCP客户端,连接电脑上创建的TCP服务器

//主机地址和端口要和电脑上的TCP服务器保持一致,
AT+CIPSTART="TCP","192.168.43.140",6000
CONNECT
OK


8.如果连接成功,网络调试助手会显示有一个客户端上线,并显示了客户端的IP为192.168.1.105

640.jpg


9.查询当前TCP服务器分配的IP地址:AT+CIPSTATUS

AT+CIPSTATUS
STATUS:3        //3表示已经建立TCP传输
+CIPSTATUS:0,"TCP","192.168.1.106",6000,26441,0    //本地IP地址
OK


10.此时网络调试助手(TCP服务器)发送的信息,WiFi模块(TCP客户端)已经可以实时收到了。

+IPD,[数据长度]:[数据类型]
+IPD,30:Hello World —— By TCP Server
+IPD,28:MyBlog:www.wangchaochao.top
+IPD,16:MyWeChat:mcu149


640.jpg


11.客户端发送数据到服务器。虽然服务器发送的数据客户端可以收到,但此时模块还处于AT模式,不能发送数据到服务器。

//设置本次要发送的字节数
AT+CIPSEND=4
OK
>
//输入要发送的数据,仅前四个字节数据被发出,其他数据无效。    
Recv 4 bytes
SEND OK


640.jpg

以上命令只能启动一次数据发送,如果需要数据实时收发,就需要配置成透传模式。


12.开启透传模式。

//开启透传模式,仅支持TCP单连接和UDP固定通信对端的情况
AT+CIPMODE=1
//开始透传
AT+CIPSEND
>
//此时发送的数据会直接给TCP服务器


640.jpg


13.退出透传模式。

//输入不带回车换行的三个加号:+++,退出透传模式,返回到普通AT指令模式。
+++
//发送+++退出透传时,请至少间隔1秒再发下⼀条AT指令。
AT
OK


14.断开TCP连接。上面虽然退出了透传模式,此时还保持着TCP连接,服务器发送的数据可以实时收到。如果要断开TCP连接可以使用:AT+CIPCLOSE,可以看到服务器也显示客户端已经离线。

640.jpg


ESP8266作为TCP服务器,电脑作为TCP客户端

ESP8266配置成AP模式,并开启TCP服务器,电脑连接ESP8266的WiFi,作为TCP客户端,两者之间数据传输。


1.模块配置成AP模式:AT+CWMODE=2

2.设置无线网名称和密码

//设置无线网名称和密码
AT+CWSAP="ESP8266","12345678",5,3
//3表示WPA2_PSK加密方式
//查询无线网信息
AT+CWSAP?
+CWSAP:[WiFi名称],[WiFi密码],[通道数],[加密方式],[最大支持连接数],[广播]
+CWSAP:"ESP8266","12345678",5,3,4,0


3.设置无线网IP地址、网关、子网掩码

//设置IP、网关、子网掩码
AT+CIPAP="192.168.5.1","192.168.5.1","255.255.255.0"


4.建立TCP服务器,设置端口号

//使用多连接模式
AT+CIPMUX=1
OK
//指定TCP服务器端口为1001
AT+CIPSERVER=1,1001
创建TCP服务器之后,会自动启动TCP服务监听,当有TCP客户端连接时,会有CONNECT提示
0,CONNECT


640.jpg


5.网络调试助手配置成客户端模式,连接ESP8266创建的TCP服务器,主机地址和端口要和之前配置的保持一致。

//ESP8266查询当前连接的客户端
AT+CWLIF
[IP地址],[MAC地址]
192.168.5.2,b8:86:87:4e:26:af
OK


6.网络调试助手(TCP客户端)发送消息给ESP8266(TCP服务器),因为ESP8266已经开启监听服务,数据会实时显示。

640.jpg


7.ESP8266(TCP服务器)发送消息给网络调试助手(TCP客户端)。

//ESP8266作为服务器,要往客户端发数据,需要指定客户端编号和字节数
//往0号客户端发5个字节的数据
AT+CIPSEND=0,5
OK
>
//输入要发送的数据,仅前五个字节数据被发出,其他数据无效。    
Recv 5 bytes
SEND OK

640.jpg

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
传感器
esp8266接入阿里云,测试心率与血氧遇到问题求大神讲解
代码如下,可以连接WiFi和MQTT但是传感器无法工作 求大神讲解
|
网络协议 测试技术
9-51单片机ESP8266学习-AT指令(测试TCP服务器--51单片机程序配置8266,C#TCP客户端发信息给单片机控制小灯的亮灭)
http://www.cnblogs.com/yangfengwu/p/8780182.html 自己都是现做现写,如果想知道最终实现的功能,请看最后     先把源码和资料链接放到这里   链接:https://pan.
2024 0
|
移动开发 网络协议 测试技术
7-51单片机ESP8266学习-AT指令(测试TCP服务器--51单片机程序配置8266,用手机TCP调试助手发信息给单片机控制小灯的亮灭)
http://www.cnblogs.com/yangfengwu/p/8759294.html  如不做任何说明默认最头上的链接为上一篇链接,末尾的链接为下一篇链接     先把源码和资料链接放到这里       链接:https://pan.
2753 0
|
存储 网络协议 测试技术
8-51单片机ESP8266学习-AT指令(测试TCP服务器--51单片机程序配置8266,做自己的手机TCP客户端发信息给单片机控制小灯的亮灭)
http://www.cnblogs.com/yangfengwu/p/8776712.html   先把源码和资料链接放到这里 链接:https://pan.baidu.com/s/10MxI8-Q33-M_R2WEHqEi1A 密码:j1sz 先做手机的,然后做C#的 详细点的可以看我这篇文章,请参考着这篇看这篇文章,这篇文章会解决一些细节问题 http://www.
1654 0
|
Web App开发 网络协议 测试技术
6-51单片机ESP8266学习-AT指令(测试TCP服务器--使用串口调试助手--不连接路由器)
上一篇连接  http://www.cnblogs.com/yangfengwu/p/8757513.html 注意:更加详细的操作请参考, http://www.cnblogs.com/yangfengwu/p/5205570.
1819 0
|
Web App开发 测试技术
2-51单片机ESP8266学习-AT指令(开发板测试远程通信详细介绍)
前一篇链接(最后有APP安装包下载地址) http://www.cnblogs.com/yangfengwu/p/8720148.html 由于自己别的贴片的板子还没到,所以用自己的8266最小系统板做测试 8266最小系统板:     1,给开发板上电                      ...
1964 0

热门文章

最新文章