ESP32-WROOM-32 [创建AP站点-客户端-TCP透传]

devtools/2024/9/25 14:32:10/

简介

基于ESP32-WROOM-32 开篇(刚买), 本篇讲的是基于固件 ESP32-WROOM-32-AT-V3.4.0.0(内含用户指南, 有AT指令说明)的TCP透传设置与使用

设备连接

TTL转USB线, 接ESP32 板 的 GND,RX2, TX2
在这里插入图片描述

指令介绍

注意,下面指令需要在最后加上CRLF, 也就是\r\n(回车换行)

AT+RESTORE // 恢复出厂设置
AT+CWMODE=2 // 设置 Wi-Fi 模式为 softAP。
AT+CWMODE?// 查询模式
AT+CWSAP=“AP_Station1”,“xyhDev1020”,1,3 // 设置ESP32 SoftAP 的配置参数 ssid, 密码, 通道, 加密方式为WPA2_PSK
AT+CWSAP? // 查询 ESP32 SoftAP 的配置参数
AT+CIPMODE? // 传输模式查询
AT+CIPSTART=“TCP”,“192.168.4.2”,1020 // 连接TCP Server, 主机IP 192.168.4.2, Server端口 1020
AT+CIPSENDL=1 // 普通传输模式, 发送数据长度, 发送之后返回OK即可发送1个字节长度的数据
AT+CIPMODE=1//开启透传模式, 0是普通传输模式
AT+CIPSEND // 直接开启透传收发, 除非退出指令发出, 客户端服务端可以互发, 发送/接收长度参考固件文档
+++ // 此指令结尾不需要回车换行, 仅在透传时生效

执行

按上述指令向下执行:

第一步指令

AT+RESTORE // 恢复出厂设置
AT+CWMODE=2 // 设置 Wi-Fi 模式为 softAP。
AT+CWSAP=“AP_Station1”,“xyhDev1020”,1,3 // 设置ESP32 SoftAP 的配置参数 ssid, 密码, 通道, 加密方式为WPA2_PSK
理论上执行到此, 可以搜索到名为 AP_Station1 的wifi了, 使用 密码 xyhDev1020连接
在这里插入图片描述

第二步创建TCP Server

连接上AP_Station1, 之后分配的IP是192.168.4.2, 使用此IP创建TCP Server, 端口1020
在这里插入图片描述

第三步连接TCP Server并在普通模式下进行数据收发

AT+CIPSTART=“TCP”,“192.168.4.2”,1020 // 连接TCP Server, 主机IP 192.168.4.2, Server端口 1020
AT+CIPSENDL=1 或者AT+CIPSEND=1 // 普通传输模式, 发送数据长度, 发送之后返回OK即可发送1个字节长度的数据
在这里插入图片描述

第四步连接TCP Server并在透传模式下进行数据收发

AT+CIPMODE=1//开启透传模式, 0是普通传输模式
AT+CIPSEND // 直接开启透传收发, 除非退出指令发出, 客户端服务端可以互发, 发送/接收长度参考固件文档
+++ // 此指令结尾不需要回车换行, 仅在透传时生效
在这里插入图片描述

第五步 保存配置参数到NVS分区, 重上电自动透传模式

AT+SYSSTORE=1 // 存储之前配置的参数
AT+SAVETRANSLINK=1,“192.168.4.2”,1020,“TCP” // 重上电自动开启透传模式,可参考固件用户指南

参考

ESP32-WROOM-32 开篇(刚买)
ESP-AT 实践:ESP32 启 AP 模式并作为 TCP Client 与 TCP Server 进行数据透传


http://www.ppmy.cn/devtools/117007.html

相关文章

Python知识点:如何使用Python与.NET进行互操作(IronPython)

开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! IronPython 是一个开源的 Python 实现,它运行在 .NET 平台上&#xf…

用python给markdown文档加空行

在文本格式化过程中,我们通常会在行与行之间添加一个空行,以提升文档的阅读体验,使其外观更加整洁。 若您处理的文档篇幅较短,手动添加空行也是一个可行的选择。 此外,为了简化这一过程,您可以采用以下Pyt…

Python 路径管理新纪元:pathlib 模块带你玩转文件系统

引言 在早期的 Python 版本中,处理文件路径往往需要依赖于 os 和 os.path 模块,虽然它们功能强大,但复杂的 API 设计使得代码可读性较差。随着 Python 3.4 的发布,pathlib 模块正式登场,它以对象导向的方式简化了路径…

Arthas vmoption(查看和修改 JVM里诊断相关的option)

文章目录 二、命令列表2.1 jvm相关命令2.1.6 vmoption(查看和修改 JVM里诊断相关的option)举例1:vmoption 查看所有的选项举例2:vmoption MinHeapFreeRatio 查看指定的选项 二、命令列表 2.1 jvm相关命令 2.1.6 vmoption&#x…

list模拟实现(部分)

1.没有实现const迭代器。 #include<iostream> using namespace std; namespace test {template<class T>struct list_node {T _val;list_node<T> * _prev;list_node<T> * _next;list_node(const T& val T()) :_val(val), _prev(nullptr), _next…

COMTRADE 录波文件 | 可视化工具 | 电能质量查看软件

COMTRADE 录波文件 | 可视化工具 | 电能质量查看软件 主要功能介绍 支持 IEEE Std C37.111-1991/1999/2013 规范。读取 ASCII 或二进制 COMTRADE 文件。查看来自 COMTRADE 配置文件的模拟和数字通道列表。将图表导出为 SVG、BMP、JPEG 和 PNG 图形格式。将显示的观察结果以 C…

算法打卡:第十一章 图论part03

今日收获&#xff1a;孤岛的总面积&#xff0c;沉没孤岛&#xff0c;水流问题&#xff0c;建造最大岛屿 1. 孤岛的总面积 题目链接&#xff1a;101. 孤岛的总面积 思路&#xff1a;只要岛屿中有一个节点是边缘节点&#xff0c;那么这个岛屿就不是孤岛&#xff0c;结果不累加…

[python-pdal]python-pdal安装后测试代码

测试代码&#xff1a; import pdal import tiledbdata "1.2-with-color.las"pipeline pdal.Reader.las(filenamedata).pipeline() print(pipeline.execute()) # 1065 points# Get the data from the first array # [array([(637012.24, 849028.31, 431.66, 143, …