STM32F103C8T6连接ESP-01S实现WiFi通信:TCP客户端开发实战(一)
文章目录一、前言二、ESP-01S的介绍三、ESP-01S WiFi模块的常用AT指令四、ESP-01S WiFi模块通讯前测试五、常见问题一、前言ESP-01S是一款非常常见的ESP8266 WiFi模块。对于刚接触STM32和WiFi通信的新手来说可能会觉得WiFi通信比较复杂STM32不会WiFi怎么办其实我们不需要让STM32直接处理WiFi协议。最简单的方法就是STM32F103负责串口通信ESP-01S负责WiFi通信。STM32通过串口发送AT指令给ESP-01SESP-01S收到指令以后完成WiFi连接、TCP连接等工作。整个通信过程可以理解为STM32F103C8T6UART —— ESP-01SWiFi —— 无线路由器TCP —— 电脑TCP服务器最终实现的功能STM32F103通过串口控制ESP-01SESP-01S连接WiFiESP-01S连接电脑TCP服务器STM32向电脑发送数据电脑向STM32发送数据STM32接收电脑发送的数据实现STM32与电脑之间的双向TCP通信二、ESP-01S的介绍ESP-01S 是由安信可科技开发的Wi-Fi模块该模块核心处理器 ESP8266 在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU带有 16 位精简模式主频支持 80 MHz 和 160 MHz支持 RTOS集成 Wi-Fi MAC/ BB/RF/PA/LNESP-01S Wi-Fi 模块支持标准的 IEEE802.11 b/g/n 协议完整的 TCP/IP 协议栈。用户可以使用该模块为现有的设备添加联网功能也可以构建独立的网络控制器。注意ESP-01S 的 IO0、RST 和 EN 引脚内置上拉ESP-01 则没有需要自己上拉到VCC。ESP-01S WiFi模块一般出厂都会烧录有AT固件直接接串口就可以使用。虽然烧录有AT固件但自己需要知道如何去烧录固件。如何烧录固件可以参考这篇文章《ESP-01/01S 烧录固件》拿到ESP-01S WiFi模块不要急着连接到STM32去通讯先对ESP-01S WiFi模块进行简单测试如果没问题再与STM32连接否则白忙活一场。三、ESP-01S WiFi模块的常用AT指令指令作用AT测试 AT 启动ATRST重启模块ATGMR查询版本信息ATRESTORE恢复出⼚设置ATSLEEP设置 sleep 模式0禁⽤休眠模式 1Light-sleep 模式2Modem-sleep 模式ATCWMODE设置 Wi-Fi 模式1Station 模式 2SoftAP 模式 3SoftAPStation 模式ATCWJAP连接WiFiATCWLAP扫描当前可⽤的 WiFiATCWQAP断开与 WiFi 的连接ATCWSAP配置 ESP8266 SoftAP 当前参数ATCWLIF查询连接到SoftAP的Station信息ATCIPSTATUS查询⽹络连接信息ATCIPSTART建⽴ TCP 连接UDP 传输或 SSL 连接ATCIPMUX设置连接模式0单连接1多连接ATCIPSEND发送TCP数据。注意透传传输数据时AT指令不起作用ATCIPCLOSE关闭 TCP/UDP/SSL 传输ATCIFSR查询本地 IP 地址ATCIPSERVER建⽴ TCP 服务器0关闭服务器 1建⽴服务器ATCIPMODE设置传输模式 0普通传输模式 1透传模式仅⽀持 TCP 单连接和 UDP 固定通信对端的情况退出透传模式不能加换行四、ESP-01S WiFi模块通讯前测试ESP-01S WiFi模块与USB转TTL连接烧录完AT固件后打开串口调试助手串口有返回ready表示AT固件烧录成功。然后发送AT指令串口能正常响应信息ESP-01S WiFi模块一般表示没问题。详细测试可参考以下五、常见问题ESP-01S发送AT指令没有响应答首先检查接线有没有接错TX接RXRX接TX然后确认波特率和端口号是否正确。ESP-01S发送AT指令报错答1检查对应指令是否需要对应模式如ATCWLAP指令需要在Station 模式或SoftAPStation 模式使用否则会报错。2AT固件不是该指令有些指令能正常响应有些指令响应ERROR一般为固件不支持需要升级固件。ESP不断重启答一般为电源能力不足换功率大点的电源供电。WiFi连接不上答检查WiFi名称和密码是否正确ESP-01S只支持2.4G网络如果如果你的路由器是5GHz网络ESP-01S无法正常连接。以上简单介绍ESP-01S常用指令和测试好坏说明下一篇文章将实现STM32F103C8T6与ESP-01S的WiFi通讯。

相关新闻

Unity 2021.3 + PICO SDK 2.3.0:从零搭建可交互VR场景的保姆级指南

Unity 2021.3 + PICO SDK 2.3.0:从零搭建可交互VR场景的保姆级指南

1. 项目概述:为什么选择这个技术栈?如果你刚拿到一台PICO VR一体机,或者对Unity开发有些基础,想试试VR但不知道从哪下手,那这篇内容就是为你准备的。我最近用Unity 2021.3.27f1 LTS(长期支持版)…

2026/10/8 10:53:21 阅读更多 →
Unity MonoBehavior生命周期全解析:从Awake到OnDestroy的实战指南

Unity MonoBehavior生命周期全解析:从Awake到OnDestroy的实战指南

1. 项目概述:为什么MonoBehavior是Unity开发的基石 如果你刚开始接触Unity,或者已经写过一些简单的脚本,那么“MonoBehavior”这个名字你一定不陌生。它几乎是每个Unity脚本的起点,是连接你的C#代码与Unity引擎世界的桥梁。但很多…

2026/10/8 21:01:44 阅读更多 →
技术协作中的配置覆盖策略:从多语言冲突到工程化统一

技术协作中的配置覆盖策略:从多语言冲突到工程化统一

最近在整理一些老项目的技术文档时,我遇到了一个典型的“历史包袱”问题:一个遗留系统里,某个核心模块的配置项命名是日文的“オーバーライド”,而新开发的自动化脚本和CI/CD流程里,用的却是英文的“Override”。两边代…

2026/10/8 22:10:14 阅读更多 →

最新新闻

846张电动车遮阳篷数据集:VOC与YOLO双格式目标检测训练实践

846张电动车遮阳篷数据集:VOC与YOLO双格式目标检测训练实践

简介:面向目标检测与智慧交通场景,这份电动车、摩托车非法加装遮阳篷检测数据集包含846张真实拍摄图像,已按Pascal VOC与YOLO两种格式完成标注,并划分motor、motor-jz、motor-z三个类别,分别对应普通摩托车、加装遮阳篷…

2026/10/11 7:08:38 阅读更多 →
基于Python实现网络拓扑实验:从邻接矩阵到可视化与鲁棒性分析

基于Python实现网络拓扑实验:从邻接矩阵到可视化与鲁棒性分析

简介:这份资源面向计算机网络课程学习者与实验实践者,围绕基于Python的网络拓扑实验展开,重点解决传输机制实验中拓扑运行与文件收发功能的实现问题。包内共96个文件,以C源码与头文件为主体(28个.c、40个.h&#xff09…

2026/10/11 7:08:38 阅读更多 →
Shell 编程流程控制全实战|曼巴精神打磨运维自动化核心功

Shell 编程流程控制全实战|曼巴精神打磨运维自动化核心功

文章目录一、if 条件语句|运维最常用的判断三种结构1. 单分支:满足就干2. 双分支:满足干这个,不满足干那个3. 多分支:多个条件挨个匹配条件表达式的五种写法生产经典实战示例 1:监控 sshd 服务,…

2026/10/11 7:08:38 阅读更多 →
喜鹊DLSS5与RESHADE模拟DLSS5技术路线深度对比

喜鹊DLSS5与RESHADE模拟DLSS5技术路线深度对比

1. 项目概述:一场关于画质增强技术实现路径的实测对话最近在多个图形技术交流群和硬件爱好者论坛里,频繁看到“喜鹊DLSS5”和“RESHADE渲染中DLSS5”这两个词被并列讨论,甚至有人直接打出“喜鹊大胜特胜,谁说外置不如注入&#xf…

2026/10/11 7:08:38 阅读更多 →
鸿蒙端侧AI导览实战:离线多模态智能导游开发指南

鸿蒙端侧AI导览实战:离线多模态智能导游开发指南

1. 项目概述:一次真实可复现的端侧AI导览实践“鸿蒙AI:国庆我在故宫用了把‘AI 导游’”——这个标题不是营销噱头,而是我今年国庆假期在某历史文化园区实测落地的一个轻量级智能导览原型。它不依赖云端API调用、不上传用户位置与语音、不联网…

2026/10/11 7:08:38 阅读更多 →
C++内存模型精讲:从内存区域到多线程并发语义

C++内存模型精讲:从内存区域到多线程并发语义

面试现场被问到“C内存模型”或者“内存区域”这类题目时,我见过太多候选人第一反应就是开始背栈、堆、全局区、常量区、代码区。背完之后,面试官如果追问一句“那内存模型和内存区域有什么区别”,现场通常会安静两三秒,然后就开始…

2026/10/11 7:07:38 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →