使用telegram 控制wokwi LED + 模擬 RFID (UID共10個)
- 開啟 Telegram,搜尋並打開官方的 @BotFather。
- 發送指令
/newbot,依照指示設定 Bot 的名稱和 username。Bot username:必須是唯一的,且以「bot」結尾,不能與其他 Bot 或用戶重複。 - 建立成功後,BotFather 會提供一串 API Token,請妥善保存,這串 Token 就像是 Bot 的密碼。
- 在 Telegram 搜尋你的 Bot,打開聊天室並點擊 Start 或隨意發送一則訊息 (例如 "Hi")。
- 如果是群組/頻道:將 Bot 加入群組或頻道,並確保 Bot 具備接收訊息的權限,然後在群組/頻道中發送訊息。
- 打開瀏覽器,輸入以下網址,將
<token>替換成你從 BotFather 取得的 API Token:https://api.telegram.org/bot<token>/getUpdates - 查看頁面中的 JSON 內容,尋找
result陣列中的message物件,chat物件裡就有id欄位,這個數字就是你的 Chat ID。- 個人聊天 ID 格式:純數字 (e.g.,
123456789)。 - 群組/頻道 ID 格式:需加上
-100前綴 (e.g.,-100123456789)。
- 個人聊天 ID 格式:純數字 (e.g.,
WOKWI程式
這份程式碼是一個基於 ESP32 雙核心架構 的物聯網應用,結合了 Telegram 機器人 遠端控制、RFID 刷卡識別 以及 I2C LCD 實時顯示。
其核心設計目標是「穩定性」,透過 FreeRTOS Queue (隊列) 機制解決了 WiFi 連網與硬體掃描之間的資源衝突。
核心功能說明
1. 遠端指令控制 (Telegram Bot)
使用者可以透過 Telegram 手機 App 向機器人發送以下指令,ESP32 會即時做出反應:
/on//off:直接開啟或關閉 ESP32 上的 LED 燈。/flash:使 LED 進入持續閃爍模式。/timer:開啟 LED 並在 5 秒後自動熄滅(非阻塞式計時)。/rfidUid:查詢系統最後一次讀取到的 RFID 卡片編號。/status:回報目前 LED 狀態(亮/滅)與最後的卡片 UID。自定義按鈕選單:系統啟動時會自動彈出按鈕選單,使用者不需手動打字,點擊螢幕即可控制。
2. RFID 刷卡識別與主動推播
當 RFID 模組偵測到卡片感應時,ESP32 會讀取卡片的唯一識別碼 (UID)。
自動通知:讀取成功後,ESP32 會主動傳送 Telegram 訊息給使用者(例如:「🔔 偵測到卡片!UID: 9FD6B1BD」)。
3. 實時狀態顯示 (LCD 1602)
指令顯示:LCD 會顯示目前收到的 Telegram 指令內容。
狀態顯示:同步顯示 LED 目前是
ON還是OFF。卡片顯示:刷卡時,LCD 第二行會立刻顯示該卡片的 UID。
程式設計特點:
A. 雙核心任務分配 (Dual Core)
ESP32 有兩個處理核心,程式將工作分開處理以確保流暢度:
Core 0 (TelegramTask):負責處理最耗資源的 WiFi 連線、HTTPS 加密通訊。
Core 1 (RFIDTask):負責高頻率的 RFID 掃描,確保刷卡時反應靈敏,不會因為網路延遲而漏讀卡片。
B. Queue (隊列) 通訊機制
這是解決你之前 Reset 崩潰問題的關鍵。
運作邏輯:當 Core 1 讀到卡片時,它不直接傳送 Telegram 訊息(因為網路硬體被 Core 0 佔用),而是將資料放進一個名為
rfidQueue的「信箱」。Core 0 會定期檢查信箱,領取資料後再統一由 Core 0 發送。優點:有效防止兩個核心同時搶奪 WiFi/SPI 硬體資源,提升系統長時間運行的穩定性。
C. 安全連線 (HTTPS)
程式碼包含
configTime與client.setInsecure()。這是因為 Telegram API 強制要求 SSL 加密,程式會先進行網路校時,確保加密連線握手成功。
硬體清單與連接參考
控制器:ESP32
顯示器:LCD 1602 (需帶 I2C 轉接板,接 GPIO 16/17)
讀卡器:RC522 RFID 模組 (SPI 介面,接 GPIO 5, 18, 19, 23)
執行器:LED 燈 (接 GPIO 2)
iOS下載網址:https://reurl.cc/VaKlNQ
Android下載網址:https://reurl.cc/alQALY
PC/Mac/Linux下載網址:https://reurl.cc/lL8Ag6
macOS下載網址:https://reurl.cc/EKkeeK
網頁版連結:https://reurl.cc/mdaAAM
- iOS (iPhone/iPad):打開 App Store,搜尋 "Telegram" 即可下載安裝。
- Android (安卓):打開 Google Play 商店,搜尋 "Telegram" 即可下載安裝。
- 開啟與註冊:安裝後打開 App,點選「Start Messaging」,輸入手機號碼並完成驗證碼即可註冊登入。
- 前往官網:用瀏覽器訪問 Telegram 官方網站 telegram.org。
- 選擇下載:在下載頁面選擇您電腦系統(Windows, macOS, Linux)的版本,並下載安裝包。
- 安裝程式:執行下載的檔案,按照安裝向導的指示完成安裝。
- 登入:啟動程式,用手機號碼登入即可使用。
- 方法:在 Telegram 中點選語言包連結 (例如:繁體中文(台灣)連結),會自動開啟 App 並提示你切換語言,點「Change」或「Apply」即可。








沒有留言:
張貼留言