Průvodce vytvořením Telegram bota s ESP32

Poslední aktualizace: 15/11/2026
Autor: Isaac
  • Integrace knihovny UniversalTelegramBot pro zjednodušení komunikace HTTPS s Telegram API.
  • Dálkové ovládání pinů GPIO pro ovládání akčních členů, jako jsou LED diody, a čtení stavů spínačů.
  • Implementace zabezpečení prostřednictvím ověřování ID chatu a používání SSL certifikátů.

Deska mikrokontroléru připojená k nepájivému desce s LED podsvícenou diodou, ideální pro ilustraci výsledku projektu ESP32.

Uvažovali jste někdy o ovládání domácí automatizace z pohodlí pohovky pomocí mobilního telefonu? Nastavení systému pro ovládání ESP32 přes Telegram je jedním z nejjednodušších a nejúčinnějších způsobů, jak se dostat do světa domácí automatizace, aniž byste si komplikovali život drahými externími servery nebo nemožnými konfiguracemi.

Kouzlo spočívá v proměně vaší desky v malý server, který poslouchá příkazy od bota. Nemusíte být programátorský mág, protože s několika knihovnami a trochou trpělivosti můžete přimět své zařízení, aby v reálném čase rozsvěcelo světla nebo vás upozorňovalo na stav senzoru, a to vše prostřednictvím okamžitých textových zpráv.

Materiály, které budete potřebovat

Detail prototypové desky s kabely a elektronickými součástkami, užitečný pro sekci požadovaných materiálů.

Abyste mohli začít, nemusíte utrácet jmění. Nejdůležitější je mít desku ESP32 ; nezáleží na tom, zda se jedná o starší nebo nejnovější model, protože kompatibilita je úplná. Kromě mozku projektu budete potřebovat i několik základních komponent pro testování:

  • Světelná dioda (LED) pro kontrolu, zda vše funguje.
  • Rezistor 220 ohmů, aby se zabránilo spálení LED diody.
  • Tlačítko nebo přepínač pro čtení fyzikálních stavů.
  • Propojovací kabely a nepájivé pole, abyste na začátku nemuseli nic pájet.

Sestava elektronických obvodů

Ruce sestavující elektronické součástky a dráty na nepájivém prkénku pro sestavení obvodů.

Před úpravou kódu je třeba připravit hardware. V tomto příkladu zapojíme LED diodu k pinu 33 GPIO a přepínač k GPIO 14. Je důležité si uvědomit, že tyto piny můžete dle potřeby změnit, ale tuto změnu budete muset později zohlednit v konstantách programu.

  Telegram nefunguje správně. Příčiny, řešení a alternativy

LED dioda je pro ochranu připojena k odpovídajícímu rezistoru, zatímco tlačítko je nakonfigurováno interně, aby se zabránilo dalšímu zapojení. Jakmile máte obvod sestavený na nepájivé desce , můžete přejít k softwarové části, kde probíhá veškerá činnost.

Nastavení bota v Telegramu

Detail osoby používající chytrý telefon k odesílání zpráv, simulující interakci s telegramovým botem.

Aby ESP32 věděl, koho má naslouchat, musíme nejprve vytvořit identitu bota v samotné aplikaci Telegram. Tento proces je zásadní, protože poskytuje dvě klíčové informace: token bota (dlouhý řetězec čísel a písmen) a vaše osobní uživatelské ID . Bez těchto dvou klíčů se zařízení nemůže ověřit ani určit, kdo je oprávněn mu dávat příkazy.

Pokud se vám v jakémkoli okamžiku zdá, že chat je chaotický, nezapomeňte, že historii můžete kdykoli vymazat v pravém horním rohu nabídky. Tím se bot restartuje a vrátí se na tlačítko Domů s dostupnými příkazy, což vám umožní začít znovu.

Příprava vývojového prostředí

Přenosný počítač s programovacím kódem na obrazovce, představující fázi vývoje v Arduino IDE.

Aby kód fungoval, musíme si nainstalovat nástroj, který nám usnadní život: knihovnu UniversalTelegramBot . Místo psaní stovek řádků kódu pro správu Telegram API tato knihovna udělá téměř vše za nás.

Chcete-li jej nainstalovat, jednoduše přejděte do správce knihoven Arduino IDE, zadejte název knihovny a klikněte na tlačítko Instalovat. Také se ujistěte, že máte nainstalované knihovny WiFi a WiFiClientSecure , protože ty umožňují ESP32 připojení k internetu a používání protokolu HTTPS pro zabezpečenou komunikaci.

Analýza řídicího kódu

Program začíná definováním vašich přihlašovacích údajů k síti WiFi a klíčů bota. Je nezbytné, abyste vzorové hodnoty nahradili svými vlastními. SSID a hesloa také token a ID chatu. Pro interaktivitu definujeme proměnnou s názvem info který obsahuje seznam příkazů, které bot rozpozná, například /led_on nebo /sw_state.

  Jak automatizovat odpovědi a průzkumy v Telegramu pomocí botů

Správa zpráv a příkazů

Srdcem systému je funkce, která kontroluje nové zprávy. ESP32 používá metodu getUpdates bod zkontrolujte frontu zpráv z Telegramu. Aby se zabránilo cizím osobám v ovládání vašeho domova, kód obsahuje filtr, který ověřuje, zda se ID odesílatele přesně shoduje s vaším. předdefinované ID_CHATU.

Jakmile je uživatel ověřen, bot analyzuje přijatý text: pokud zjistí /led_onVyšle digitální signál na pin 33 pro rozsvícení světla; pokud jej přijme /led_off, vypne ho. Existuje také možnost /led_togglecož je velmi praktické, protože obrací současný stav LED diody, aniž byste museli vědět, zda byla předtím zapnutá nebo vypnutá.

Čtení a dokončení senzoru

Kromě vydávání příkazů může bot také poskytovat informace. Použití příkazu /sw_stateESP32 čte stav pinu 14. Protože jsme pin nakonfigurovali jako INPUT_PULLUPZařízení zjistí, zda je tlačítko stisknuto, či nikoli, a odešle nám potvrzující textovou zprávu.

Během bootování se zařízení připojuje k Wi-Fi uzamčeným způsobem, což znamená, že neprovede žádnou akci, dokud není připojení stabilní . Pro další zvýšení zabezpečení se používá kořenový certifikát Telegramu, který zajišťuje šifrování datového provozu. Hlavní smyčka jednoduše opakuje kontrolu zpráv každou sekundu, aby systém zůstal agilní a pohotový.

S tímto systémem jsme úspěšně integrovali hardware a software a vytvořili tak bezdrátový komunikační most. Nakonfigurovali jsme bota, spravovali zabezpečení pomocí ID a certifikátů a naprogramovali odezvy pinů GPIO pro interakci s fyzickým světem odkudkoli s připojením k internetu.

Isaac

Isaac

Vášnivý spisovatel o světě bytů a technologií obecně. Rád sdílím své znalosti prostřednictvím psaní, a to je to, co budu dělat v tomto blogu, ukážu vám všechny nejzajímavější věci o gadgetech, softwaru, hardwaru, technologických trendech a dalších. Mým cílem je pomoci vám orientovat se v digitálním světě jednoduchým a zábavným způsobem.

  Jak posílat křížové zprávy mezi WhatsApp a Telegram

Preguntas frecuentes

Která knihovna je potřeba pro propojení ESP32 s Telegramem?

Měla by se používat knihovna UniversalTelegramBot, která zjednodušuje interakci s API Telegramu a usnadňuje odesílání a přijímání zpráv.

Jak zajistím, aby bota mohl ovládat pouze já?

Kód implementuje filtr, který porovnává ID chatu přijaté zprávy s předdefinovaným CHAT_ID a ignoruje veškeré příkazy přicházející od jiného uživatele.

Je nutné pro komunikaci s botem používat HTTPS?

Ano, Telegram vyžaduje zabezpečená připojení, takže se používá WiFiClientSecure a kořenový certifikát Telegramu musí být nakonfigurován na ESP32.

Jaký je účel příkazu /led_toggle v kódu?

Tento příkaz se používá k invertování aktuálního stavu LED diody, a to k jejímu zapnutí, pokud byla zhasnutá, nebo k jejímu vypnutí, pokud byla zhasnutá.

Proč se pro přepínač používá INPUT_PULLUP?

Používá se k aktivaci vnitřního odporu desky, čímž se eliminuje nutnost přidávat k obvodu tlačítka externí fyzický odpor.

Kde získám token bota a ID uživatele?

Token se získá vytvořením bota prostřednictvím BotFathera na Telegramu a ID uživatele lze získat prostřednictvím botů specializovaných na získávání identity profilu.