ESP32 雙核心控制 LED 與 DHT22 溫濕度感測器 (Wokwi 模擬) EX4 -- Telegram
這是一個結合 Wokwi、ESP32、DHT22 與 Telegram 的雙核心應用,包含以下功能:
功能總覽
-
LED 控制模式(4 種):
-
on: 常亮 -
off: 關閉 -
flash: 閃爍 -
timer: 亮 10 秒後自動關閉
-
-
讀取 DHT22 溫濕度資料
-
透過 Telegram Bot 控制 LED 與查詢溫濕度
-
使用 ESP32 雙核心:
🧠 EEPROM 儲存策略
-
使用 EEPROM 儲存 LED 模式字串,例如:on、off、flash、timer
-
開機讀取 EEPROM 恢復 LED 模式
使用 EEPROM 儲存 LED 模式字串,例如:on、off、flash、timer
開機讀取 EEPROM 恢復 LED 模式
硬體模擬設定(Wokwi)
Arduino 程式碼(雙核心設計)
請先在 Arduino IDE 安裝:
-
DHT sensor library -
Adafruit Unified Sensor -
UniversalTelegramBot -
WiFi庫
操作步驟
取得你的 Telegram Bot Token 和 Chat ID:
在 Telegram 中搜尋
BotFather,按照指示建立你的 Bot 並取得 HTTP API Token。在 Telegram 中,找到你的 Bot 並開始對話。然後傳送
/getid指令給它。Bot 會回覆你的 Chat ID。記下這兩個值,並替換程式碼中的BOT_TOKEN和CHAT_ID。
Wokwi 設定:
前往
,建立一個新的 ESP32 Dev Kit C 專案。Wokwi.com 將上面修正後的 ESP32 Arduino 程式碼貼到
sketch.ino。確認
diagram.json內容與上方範例一致。點擊 Wokwi 上的「Run」按鈕。
打開 Wokwi 的 Serial Monitor。你應該會看到 Wi-Fi 連線、SSL 警告(因為
setInsecure()),以及 DHT22 讀取日誌。
透過 Telegram 應用程式控制:
在你的 Telegram App 中,搜尋你 Bot 的使用者名稱,開始對話。
當 ESP32 成功啟動並連線後,你的 Bot 會自動發送一條「🚀 ESP32 已啟動並連線!」訊息給你。
傳送
/start:Bot 會回覆可用指令列表。控制 LED:傳送
/on,/off,/flash,/timer。觀察 Wokwi 模擬器中的 LED 變化。獲取感測器數據:傳送
/dht。Bot 會回覆最新的溫度和濕度。查詢模式:傳送
/status。Bot 會回覆當前 LED 模式。獲取 Chat ID:傳送
/getid。Bot 會回覆你的 Chat ID,你可以用它來確認或更新程式碼中的CHAT_ID。





沒有留言:
張貼留言