學習筆記06|wifi介紹

ESP8266 WiFi 函式庫的 STA 與 AP 兩種模式介紹及開發流程

關於 ESP8266 的網路功能,我們主要會使用 Arduino 環境內建的 ESP8266WiFi.h 函式庫。它把底層的 TCP/IP 與 WiFi 協定封裝成直觀的指令,讓你不用從零處理封包或射頻調變,就能讓 NodeMCU 連網或發射熱點。

為了快速建立脈絡,這裡先用「流程思維」拆解這套函式庫的核心架構:


🔑 WiFi 函式庫的兩種基本模式

模式核心角色適用情境關鍵指令
STA
(Station)
客戶端 (Client)
像「手機連 WiFi」
• 連接家中路由器
• 上傳數據至雲端
• 需要互聯網環境
WiFi.begin(ssid, pwd);
AP
(Access Point)
基地台 (Server)
像「手機開熱點」
本專案採用
• 離線直連控制
• 無路由器環境
WiFi.softAP(ssid, pwd);

💡 小提醒:第三種模式為 STA+AP 混用。目前我們專注於 AP 模式,讓智慧車成為獨立的控制中心。


📖 深度解析:如何理解這兩種模式?

1. STA 模式:主動加入者 (The Joiner)

  • 生活類比:就像你的手機連接家裡的 WiFi
  • 運作邏輯
    • NodeMCU 是「客人」,必須知道路由器的名稱 (SSID) 和密碼。
    • 它會主動去敲門請求連線。如果沒有路由器,它就無法運作。
    • 優勢:連上後可通往互聯網(例如接收來自世界各地的指令)。
  • 電影院比喻:NodeMCU 拿著票根(密碼)主動走到櫃台,驗票員(路由器)確認後才放行進入電影院(外部網路)。

2. AP 模式:被動等待者 (The Host)

  • 生活類比:就像你的手機開啟個人熱點
  • 運作邏輯
    • NodeMCU 是「主人」,自己發射 WiFi 訊號。
    • 被動等待你的手機來搜尋並連接它。
    • 優勢:獨立運作,不依賴外部網路,適合近距離直接控制(如遙控車)。
  • 開店比喻:NodeMCU 開了一家店,掛上招牌 “CarWiFi”,坐在店裡等客人(手機)上門輸入密碼才能進來對話。

🧩 常見開發流程(無論 STA/AP 都適用)

  1. 引入與序列埠初始化#include <ESP8266WiFi.h> + Serial.begin(115200);
  2. 嘗試連線/建立熱點:呼叫 begin()softAP()
  3. 等待連線就緒:通常用 while(WiFi.status() != WL_CONNECTED) 或檢查 softAP 狀態
  4. 取得 IP 門牌WiFi.localIP()(STA)或 WiFi.softAPIP()(AP)
  5. 建立通訊端:例如 WiFiServer server(80); 用來監聽手機網頁發來的控制指令
comments powered by Disqus