一、前言
本次测试所使用的是正点原子的ATK-ESP8266 WIFI模块。直接使用官方提供的固件使用AT指令来配置模块并使用。
模块默认为AT指令状态,模拟波特率为115200(8bit数据位,1bit停止位)。
硬件连接
使用USB转TTL方式(电脑需要安装CH340驱动)连接ESP8266,接线图如下。
二、透传模式
什么是透传模式,简单的讲就是,ESP8266将通过串口接收到的数据,直接进行转发到所设置的目标服务器的端口上,而我们不需要关心WIFI协议是如何来实现数据的传输。只需要在ESP8266上设置好服务器地址即可。
ATK_ESP8266 模块仅在 TCP Client 和 和 UDP ,支持透传模式。
三、ESP8266的三种工作模式
ESP8266支持 STA / AP / STA+AP 这三种工作模式。
STA模式:ESP8266模块通过路由器连接互联网,可以通过互联网实现对设备的远程控制。类似于无线网卡。
AP模式:ESP8266模块作为热点,可以实现手机或者其他联网设备通过WIFI直接与模块进行通信,实现局域网无线控制。类似于路由或者网桥。
STA+AP模式:两种模式都支持。
通俗来讲,STA模式就是一个联网设备,需要通过wifi连接在其他的无线路由器上。AP模式就是一个无线路由器,其他联网设备可以通过wifi接入。
四、ESP8266的基本常用AT指令集
在这里只列出几个常用的基本的AT指令集。
AT指令 功能
AT 测试指令
AT+RST 重启模块
AT+GMR 查看版本信息
ATE 开关回显功能
AT+RESTORE 恢复出厂设置
AT+UART 设置串口配置参数
*关于回显功能就是在使用AT指令对ESP8266进行配置的时候,ESP8266是否将收到的AT指令通过串口发回。
在这里主要说一下串口参数配置这个AT指令。
AT+UART=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>
1
参数说明:
< baudrate > 串口波特率
波特率支持范围: 110~4608000
< databits> 数据位
5:5 bit 数据位
6:6 bit 数据位
7:7 bit 数据位
8:8 bit 数据位
< parity> 校验位
0: None
1: Odd
2: EVEN
< flow control> 流控
0:不使能流控
1:使能 RTS
2:使能 CTS
3:同时使能 RTS 和 CTS
比如我需要设置串口波特率为256000bit/s,8bit数据位,1bit停止位,无校验位,需要发送
AT+UART=256000,8,1,0,0
1
注:本设置将保存在 Flash user parameter 区,重新上电后 仍生效。
五、WIFI功能的AT指令
指令 描述
AT+CWMODE 选择 WIFI 应用模式
AT+CWJAP 加入 AP
AT+CWLAP 列出当前可用 AP
AT+CWQAP 退出与 AP 的连接
AT+CWSAP 设置 AP 模式下的参数
AT+CWLIF 查看已接入设备的 IP
AT+CWDHCP 设置 DHCP 开关
AT+CWAUTOCONN 设置 STA 开机自动连接到 wifi
AT+CIPSTAMAC 设置 STA 的 MAC 地址
AT+CIPAPMAC 设置 AP 的 MAC 地址
AT+CIPSTA 设置 STA 的 IP 地址
AT+CIPAP 设置 AP 的 IP 地址
AT+CWSTARTSMART 启动智能连接
AT+CWSTOPSMART 停止智能连接
AT+WPS 设置 WPS 功能
AT+MDNS 设置 MDNS 功能
AT+CWHOSTNAME 设置 ATK-ESP-01 Station 的主机名字
六、TCP/IP相关AT指令
指令 描述
AT+CIPSTATUS 获得连接状态
AT+CIPDOMAIN 域名解析功能
AT+CIPSTART 建立 TCP 连接或注册 UDP 端口号
AT+CIPSSLSIZE 设置 SSL Buffer 容量
AT+CIPSEND 发送数据
AT+CIPCLOSE 关闭 TCP 或 UDP
AT+CIFSR 获取本地 IP 地址
AT+CIPMUX 启动多连接
AT+CIPSERVER 配置为服务器
AT+CIPMODE 设置模块传输模式
AT+SAVETRANSLINK 保存透传到 Flash
AT+CIPSTO 设置服务器超时时间
AT+CIPDINFO 接收网络数据时是否提示对端 IP 和端口
AT+CIPSNTPCFG 设置时域和 SNTP 服务器
AT+CIPSNTPTIME 查询 NTP 时间
AT+PING PING 命令
AT+ATKCLDSTA 连接到原子云服务器
AT+ATKCLDCLS 关闭原子云服务器连接
七、TCP Client透传模式
首先测试ESP8266模块在STA模式下的透传。
在PC端使用网络调试助手创建一个TCP服务器,设置好主机地址以及主机端口。
然后使用串口助手连接ESP8266,通过AT指令对其进行配置。
1、将ESP8266设置为STA模式。
AT+CWMODE=1 //设置为 STA 模式
响应:OK
2、重启ESP8266,使设置生效
AT+RST
响应:OK
3、连接路由器
AT+CWJAP=“LAB411”,“lab411411”
响应:OK
注意这里,前面是wifi的ssid,后面是password。仅支持2.4GHzwifi。
4、将模块连接到刚刚所创建的TCP server
AT+CIPSTART=“TCP”,“192.168.1.35”,1125
响应:CONNECT OK
5、开启透传模式
AT+CIPMODE=1
响应:OK
6、开始透传
AT+CIPSEND
响应:OK >
此时,我们就可以在串口助手和网络调试助手中进行数据传输了。
7、退出透传模式
一旦进入了透传模式,再发送AT指令是不会回复的,所发送的AT指令会当做消息发送。
在透传模式中,若识别到单独的一包数据“ +++”,则退出透传模式。
+++
8、开机自动进入透传模式
如果需要模块上电自动个连接到某个 IP 并进入透传模式,这个时候需要在模块连接路由器wifi热点之后,发送以下命令设置模块为上电自动到连接到 TCP Server:192.168.1.35,1125,并进入透传模式。
AT+SAVETRANSLINK=1,"192.168.1.35",1125,"TCP"
1
当发送AT+SAVETRANSLINK 指令后,模块断电再上电会自动进入透传模式,此时发送, 指令模块是不会回复的(即使透传的服务器不存在, 模块也会进入透传模到式的)。要退出开机自动进入透传模式,需要先退出透传模式,再发送“AT+SAVETRANSLINK=0 ”,这样上电模块就不会再上电进入透传了。
————————————————
版权声明:本文为CSDN博主「小默haa」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:关于ESP8266的透传模式测试(一)——TCP Client透传模式_esp8266的透传模式是什么-CSDN博客文章来源地址https://www.toymoban.com/news/detail-835015.html
文章来源:https://www.toymoban.com/news/detail-835015.html
到了这里,关于关于ESP8266的透传模式测试(一)——TCP Client透传模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!