<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>STA on Wentong's blog</title><link>https://wentong-wenz.hksa-stu.uk/tags/sta/</link><description>Recent content in STA on Wentong's blog</description><generator>Hugo -- gohugo.io</generator><language>zh-tw</language><lastBuildDate>Tue, 26 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://wentong-wenz.hksa-stu.uk/tags/sta/index.xml" rel="self" type="application/rss+xml"/><item><title>學習筆記06｜wifi介紹</title><link>https://wentong-wenz.hksa-stu.uk/p/esp8266-wifi-intro-06/</link><pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate><guid>https://wentong-wenz.hksa-stu.uk/p/esp8266-wifi-intro-06/</guid><description>&lt;p&gt;關於 ESP8266 的網路功能，我們主要會使用 Arduino 環境內建的 &lt;code&gt;ESP8266WiFi.h&lt;/code&gt; 函式庫。它把&lt;u&gt;底層的 TCP/IP 與 WiFi 協定封裝成直觀的指令&lt;/u&gt;，讓你不用從零處理封包或射頻調變，就能讓 NodeMCU 連網或發射熱點。&lt;/p&gt;
&lt;p&gt;為了快速建立脈絡，這裡先用「流程思維」拆解這套函式庫的核心架構：&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="-wifi-函式庫的兩種基本模式"&gt;🔑 WiFi 函式庫的兩種基本模式
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: left"&gt;模式&lt;/th&gt;
 &lt;th style="text-align: left"&gt;核心角色&lt;/th&gt;
 &lt;th style="text-align: left"&gt;適用情境&lt;/th&gt;
 &lt;th style="text-align: left"&gt;關鍵指令&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;STA&lt;/strong&gt;&lt;br&gt;(Station)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;客戶端 (Client)&lt;/strong&gt;&lt;br&gt;像「手機連 WiFi」&lt;/td&gt;
 &lt;td style="text-align: left"&gt;• 連接家中路由器&lt;br&gt;• 上傳數據至雲端&lt;br&gt;• 需要互聯網環境&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;WiFi.begin(ssid, pwd);&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;AP&lt;/strong&gt;&lt;br&gt;(Access Point)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;基地台 (Server)&lt;/strong&gt;&lt;br&gt;像「手機開熱點」&lt;/td&gt;
 &lt;td style="text-align: left"&gt;• &lt;strong&gt;本專案採用&lt;/strong&gt;&lt;br&gt;• 離線直連控制&lt;br&gt;• 無路由器環境&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;WiFi.softAP(ssid, pwd);&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;💡 &lt;strong&gt;小提醒&lt;/strong&gt;：第三種模式為 STA+AP 混用。目前我們專注於 &lt;strong&gt;AP 模式&lt;/strong&gt;，讓智慧車成為獨立的控制中心。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3 id="-深度解析如何理解這兩種模式"&gt;📖 深度解析：如何理解這兩種模式？
&lt;/h3&gt;&lt;h4 id="1-sta-模式主動加入者-the-joiner"&gt;1. STA 模式：主動加入者 (The Joiner)
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;生活類比&lt;/strong&gt;：就像你的&lt;strong&gt;手機連接家裡的 WiFi&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;運作邏輯&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;NodeMCU 是「客人」，必須知道路由器的名稱 (SSID) 和密碼。&lt;/li&gt;
&lt;li&gt;它會&lt;strong&gt;主動&lt;/strong&gt;去敲門請求連線。如果沒有路由器，它就無法運作。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;優勢&lt;/strong&gt;：連上後可通往互聯網（例如接收來自世界各地的指令）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;電影院比喻&lt;/strong&gt;：NodeMCU 拿著票根（密碼）主動走到櫃台，驗票員（路由器）確認後才放行進入電影院（外部網路）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-ap-模式被動等待者-the-host"&gt;2. AP 模式：被動等待者 (The Host)
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;生活類比&lt;/strong&gt;：就像你的&lt;strong&gt;手機開啟個人熱點&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;運作邏輯&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;NodeMCU 是「主人」，自己發射 WiFi 訊號。&lt;/li&gt;
&lt;li&gt;它&lt;strong&gt;被動等待&lt;/strong&gt;你的手機來搜尋並連接它。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;優勢&lt;/strong&gt;：獨立運作，不依賴外部網路，適合近距離直接控制（如遙控車）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;開店比喻&lt;/strong&gt;：NodeMCU 開了一家店，掛上招牌 &amp;ldquo;CarWiFi&amp;rdquo;，坐在店裡等客人（手機）上門輸入密碼才能進來對話。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-常見開發流程無論-staap-都適用"&gt;🧩 常見開發流程（無論 STA/AP 都適用）
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;引入與序列埠初始化&lt;/strong&gt;：&lt;code&gt;#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;/code&gt; + &lt;code&gt;Serial.begin(115200);&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;嘗試連線/建立熱點&lt;/strong&gt;：呼叫 &lt;code&gt;begin()&lt;/code&gt; 或 &lt;code&gt;softAP()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;等待連線就緒&lt;/strong&gt;：通常用 &lt;code&gt;while(WiFi.status() != WL_CONNECTED)&lt;/code&gt; 或檢查 &lt;code&gt;softAP&lt;/code&gt; 狀態&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;取得 IP 門牌&lt;/strong&gt;：&lt;code&gt;WiFi.localIP()&lt;/code&gt;（STA）或 &lt;code&gt;WiFi.softAPIP()&lt;/code&gt;（AP）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;建立通訊端&lt;/strong&gt;：例如 &lt;code&gt;WiFiServer server(80);&lt;/code&gt; 用來監聽手機網頁發來的控制指令&lt;/li&gt;
&lt;/ol&gt;</description></item></channel></rss>