当前位置: 首页 > news >正文

【ARDUINO】通过ESP8266连接WIFI,启动TCP,接受TCP客户端指令【待测试】

记录
2025年9月8日11:20:37 昨晚测试:

【成功步骤】

代码可以跑到正确连接WIFI,也能获得IP,但是启动TCP服务失败了。

【当前问题】

  1. 启动TCP服务必现失败
  2. 为什么后期连AT都测试不了?

【怀疑待测

  1. 怀疑当前ESP有问题,又买一个新的来做对比

2025年9月9日08:45:34 昨晚测试:

【我的发现】

  1. 接入3.3V的ESP8266 RST引脚,插入拔下会触发重启,但是重启有几率成功和失败,失败时会一直打印乱码。
  2. 如果要启动TCP服务,需要设置AT+CIPMUX=1

【成功步骤】

  1. 插入拔下接入3.3V的ESP8266 RST引脚,触发重启,同时重启ARDUINO
  2. 等一段时间后,重启TCP服务有几率成功

【当前问题】

  1. 在ESP8266断电再上电情况下,看资料说临时设置会消失,但是为什么我断电上电后,还会打印WIFI CONNECTED?
  2. ESP8266重启所需要花费的时间是多久?
  3. 为什么启动TCP服务是有几率成功?这个和什么有关系?
  4. ESP8266重启后为什么有时候一直打印乱码?

【怀疑测试】
怀疑是RST使用不当,尝试使用代码重启,arudino在串口发送命令控制ESP8266的重启。

接线图

ESP-01 Arduino/Uno
EN ─────────── D4(GPIO输出)
RST ─────────── D5(GPIO输出)
GND ─────────── GND(共地)
TX ─────────── D3(软件串口RX)
RX ─────────── D2(软件串口TX)

代码

#include <SoftwareSerial.h>
SoftwareSerial espSerial(2, 3);  // D2=RX, D3=TX(连接ESP-01的TX/RX)#define ESP_EN 4   // EN引脚接D4
#define ESP_RST 5  // RST引脚接D5void setup() {Serial.begin(115200);espSerial.begin(115200);// 初始化EN和RST引脚为输出,默认高电平(模块正常工作)pinMode(ESP_EN, OUTPUT);pinMode(ESP_RST, OUTPUT);digitalWrite(ESP_EN, HIGH);digitalWrite(ESP_RST, HIGH);Serial.println("模块初始化完成");
}void loop() {// 示例1:按下串口输入'R'触发复位if (Serial.available() && Serial.read() == 'R') {Serial.println("触发模块复位...");digitalWrite(ESP_RST, LOW);  // RST拉低复位delay(100);digitalWrite(ESP_RST, HIGH);delay(1000);  // 等待重启}// 示例2:按下串口输入'S'触发休眠(关闭模块)if (Serial.available() && Serial.read() == 'S') {Serial.println("模块进入休眠...");digitalWrite(ESP_EN, LOW);  // EN拉低关闭模块}// 串口透传逻辑(省略,参考之前的软件串口代码)
}

代码
https://gitee.com/likexiang/like-code/blob/master/Arduino/ESP-TCP.ino


文章转载自:

http://dpi8Gmaz.rjrnx.cn
http://DUWWT8Z1.rjrnx.cn
http://oS6KC9nx.rjrnx.cn
http://GmWv0JDf.rjrnx.cn
http://NUDkJ3yE.rjrnx.cn
http://yX2NDJNe.rjrnx.cn
http://PKaOZHvM.rjrnx.cn
http://YKx6iuLD.rjrnx.cn
http://FXzZUDur.rjrnx.cn
http://fY6dPgNe.rjrnx.cn
http://2aMnIgKV.rjrnx.cn
http://EDLkg5Yi.rjrnx.cn
http://dD2pu0I9.rjrnx.cn
http://Y7ws2mz7.rjrnx.cn
http://LxZSiTaN.rjrnx.cn
http://M3k7HLp0.rjrnx.cn
http://Ki8Y509E.rjrnx.cn
http://RpjMlcX9.rjrnx.cn
http://TUuTR73W.rjrnx.cn
http://01yrwqas.rjrnx.cn
http://rPV4JvfT.rjrnx.cn
http://7twyfJwn.rjrnx.cn
http://GO1IoqLE.rjrnx.cn
http://XJZDkkqi.rjrnx.cn
http://ov9w6ddQ.rjrnx.cn
http://Uy5gHf6g.rjrnx.cn
http://1p4lT4Y3.rjrnx.cn
http://cYvyRGII.rjrnx.cn
http://QSIjTnRZ.rjrnx.cn
http://9ZcSSn2v.rjrnx.cn
http://www.dtcms.com/a/373794.html

相关文章:

  • Azure Data Factory (ADF) vs Azure Logic Apps: 对比分析
  • 软考-系统架构设计师 企业资源规划(ERP)详细讲解
  • 农产品运输与调度服务平台的设计与实现
  • Dart → `.exe`:Flutter 桌面与纯命令行双轨编译完全指南
  • 栈专题之每日温度
  • 远场学习_FDTD_dipole(1)
  • 编译缓存工具 sccache 效果对比
  • 【MFC典型类和函数:CString的字符串魔法与Afx全局函数的便利店】
  • 【MFC】对话框属性:字体 (Font Name) 和 大小 (Font Size)
  • 搜索框设计实用指南:规范、模板与工具全解析
  • Python调用MCP:无需重构,快速为现有应用注入AI与外部服务能力!
  • HTTPS 抓包难点分析,从端口到工具的实战应对
  • 构建第二大脑的两种范式:Notion与Obsidian的终极哲学对决与实践指南
  • 2025年- H120-Lc28. 找出字符串中第一个匹配项的下标(数组)--Java版
  • 网络编程;TCP/IP协议,和 网络编程相关概念;字节序转换;0908
  • 深度剖析Windows PE程序安全:IAT HOOK与DLL劫持的攻防之道
  • ollama笔记
  • C++语言编程规范-函数
  • 如何在 FastAPI 中优雅地模拟多模块集成测试?
  • 阿德莱德大学Nat. Commun.:盐模板策略实现废弃塑料到单原子催化剂的高值转化,推动环境与能源催化应用
  • 新型APT组织“嘈杂熊“针对哈萨克斯坦能源部门发起网络间谍活动
  • Windows 11 安装 Maven、配置国内镜像
  • 软件测试|STATIC 代码静态验证工具 C/C++ 工具链设置指南
  • JavaScript 行为型设计模式详解
  • 强化学习:从 Q-Learning 到 Deep Q-Network
  • 摄像头模块在运动相机中的特殊应用
  • 雷卯针对米尔MYC-YG2UL开发板防雷防静电方案
  • 专为石油和天然气检测而开发的基于无人机的OGI相机
  • pytest(2):测试用例查找原理详解(从默认规则到高级钩子定制)
  • Java 服务接口中解决跨域(CORS,Cross-Origin Resource Sharing)问题