【ARDUINO】通過ESP8266連接WIFI,啟動TCP,接受TCP客戶端指令【測試中】

通過ESP8266連接WIFI,啟動TCP,接受TCP客戶端指令

  • **記錄**
    • `2025年9月8日11:20:37`
    • `2025年9月9日08:45:34`
    • `2025年9月11日21:40:22`
  • **代碼**

記錄

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重啟后為什么有時候一直打印亂碼?

【懷疑測試】

  1. 懷疑是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拉低關閉模塊}// 串口透傳邏輯(省略,參考之前的軟件串口代碼)
}
  1. 設置esp8266的命令使用永久命令

2025年9月11日21:40:22

【我的發現】

  1. ESP-01S到貨,經過測試確實比01穩定得多,01S雖然價格多幾塊,這里推薦01S,穩定而且還不用自己在EN和RST上加上拉電阻。
  2. 根據自己的場景需要,可以永久設置ESP8266的某些參數,比如模式和wifi密碼等參數,這樣在重啟或者斷點esp8266后,就直接設置臨時參數就可以了,比如需要啟動TCP服務的場景中,可以參考如下設置永久和臨時參數:
    先后設置永久參數:AT+CWMODE_DEF、AT+CWJAP_DEF
    然后臨時設置參數:AT+CIPMUX、AT+CIPSERVER
    這樣,即使斷點或者重啟了ESP8266,也可以自動連接WIFI,等連接后只需要臨時設定連接模式和啟動TCP。

【測試情況】
3. 測試了01S,在接線上,EN和RST直接接的公共3.3V
4. 與01S不通,在使用了透傳代碼后,可以直接看到ESP8266打印的信息,并且最后一行字是ready,才表示啟動成功。
5. 又同樣方法測試了01,無反應,估計是壞了。
6. 手動測試了AT指令都成功
7. 使用之前的代碼執行AT指令失敗,經過研究,最后修改sendCommand函數后成功了。
8. 在ES01上測試了上次的重啟ESP的代碼,感覺沒什么用,也有可能沒有測對,下次再測。

【等待測試】
9. 發送命令到ESP8266中的函數需要優化,因為在執行獲取IP的時候,只能讀取到MAC地址,讀取不了IP
10. 使用JAVA連接TCP服務器發送命令后,獲取ESP8266的返回打印。

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

代碼

通過ESP8266連接WIFI,啟動TCP,接受TCP客戶端指令的代碼:

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96640.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96640.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96640.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(網絡原理)核心知識回顧 網絡核心原理 get和post的理解 解析http 加密+請求和響應的一些關鍵字 Cookie和session 對密鑰的理解

目錄 核心知識回顧 網絡核心原理 get和post的理解 解析http 加密請求和響應的一些關鍵字 Cookie和session 對密鑰的理解 核心知識回顧 網絡編程---socket api UDP DatagramSocket DatagramPacket TCP ServerSocket Socket 1.讀寫數據通過Socket,通過Socket內置的 lnpu…

前端框架對比分析:離線PWA + Cloudflare Workers部署

目錄 概述 框架對比表格 詳細分析 1. Astro ????? **強烈推薦** 2. Next.js ???? **推薦** 3. Remix (現React Router) ????? **強烈推薦** 4. SvelteKit ???? **推薦** 5. Nuxt.js ??? **一般推薦** 6. Vite + React ??? **基礎選擇** 推薦方案 ?? …

9-10關于JS初學產生的問題

1.頁面添加加載完成事件監聽&#xff0c;頁面加載完成后&#xff0c;執行頁面初始化方法/函數; 這是什么意思 這句話描述的是前端開發中一種常見的操作&#xff1a;等待頁面完全加載完成后&#xff0c;再執行特定的初始化代碼。 簡單來說&#xff0c;就是要確保頁面上的所有元素…

項目中遇到pom文件里使用systemPath的例子記錄

項目中遇到pom文件里使用systemPath&#xff0c;很少見&#xff0c;問了下豆包&#xff0c;記錄下結果。在 Maven 的 pom.xml 中&#xff0c;<systemPath> 是 <dependency> 標簽內的一個可選配置&#xff0c;用于手動指定本地系統中某個依賴包&#xff08;通常是 J…

10、向量與矩陣基礎 - 深度學習的數學語言

學習目標:建立向量和矩陣的幾何直觀理解,掌握線性代數的核心概念,培養空間思維能力,為手搓大模型奠定扎實的數學基礎 想象一下,當你使用GPT進行對話時,每個詞匯都被轉換成高維向量,整個對話歷史變成一個巨大的矩陣。模型的"理解"過程,本質上就是在這個高維空…

【Python Tkinter】圖形用戶界面(GUI)開發及打包EXE指南

【Python Tkinter】圖形用戶界面&#xff08;GUI&#xff09;開發及打包EXE指南一、關于 Python Tkinter二、密碼生成器示例2.1 使用Python添加圖形用戶界面&#xff08;GUI&#xff09;2.2 使用工具PyInstaller將應用打包成exe文件三、總結一、關于 Python Tkinter Python Tk…

【設計模式】【觀察者模式】實例

一對多的統一監聽 —— 這就是 觀察者模式&#xff08;Observer Pattern&#xff09; 的經典應用場景。也就是說&#xff1a;一個事件源&#xff08;Subject&#xff09; → 可以注冊多個監聽器&#xff08;Observers&#xff09;&#xff1b;當事件發生時&#xff0c;一次性通…

C#測試調用OpenXml操作word文檔的基本用法

OpenXML SDK是微軟為高效處理Office文檔&#xff08;如Word、Excel&#xff09;而開發的開源.NET庫,它直接操作文檔內部的XML結構&#xff0c;無需安裝Office軟件即可實現文檔的創建、讀取和編輯,常用于服務器端批量生成報表、自動化文檔處理等場景&#xff0c;輕量且跨平臺。本…

照度傳感器考慮筆記

您好&#xff01;很高興為您解答關于照度計傳感器和設計的問題。這是一個非常專業且實際的話題。 一、照度計常用的照度傳感器類型 照度計的核心是光電探測器&#xff0c;其工作原理是將光信號轉換為電信號。目前主流的照度傳感器都屬于硅光電二極管&#xff08;Si Photodiode&…

C# Web API Mapster基本使用

安裝包&#xff1a;Mapster1.注冊MyRegister.Scan(); // 全局配置 //builder.Services.AddMapster(); // 需要安裝Mapster.DependencyInjection包 builder.Services.AddScoped<IMapper,Mapper>();2.配置&#xff08;可不進行配置直接使用也行&#xff09;public class My…

<數據集>無人機航拍人員搜救識別數據集<目標檢測>

數據集下載鏈接https://download.csdn.net/download/qq_53332949/91899456數據集格式&#xff1a;VOCYOLO格式 圖片數量&#xff1a;5755張 標注數量(xml文件個數)&#xff1a;5755 標注數量(txt文件個數)&#xff1a;5755 標注類別數&#xff1a;1 標注類別名稱&#xff…

STM32 開發(三十三)STM32F103 片內資源 —— 直接存儲 DMA 實戰 編碼詳解

??《上一篇》 ???《主目錄》 ???《下一篇》 文章目錄 一、基礎知識點 二、開發環境 三、STM32CubeMX相關配置 四、Vscode 代碼講解 ADC -DMA 采集溫度值 代碼解析 DAC -DMA 輸出 1KHZ 正弦波 代碼解析 五、結果演示 ADC -DMA 采集溫度值 結果演示 DAC -DMA 輸出 1KHZ 正…

Ip 地址,子網掩碼

1. 什么是 IP 地址&#xff1f;IP 地址是互聯網上設備的唯一標識&#xff0c;類似于現實中的“門牌號”&#xff0c;用于設備之間的通信。ABC類IP內網地址的范圍如下&#xff1a;A類地址&#xff1a;范圍是 10.0.0.0 到 10.255.255.255&#xff0c;用于大型網絡&#xff0c;網絡…

軟件工程領域內容運營的翻譯策略:打破語言邊界

軟件工程領域內容運營的翻譯策略:打破語言邊界 關鍵詞:軟件工程、內容運營、翻譯策略、技術本地化、術語管理、跨文化溝通、機器翻譯 摘要:在全球化協作日益緊密的今天,軟件工程領域的內容(如技術文檔、API手冊、開發者博客、開源社區指南等)早已突破單一語言限制,成為連…

元宇宙與金融創新:虛實融合下的金融服務新形態

1 元宇宙重構金融核心服務場景1.1 零售金融場景&#xff1a;從 “線下網點 線上 APP” 到 “沉浸式虛擬金融空間”傳統零售金融服務受限于物理網點或二維 APP&#xff0c;交互性與體驗感不足&#xff0c;元宇宙通過 “3D 虛擬金融空間 數字分身交互”&#xff0c;打造 “身臨…

信奧賽csp初賽高頻考點真題分類解析之:基本運算

信奧賽csp初賽高頻考點真題分類解析之:基本運算 ?題目1: 答案:C 題解:R進制轉換為十進制:按權展開 3 \times 8 1 ^1

PyTorch深度學習實戰【10】之神經網絡的損失函數

文章目錄零 回顧&#xff1a;機器學習中的模型訓練流程一 神經網絡的損失函數1.1 機器學習中的優化思想1.2 回歸&#xff1a;誤差平方和SSE1.3 二分類交叉熵損失的原理與實現1.3.1 極大似然估計求解二分類交叉熵損失1.3.2 實現二類交叉熵損失1.4 多分類交叉熵損失的原理與實現1…

人機協同中的層次映射關系研究:從自然語言處理到智能系統設計

一、引言&#xff1a;人機協同的層次化認知基礎人機協同作為人工智能領域的核心研究方向&#xff0c;正經歷從簡單工具使用到深度智能協作的范式轉變。在這一演進過程中&#xff0c;如何建立人類意圖與機器執行之間的有效映射關系成為關鍵挑戰。自然語言處理(NLP)領域中&#x…

2025主流大模型核心信息

2025主流大模型核心信息國際主流大模型1. GPT-5 (OpenAI)版本特性&#xff1a;多模態能力支持圖像、視頻、音頻的復雜理解與生成&#xff1b;超長上下文處理能力達1M tokens&#xff1b;推理能力接近專家水平優勢&#xff1a;綜合性能領先&#xff0c;編程能力強(SWE-bench Ver…

將容器連接到默認橋接網絡

1.列出當前已有的網絡[roothost1 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE db2f3a6af212 bridge bridge local 4251d9be020b host host local ba96ad98e029 none null local2.啟動兩個 ash &#xff08; Alpine 操作系…