关于ESP8266的透传模式测试(一)——TCP Client透传模式

一、前言

本次测试所使用的是正点原子的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>

参数说明:

  • < 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

注:本设置将保存在 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"

当发送AT+SAVETRANSLINK 指令后,模块断电再上电会自动进入透传模式,此时发送, 指令模块是不会回复的(即使透传的服务器不存在, 模块也会进入透传模到式的)。要退出开机自动进入透传模式,需要先退出透传模式,再发送“AT+SAVETRANSLINK=0 ”,这样上电模块就不会再上电进入透传了。

  • 46
    点赞
  • 326
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值