Guide för att skapa en Telegram-bot med ESP32

Senaste uppdateringen: 15/11/2026
Författare: Isaac
  • Integrering av UniversalTelegramBot-biblioteket för att förenkla HTTPS-kommunikation med Telegram API.
  • Fjärrstyrning av GPIO-pinnar för att styra ställdon som lysdioder och läsa av brytartillstånd.
  • Implementering av säkerhet genom validering av chatt-ID och användning av SSL-certifikat.

Mikrokontrollerkort anslutet till ett kopplingsdäck med en LED-lampa, perfekt för att illustrera resultatet av ESP32-projektet.

Har du någonsin funderat på att styra dina hemautomationsenheter bekvämt från soffan med din mobiltelefon? Att konfigurera ett system för att styra en ESP32 via Telegram är ett av de enklaste och kraftfullaste sätten att komma in i hemautomationsvärlden utan att komplicera ditt liv med dyra externa servrar eller omöjliga konfigurationer.

Magin ligger i att förvandla din bräda till en liten server som lyssnar på kommandon från en bot. Du behöver inte vara ett programmeringsgeni, för med ett par bibliotek och lite tålamod kan du få din enhet att tända lampor eller varna dig om statusen för en sensor i realtid, allt via snabba textmeddelanden.

Material du behöver

Detalj av ett protokort med kablar och elektroniska komponenter, användbart för avsnittet om obligatoriskt material.

För att komma igång behöver du inte spendera en förmögenhet. Det viktigaste är att ha ett ESP32-kort ; det spelar ingen roll om det är en äldre modell eller en av de senaste, eftersom kompatibiliteten är total. Förutom projektets hjärna behöver du några grundläggande komponenter för testning:

  • En lysdiod (LED) för att kontrollera att allt fungerar.
  • Ett 220 ohms motstånd för att undvika att lysdioden bränns ut.
  • En tryckknapp eller strömbrytare för att avläsa fysiska tillstånd.
  • Anslutningskablar och ett kopplingsdäck så att du inte behöver löda något i början.

Elektronisk kretsmontering

Händer som monterar elektroniska komponenter och ledningar på en kopplingsplatta för kretsmontering.

Innan du redigerar koden måste du förbereda hårdvaran. I det här exemplet ansluter vi lysdioden till GPIO-pin 33 och omkopplaren till GPIO 14. Det är viktigt att komma ihåg att du kan ändra dessa pinnar efter behov, men du måste återspegla den ändringen senare i programmets konstanter.

  Telegram fungerar inte korrekt. Orsaker, lösningar och alternativ

Lysdioden är ansluten till motsvarande motstånd för skydd, medan tryckknappen är internt konfigurerad för att undvika extra kablage. När du har monterat kretsen på kopplingsplattan kan du gå vidare till programvarudelen, där allt händer.

Botinstallation i Telegram

Närbild på en person som använder en smartphone för att skicka meddelanden, vilket simulerar interaktion med Telegram-boten.

För att ESP32 ska kunna veta vem den ska lyssna på måste vi först skapa botens identitet i själva Telegram-applikationen. Denna process är avgörande eftersom den tillhandahåller två viktiga uppgifter: botens token (en lång rad med siffror och bokstäver) och ditt personliga användar-ID . Utan dessa två nycklar kan enheten inte autentisera sig själv eller avgöra vem som är behörig att ge den kommandon.

Om du någon gång känner att chatten har blivit kaotisk, kom ihåg att du alltid kan rensa historiken från menyn uppe till höger. Om du gör det startar du om boten och återställer hemknappen med tillgängliga kommandon, så att du kan börja om på nytt.

Förberedelse av utvecklingsmiljön

Bärbar dator med programmeringskod på skärmen, som representerar utvecklingsfasen i Arduino IDE.

För att koden ska fungera behöver vi installera ett verktyg som gör våra liv enklare: UniversalTelegramBot -biblioteket . Istället för att skriva hundratals rader kod för att hantera Telegram API, gör det här biblioteket nästan allt åt oss.

För att installera det, gå helt enkelt till Arduino IDE:s bibliotekshanterare, skriv bibliotekets namn och klicka på installera. Se också till att du har WiFi- och WiFiClientSecure- biblioteken installerade , eftersom dessa gör att ESP32 kan ansluta till internet och använda HTTPS-protokollet för säker kommunikation.

Analys av kontrollkod

Programmet börjar med att definiera dina WiFi-nätverksuppgifter och botens nycklar. Det är viktigt att du ersätter exempelvärdena med dina egna. SSID och lösenordsamt token och chatt-ID. För interaktivitet definierar vi en variabel som heter info som innehåller listan över kommandon som boten kommer att känna igen, till exempel /led_on eller /sw_state.

  Hur man automatiserar svar och undersökningar på Telegram med hjälp av bots

Meddelande- och kommandohantering

Systemets hjärta är funktionen som söker efter nya meddelanden. ESP32 använder metoden getUpdates till kontrollera meddelandekön från Telegram. För att förhindra att främlingar kontrollerar ditt hem innehåller koden ett filter som verifierar att avsändarens ID exakt matchar ditt. fördefinierat CHAT_ID.

När användaren har validerats analyserar boten det mottagna texten: om den upptäcker /led_onDen skickar en digital signal till stift 33 för att tända ljuset; om den tar emot /led_off, stänger av den. Det finns också möjlighet att /led_togglevilket är väldigt praktiskt eftersom vänder det nuvarande tillståndet av LED-lampan utan att du behöver veta om den tidigare var på eller av.

Sensoravläsning och slutförande

Förutom att utfärda kommandon kan boten även tillhandahålla information. Använda kommandot /sw_stateESP32 läser av tillståndet för pin 14. Eftersom vi har konfigurerat pin som INPUT_PULLUPEnheten kommer att känna av om knappen trycks in eller inte och skicka ett SMS-svar som bekräftar det.

Under uppstartsprocessen ansluter enheten till Wi-Fi på ett låst sätt, vilket innebär att den inte gör någonting förrän anslutningen är stabil . För att ytterligare förbättra säkerheten används Telegrams rotcertifikat, vilket säkerställer att datatrafiken är krypterad. Huvudslingan upprepar helt enkelt meddelandekontrollen varje sekund för att hålla systemet smidigt och responsivt.

Med det här systemet har vi framgångsrikt integrerat hårdvara och mjukvara för att skapa en trådlös kommunikationsbrygga. Vi har konfigurerat en bot, hanterat säkerhet med hjälp av ID:n och certifikat, och programmerat GPIO-pinsvar för att interagera med den fysiska världen varifrån som helst med en internetanslutning.

Isaac

Isaac

Passionerad författare om bytesvärlden och tekniken i allmänhet. Jag älskar att dela med mig av min kunskap genom att skriva, och det är vad jag kommer att göra i den här bloggen, visa dig alla de mest intressanta sakerna om prylar, mjukvara, hårdvara, tekniska trender och mer. Mitt mål är att hjälpa dig att navigera i den digitala världen på ett enkelt och underhållande sätt.

  Hur man skickar korsmeddelanden mellan WhatsApp och Telegram

Vanliga frågor

Vilket bibliotek behövs för att ansluta ESP32 till Telegram?

UniversalTelegramBot-biblioteket bör användas, vilket förenklar interaktionen med Telegram API och underlättar sändning och mottagande av meddelanden.

Hur säkerställer jag att bara jag kan kontrollera boten?

Koden implementerar ett filter som jämför chatt-ID:t för det mottagna meddelandet med ett fördefinierat CHAT_ID, och ignorerar alla kommandon som kommer från en annan användare.

Är det nödvändigt att använda HTTPS för att kommunicera med boten?

Ja, Telegram kräver säkra anslutningar, så WiFiClientSecure används och Telegrams rotcertifikat måste konfigureras på ESP32.

Vad är syftet med kommandot /led_toggle i koden?

Det här kommandot används för att invertera lysdiodens aktuella tillstånd, vilket gör att den tänds om den var släckt eller släcks om den var på.

Varför används INPUT_PULLUP för switchen?

Den används för att aktivera kortets interna resistans, vilket undviker behovet av att lägga till ett externt fysiskt motstånd till tryckknappskretsen.

Var får jag tag i bot-token och användar-ID?

Token erhålls genom att skapa boten via BotFather på Telegram, och användar-ID:t kan erhållas via bottar som är specialiserade på att erhålla profilidentiteten.