- Az UniversalTelegramBot könyvtár integrációja a HTTPS kommunikáció egyszerűsítése érdekében a Telegram API-val.
- GPIO csatlakozók távvezérlése aktuátorok, például LED-ek működtetéséhez és kapcsolóállapotok kiolvasásához.
- A biztonság megvalósítása Chat ID-érvényesítéssel és SSL-tanúsítványok használatával.

Gondoltál már arra, hogy otthoni automatizálási eszközeidet a kanapéd kényelméből, mobiltelefonoddal vezéreld? Nos, egy ESP32 vezérlésére szolgáló rendszer beállítása a Telegramon keresztül az egyik legegyszerűbb és leghatékonyabb módja annak, hogy belépj az otthoni automatizálás világába anélkül, hogy drága külső szerverekkel vagy lehetetlen konfigurációkkal bonyolítanád az életedet.
A varázslat abban rejlik, hogy a tábládat egy kis szerverré alakíthatod, amely egy bot parancsaira figyel. Nem kell programozózseninek lenned, mert néhány könyvtárral és egy kis türelemmel valós időben bekapcsolhatod a lámpákat, vagy figyelmeztethetsz egy érzékelő állapotára, mindezt azonnali szöveges üzeneteken keresztül.
Szükséges anyagok
A kezdéshez nem kell vagyonokat költened. A legfontosabb, hogy legyen egy ESP32 paneled ; mindegy, hogy régebbi vagy a legújabb modellről van szó, mivel a kompatibilitás teljes. A projekt agyán kívül néhány alapvető alkatrészre is szükséged lesz a teszteléshez:
- Egy fénykibocsátó dióda (LED), ami ellenőrzi, hogy minden működik-e.
- 220 ohmos ellenállás a LED kiégésének elkerülése érdekében.
- Nyomógomb vagy kapcsoló a fizikai állapotok leolvasásához.
- Csatlakozókábelek és egy próbapanel, hogy ne kelljen semmit forrasztani az elején.
Elektronikus áramköri összeszerelés
A kód szerkesztése előtt elő kell készítened a hardvert. Ebben a példában a LED-et a GPIO 33-as lábához , a kapcsolót pedig a GPIO 14- hez fogjuk csatlakoztatni . Fontos megjegyezni, hogy ezeket a lábakat szükség szerint módosíthatod, de ezt a változtatást később a program konstansaiban kell tükröznöd.
A LED védelem céljából a megfelelő ellenállással van összekötve, míg a nyomógomb belsőleg van konfigurálva, hogy elkerülhető legyen a plusz kábelezés. Miután összeszerelte az áramkört a próbapanelen , továbbléphet a szoftveres részre, ahol az összes művelet történik.
Bot beállítása Telegramban
Ahhoz, hogy az ESP32 tudja, kire kell figyelnie, először létre kell hoznunk a bot identitását magában a Telegram alkalmazásban. Ez a folyamat kulcsfontosságú, mert két kulcsfontosságú információt biztosít: a bot tokenjét (egy hosszú szám- és betűsorozatot) és a személyes felhasználói azonosítódat . E két kulcs nélkül az eszköz nem tudja hitelesíteni magát, és nem tudja meghatározni, hogy ki jogosult parancsokat adni neki.
Ha bármikor úgy érzed, hogy a csevegés kaotikussá vált, ne feledd, hogy a jobb felső menüből mindig törölheted az előzményeket . Ezzel újraindítod a botot, és visszatérsz a kezdőlap gombhoz az elérhető parancsokkal, így újrakezdheted.
A fejlesztői környezet előkészítése
Ahhoz, hogy a kód működjön, telepítenünk kell egy eszközt, amely megkönnyíti az életünket: a UniversalTelegramBot könyvtárat . Ahelyett, hogy több száz sornyi kódot írnánk a Telegram API kezeléséhez, ez a könyvtár szinte mindent elvégez helyettünk.
A telepítéshez egyszerűen lépj az Arduino IDE könyvtárkezelőjébe, írd be a könyvtár nevét, és kattints a telepítés gombra. Győződj meg arról is, hogy telepítve vannak a WiFi és a WiFiClientSecure könyvtárak , mivel ezek lehetővé teszik az ESP32 számára az internethez való csatlakozást és a HTTPS protokoll használatát a biztonságos kommunikációhoz.
Vezérlőkód elemzés
A program azzal kezdődik, hogy meghatározza a WiFi hálózati hitelesítő adatait és a bot kulcsait. Létfontosságú, hogy a példaértékeket a sajátoddal cseréld le. SSID és jelszóvalamint a token és a chat ID. Az interaktivitás érdekében definiálunk egy változót, amelynek neve info amely tartalmazza a bot által felismerhető parancsok listáját, például a /led_on vagy az /sw_state parancsot.
Üzenet- és parancskezelés
A rendszer lelke az új üzenetek ellenőrzésére szolgáló funkció. Az ESP32 a következő módszert használja: getUpdates mert ellenőrizze az üzenetsort a Telegramtól. Annak érdekében, hogy idegenek ne tudják ellenőrizni az otthonodat, a kód tartalmaz egy szűrőt, amely ellenőrzi, hogy a küldő azonosítója pontosan megegyezik-e a tiéddel. előre definiált CHAT_ID.
Miután a felhasználó érvényesítése megtörtént, a bot elemzi a fogadott szöveget: ha észleli /led_onDigitális jelet küld a 33-as lábra a lámpa bekapcsolásához; ha kap /led_off, kikapcsolja. Lehetőség van arra is, hogy /led_toggleami nagyon praktikus, mert megfordítja a jelenlegi állapotot a LED-ről anélkül, hogy tudnia kellene, hogy korábban be volt-e kapcsolva vagy ki.
Szenzor leolvasása és befejezése
A parancsok kiadása mellett a bot információkat is tud nyújtani. A parancs használata /sw_stateAz ESP32 leolvassa a 14-es láb állapotát. Mivel a lábat a következőképpen konfiguráltuk: BEVITEL_HÚZÓFELÜLETA készülék érzékeli, hogy megnyomták-e a gombot, és SMS-ben megerősíti azt.
A rendszerindítási folyamat során az eszköz zárolt módon csatlakozik a Wi-Fi-hez, ami azt jelenti, hogy addig nem fog semmit tenni, amíg a kapcsolat stabil nem lesz . A biztonság további fokozása érdekében a Telegram gyökértanúsítványát használják, amely biztosítja az adatforgalom titkosítását. A fő ciklus egyszerűen másodpercenként megismétli az üzenetellenőrzést, hogy a rendszer agilis és válaszkész maradjon.
Ezzel a rendszerrel sikeresen integráltunk hardvert és szoftvert egy vezeték nélküli kommunikációs híd létrehozásához. Konfiguráltunk egy botot, azonosítók és tanúsítványok segítségével kezeltük a biztonságot, és GPIO tűválaszokat programoztunk, hogy bárhonnan, internetkapcsolattal kommunikálhasson a fizikai világgal.
Preguntas frecuentes
Melyik könyvtárra van szükség az ESP32 Telegramhoz való csatlakoztatásához?
A UniversalTelegramBot könyvtárat érdemes használni, amely leegyszerűsíti a Telegram API-val való interakciót, és megkönnyíti az üzenetek küldését és fogadását.
Hogyan biztosíthatom, hogy csak én irányíthassam a botot?
A kód egy szűrőt valósít meg, amely összehasonlítja a fogadott üzenet chat-azonosítóját egy előre definiált CHAT_ID-vel, figyelmen kívül hagyva a más felhasználóktól érkező parancsokat.
Szükséges HTTPS-t használni a bottal való kommunikációhoz?
Igen, a Telegram biztonságos kapcsolatokat igényel, ezért a WiFiClientSecure-t használja, és a Telegram gyökértanúsítványát konfigurálni kell az ESP32-n.
Mi a /led_toggle parancs célja a kódban?
Ez a parancs a LED aktuális állapotának megfordítására szolgál, bekapcsolva, ha ki volt kapcsolva, vagy kikapcsolva, ha be volt kapcsolva.
Miért az INPUT_PULLUP paramétert használják a kapcsolóhoz?
A panel belső ellenállásának aktiválására szolgál, így nincs szükség külső fizikai ellenállás hozzáadására a nyomógomb áramköréhez.
Hol találom a bot tokent és a felhasználói azonosítót?
A tokent a bot BotFather segítségével történő létrehozásával lehet megszerezni a Telegramon, a felhasználói azonosítót pedig a profil identitásának megszerzésére szakosodott botokon keresztül lehet megszerezni.



