关于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>
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博客

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值