• 方案介紹
    • 一、前言
    • 二、ESP8266問題解決
    • 三、ESP8266-WIFI介紹
    • 四、MQTT協(xié)議
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

ESP8266無法連接熱點(diǎn)的問題

03/18 08:49
2065
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

更多詳細(xì)資料請聯(lián)系.docx

共1個文件

一、前言

分享的很多項(xiàng)目里使用了ESP8266-WIFI模塊,通過WIFI模塊連接了物聯(lián)網(wǎng)平臺,利用MQTT協(xié)議完成數(shù)據(jù)通信。

ESP8266-WIFI模塊 要能夠正常上網(wǎng),需要上電之后,連接熱點(diǎn)(也就是可以上網(wǎng)的WIFI),然后它才可以連接互聯(lián)網(wǎng),才可以去連接MQTT服務(wù)器

那么這篇文章就是解決關(guān)于ESP8266-WIFI無法連接熱點(diǎn)或者硬件檢測錯誤的問題進(jìn)行處理。

二、ESP8266問題解決

2.1 ESP8266-WIFI模塊 購買

常見的ESP8266-WIFI就是下面的這款模塊。

image-20240703151855558

2.2 與STM32單片機(jī)連線

一般項(xiàng)目里,ESP8266-WIFI模塊與單片機(jī)的連線如下說明。

PA2----->ESP8266的RXD
PA3----->ESP8266的TXD
GND----->GND 地
VCC----->5.0V

要認(rèn)真檢查接線是否正確。

如果接線不正確,或者 模塊壞了。

那么顯示屏上會顯示ESP8266 ERROR。 或者 卡在WIFI Init 這樣的字樣。

再檢查一下電源模塊的接線,確認(rèn)電源是否正常:

https://blog.csdn.net/xiaolong1126626497/article/details/146071578

如果最終測試還是不行?

就按下面的視頻去測試下。

【ESP8266-WIFI模塊串口調(diào)試過程講解】


ESP8266-WIFI模塊串口調(diào)試過程講解

按下面的命令順序配置,測試WIFI的鏈接。 (串口調(diào)試助手記得勾選新行)

AT
ATE0
AT+CWMODE=1
AT+RST
ATE0
AT+CWLAP
AT+CWJAP="abc","12345678"
AT+CIPMUX=0
AT+CIPMODE=1
AT+CIPSTART="TCP","117.78.5.125",1883
AT+CIPSEND  

以下是每個指令的解釋:

(1)“ATrn”:這是用于測試ESP8266模塊是否正常工作的基本指令。發(fā)送此指令后,模塊應(yīng)該回復(fù) “OKrn”。

(2)“ATE0rn”:這個指令用于關(guān)閉回顯功能。當(dāng)回顯功能關(guān)閉時,模塊不會將接收到的指令發(fā)送回串口?;貜?fù) “OKrn” 表示指令執(zhí)行成功。

(3)“AT+CWMODE=1rn”:這個指令設(shè)置ESP8266模塊為STA(站點(diǎn))模式,即將其配置為連接到現(xiàn)有無線網(wǎng)絡(luò)的客戶端?;貜?fù) “OKrn” 表示指令執(zhí)行成功。

(4)“AT+RSTrn”:這個指令用于重啟ESP8266模塊。模塊將重新啟動并返回 “readyrn” 表示準(zhǔn)備就緒。

(5)“ATE0rn”:同第二條指令一樣,這個指令再次關(guān)閉回顯功能。

(6)“AT+CWLAPrn”:這個指令用于查詢附近可連接的無線網(wǎng)絡(luò)。模塊將返回一個列表,包含可用網(wǎng)絡(luò)的信息。

(7)“AT+CWJAP=“abc”,“12345678”rn”:這個指令用于連接到指定的無線網(wǎng)絡(luò)。在此示例中,通過SSID為 “abc” 的無線網(wǎng)絡(luò),并使用密碼 “12345678” 進(jìn)行連接?;貜?fù) “OKrn” 表示指令執(zhí)行成功。

(8)“AT+CIPMUX=0rn”:這個指令用于禁用多連接模式?;貜?fù) “OKrn” 表示指令執(zhí)行成功。

(9)“AT+CIPMODE=1rn”:這個指令用于設(shè)置傳輸模式為透明傳輸模式。在透明傳輸模式下,ESP8266模塊將直接將串口數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)連接中?;貜?fù) “OKrn” 表示指令執(zhí)行成功。

(10)“AT+CIPSTART=“TCP”,“117.78.5.125”,1883rn”:這個指令用于建立與指定TCP服務(wù)器的連接。在此示例中,將與IP地址為 “117.78.5.125”、端口號為1883的服務(wù)器建立連接。回復(fù) “OKrn” 表示指令執(zhí)行成功。

(11)“AT+CIPSENDrn”:這個指令用于發(fā)送數(shù)據(jù)到已建立的TCP連接。發(fā)送此指令后,模塊將進(jìn)入發(fā)送模式,并等待用戶輸入要發(fā)送的數(shù)據(jù)??梢酝ㄟ^向模塊發(fā)送數(shù)據(jù)來進(jìn)行通信。

如果測試也還是不行,就只能重新買新的模塊了。

2.3 熱點(diǎn)如何設(shè)置?

ESP8266-WIFI模塊只能連接2.4GHZ的WIFI熱點(diǎn)。

如果你是用手機(jī)開啟熱點(diǎn),那么設(shè)置一定要正確。

image-20250317162226791

如果正常設(shè)置了還是連接不上。 就按下面的截圖這樣設(shè)置。再去測試。

也就是關(guān)閉安全性,不要設(shè)置密碼(單片機(jī)的代碼不用改)。

image-20250317162019026

2.4 正常的WIFI上電過程如下


ESP8266WIFI+OLED顯示屏演示上云初始化過程

三、ESP8266-WIFI介紹

ESP8266是一款低成本、高性能的Wi-Fi模塊,由樂鑫科技(Espressif Systems)開發(fā)。其核心是一顆集成了32位Tensilica L106微處理器芯片,主頻可達(dá)80MHz或160MHz(超頻模式),同時內(nèi)置了Wi-Fi通信功能和TCP/IP協(xié)議棧。該模塊支持IEEE 802.11 b/g/n無線標(biāo)準(zhǔn),工作頻段為2.4GHz,能夠?qū)崿F(xiàn)STA(客戶端)、AP(熱點(diǎn))或STA+AP混合模式,適合構(gòu)建物聯(lián)網(wǎng)設(shè)備的無線連接。

模塊通過串口(UART)與主控設(shè)備通信,支持AT指令集,可快速實(shí)現(xiàn)網(wǎng)絡(luò)配置與數(shù)據(jù)傳輸。開發(fā)者也可直接在其上編程,利用豐富的SDK開發(fā)包或第三方平臺(如Arduino、Lua、MicroPython)進(jìn)行深度開發(fā),無需外接主控芯片。其GPIO、PWMI2C、SPI等接口擴(kuò)展了傳感器、顯示屏等外設(shè)的連接能力,適用于智能家居、遠(yuǎn)程監(jiān)控等場景。

ESP8266的供電電壓為3.3V,典型功耗在持續(xù)工作時約80mA,支持深度睡眠模式(電流低至20μA),適合電池供電設(shè)備。模塊尺寸小巧,常見封裝包括ESP-01、ESP-12E等,不同型號對應(yīng)不同引腳數(shù)量和板載天線設(shè)計(如PCB天線或外接天線接口)。

開源生態(tài)系統(tǒng)和活躍的社區(qū)支持(如ESP-Open-SDK、PlatformIO)降低了開發(fā)門檻。通過OTA(空中升級)功能可遠(yuǎn)程更新固件,而內(nèi)置的Flash存儲器(通常4MB)支持程序存儲與文件系統(tǒng)。盡管存在內(nèi)存限制和并發(fā)處理能力較弱的問題,但其性價比仍使其成為物聯(lián)網(wǎng)入門級項(xiàng)目的首選方案之一。

四、MQTT協(xié)議

MQTT(Message Queuing Telemetry Transport)是一種輕量級的即時通信協(xié)議,專為低帶寬、高延遲或不穩(wěn)定的網(wǎng)絡(luò)環(huán)境設(shè)計,尤其適用于物聯(lián)網(wǎng)(IoT)場景。其核心采用發(fā)布/訂閱(Pub/Sub)模式,通過**主題(Topic)**實(shí)現(xiàn)消息的過濾與路由,發(fā)布者(Publisher)將消息發(fā)送到指定主題,訂閱者(Subscriber)通過訂閱主題接收相關(guān)消息,代理服務(wù)器(Broker)負(fù)責(zé)中轉(zhuǎn)和管理通信過程。這種機(jī)制有效解耦了設(shè)備間的直接依賴,提升了系統(tǒng)的靈活性和擴(kuò)展性。

MQTT協(xié)議定義了三種服務(wù)質(zhì)量等級(QoS):QoS 0(最多一次,不保證送達(dá))、QoS 1(至少一次,需確認(rèn))和QoS 2(恰好一次,嚴(yán)格確保可靠性),開發(fā)者可根據(jù)場景需求平衡效率與可靠性。協(xié)議頭部極簡,最小僅需2字節(jié),顯著降低了網(wǎng)絡(luò)開銷。同時,MQTT支持心跳機(jī)制(Keep Alive),用于維持長連接并檢測設(shè)備狀態(tài)異常,還提供**遺囑消息(Last Will)**功能,可在設(shè)備意外離線時自動通知其他客戶端。

安全性方面,MQTT支持基于SSL/TLS的加密通信,以及用戶名/密碼認(rèn)證,但需開發(fā)者主動配置以規(guī)避未授權(quán)訪問風(fēng)險。協(xié)議本身無狀態(tài),但可通過Clean Session標(biāo)志控制是否保留會話信息(如未完成的消息隊列)。其輕量化特性使其廣泛應(yīng)用于智能家居、工業(yè)傳感器、車聯(lián)網(wǎng)等場景,例如遠(yuǎn)程設(shè)備監(jiān)控、實(shí)時數(shù)據(jù)采集與推送。

MQTT協(xié)議的常見實(shí)現(xiàn)包括開源代理服務(wù)器Mosquitto、EMQ X,以及客戶端庫如Eclipse Paho。2019年發(fā)布的MQTT 5.0版本新增了會話過期、原因碼、共享訂閱等功能,進(jìn)一步優(yōu)化了大規(guī)模部署能力。盡管協(xié)議簡單,其設(shè)計哲學(xué)“以最少資源實(shí)現(xiàn)可靠通信”使其成為物聯(lián)網(wǎng)領(lǐng)域事實(shí)上的標(biāo)準(zhǔn)協(xié)議之一。

  • 更多詳細(xì)資料請聯(lián)系.docx
    下載

相關(guān)推薦