← 返回筆記
嵌入式系統 2026/2/10

ESP32 智慧家居專案分享

使用 ESP32 打造自動化家居系統的完整教學,從硬體接線到網頁控制

#ESP32#IoT#MQTT#智慧家居

這篇文章要分享我最近完成的一個 ESP32 智慧家居專案,可以透過手機網頁控制家中的電燈和監測溫溼度。

專案架構

[感測器/繼電器] ←→ [ESP32] ←→ [MQTT Broker] ←→ [網頁後端] ←→ [手機/電腦]

硬體需求

  • ESP32 DevKit
  • DHT22 溫溼度感測器
  • 繼電器模組 x2
  • LED 燈條(用於示範)
  • 麵包板與杜邦線

接線圖

ESP32元件
GPIO 4DHT22 Data
GPIO 18Relay 1 (客廳燈)
GPIO 19Relay 2 (房間燈)
3.3VVCC
GNDGND

程式碼重點

WiFi 連線

WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
  delay(500);
  Serial.print(".");
}

MQTT 訊息處理

void callback(char* topic, byte* payload, unsigned int length) {
  String message = "";
  for (int i = 0; i < length; i++) {
    message += (char)payload[i];
  }
  
  if (String(topic) == "home/livingroom/light") {
    digitalWrite(RELAY1_PIN, message == "ON" ? HIGH : LOW);
  }
}

網頁介面

使用簡單的 HTML + JavaScript 建立控制面板:

  • 即時溫溼度顯示
  • 燈光開關按鈕
  • 自動化規則設定(例如:溫度超過 28 度自動開啟風扇)

進階功能

  1. 定時排程:使用 NTP 時間同步,設定定時開關
  2. 語音控制:整合 Google Assistant
  3. 數據記錄:將感測器資料儲存到雲端資料庫

結語

這個專案展示了 IoT 應用的基礎架構,從硬體到軟體都有完整的實作。希望這個分享能幫助你開始自己的智慧家居專案!

有問題歡迎在下方留言討論~