用ESP-01S與DHT11打造WiFi溫度感測器
By Kunkune | Published: 2026-10-21
Category: 操作指南
了解如何接線和編程 ESP-01S 與 DHT11,以建立一個簡單的 WiFi 溫濕度監測器。逐步指南,包含常見陷阱。
快速解答
將 DHT11 的資料接腳接至 ESP-01S 上的 GPIO2,以 3.3V 電源供電給兩個模組,並上傳可讀取感測器資料並透過 WiFi 提供資料的程式碼。
為何 GPIO2 可行以及注意事項
ESP-01S 僅提供兩個可用的 GPIO 接腳:GPIO0 和 GPIO2。GPIO0 在開機期間必須拉高,因此不適合做為感測器資料線。GPIO2 也需要拉高,但若在接腳與 3.3V 之間加入 4.7kΩ 電阻,則可與 DHT11 資料線共用。這是此模組最可靠的單接腳設定。
一個常見的錯誤是將 DHT11 的資料接腳直接連接到 GPIO0。這通常會導致 ESP-01S 無法正常開機。請堅持使用 GPIO2,並確認您的拉高電阻已就位。
逐步建置指南
- 接線模組: 將 ESP-01S 和 DHT11 模組的 VCC 和 GND 連接到 3.3V 電源。將 DHT11 的資料接腳連接到 ESP-01S 上的 GPIO2。若您的 DHT11 模組未內建拉高電阻,請在 GPIO2 與 3.3V 之間加入 4.7kΩ 拉高電阻。 請確認您使用的是 3.3V,而非 5V,否則可能損壞 ESP-01S。
- 準備 Arduino IDE: 透過板管理員安裝 ESP8266 板套件。選擇 'Generic ESP8266 Module' 作為板。將 Flash Size 設為 '1M (64K SPIFFS)',Upload Speed 設為 115200。安裝 Adafruit 的 DHT 感測器函式庫。 錯誤的 flash size 設定可能導致上傳失敗。請為 ESP-01S 堅持使用 1M (64K SPIFFS)。
- 撰寫並上傳程式: 以 DHT 函式庫範例 'DHTtester' 為基礎。將 DHT 接腳改為 2 (GPIO2),DHT 類型改為 DHT11。使用 ESP8266WiFi 函式庫加入 WiFi 連線程式碼。可選擇建立一個簡單的網頁伺服器,以純文字或 JSON 格式回傳溫度和濕度。 若上傳失敗,請在啟動模組時將 GPIO0 拉低(連接到 GND),然後在上傳開始後放開。
- 測試感測器讀數: 以 115200 鮑率開啟序列埠監控。您應每隔幾秒看到溫度和濕度數值。若看到 'NaN' 或 'Failed to read',請檢查接線和拉高電阻。 NaN 讀數的常見原因是資料線上缺少或不正確的拉高電阻。
- 透過 WiFi 存取資料: ESP-01S 連線到您的網路後,會將其 IP 位址列印到序列埠監控。若您已加入網頁伺服器,請在瀏覽器中輸入該 IP 以檢視感測器資料。若要遠端存取,請在路由器上轉發連接埠,或使用雲端 IoT 平台。 ESP-01S 記憶體有限;避免同時執行過多服務,否則可能當機。
您需要的零件
- DHT11 溫度感測器模組 8266 搭配 ESP-01S: DHT11 溫度感測器模組 8266 此模組包含 DHT11 感測器和內建拉高電阻,可簡化與 ESP-01S 的接線。

DHT11 溫度感測器模組 8266 搭配 ESP-01S - ESP-01S WiFi 模組: ESP-01S ESP8266 WiFi 模組 其小巧尺寸和兩個可用的 GPIO 使其成為低成本 WiFi 溫度感測器的實用選擇,但您必須仔細規劃接腳分配。

ESP-01S WiFi 模組

