嵌入式系統 2026/2/10
ESP32 智慧家居專案分享
使用 ESP32 打造自動化家居系統的完整教學,從硬體接線到網頁控制
#ESP32#IoT#MQTT#智慧家居
這篇文章要分享我最近完成的一個 ESP32 智慧家居專案,可以透過手機網頁控制家中的電燈和監測溫溼度。
專案架構
[感測器/繼電器] ←→ [ESP32] ←→ [MQTT Broker] ←→ [網頁後端] ←→ [手機/電腦]
硬體需求
- ESP32 DevKit
- DHT22 溫溼度感測器
- 繼電器模組 x2
- LED 燈條(用於示範)
- 麵包板與杜邦線
接線圖
| ESP32 | 元件 |
|---|---|
| GPIO 4 | DHT22 Data |
| GPIO 18 | Relay 1 (客廳燈) |
| GPIO 19 | Relay 2 (房間燈) |
| 3.3V | VCC |
| GND | GND |
程式碼重點
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 度自動開啟風扇)
進階功能
- 定時排程:使用 NTP 時間同步,設定定時開關
- 語音控制:整合 Google Assistant
- 數據記錄:將感測器資料儲存到雲端資料庫
結語
這個專案展示了 IoT 應用的基礎架構,從硬體到軟體都有完整的實作。希望這個分享能幫助你開始自己的智慧家居專案!
有問題歡迎在下方留言討論~