Inhoudsopgave:

Op ESP32 gebaseerde Telegram Bot - Ajarnpa
Op ESP32 gebaseerde Telegram Bot - Ajarnpa

Video: Op ESP32 gebaseerde Telegram Bot - Ajarnpa

Video: Op ESP32 gebaseerde Telegram Bot - Ajarnpa
Video: Уроки Home Assistant - Управление умным домом через Telegram из любой точки мира 2024, Juli-
Anonim
Op ESP32 gebaseerde telegrambot
Op ESP32 gebaseerde telegrambot
Op ESP32 gebaseerde telegrambot
Op ESP32 gebaseerde telegrambot

Bij Telegram draait alles om vrijheid en open bronnen. In 2015 kondigde het de nieuwe Telegram-bot-API aan, waarmee derden telegrambots voor ESP32 konden maken die de berichtentoepassing als hun belangrijkste communicatie-interface gebruiken. Hierdoor kunnen we onze smart home applicaties en andere smart devices ermee aansturen. Dus in dit artikel bespreken we een nieuwe manier om je slimme apparaten te bedienen en de status te kennen. Ja, je hebt gelijk, we zullen ze besturen met een app voor sociale media, "Telegram".

Wat is Telegram? Telegram is een platformonafhankelijke cloudgebaseerde instant messaging-, videotelefonie- en VoIP-service met end-to-end-gecodeerde chat voor alleen geheime chat, terwijl server-client/client-server-codering wordt gebruikt in cloudchats.

Maar wat het onderscheidt van andere dergelijke berichtenplatforms, is de mogelijkheid om bots te maken.

Telegram-bots zijn op AI gebaseerde apps die kunnen worden geconfigureerd om veel verschillende functies te vervullen, enkele voorbeelden zijn, relevante informatie over het weer of nuttige nieuwsartikelen verzenden, sommige zijn vooraf geconfigureerd om herinneringen te verzenden, en er zijn er ook die deuntjes kunnen spelen of maak to-do-lijsten en nog veel meer.

Vandaag zullen we ook zo'n bot maken die zal communiceren met onze ESP32.

In deze tutorial zullen we een LED besturen met de Telegram-bot, de LED is verbonden met het ESP32-bord. In plaats van de LED kunt u elke pin bedienen die is aangesloten op een ander apparaat of component.

Stap 1: Vereisten voor het bouwen van de op ESP32 gebaseerde Telegram Bot

Omdat dit project een zwaar softwareproject is, heeft het niet zoveel hardware nodig, maar er zijn nogal wat stappen die moeten worden gevolgd aan de softwarekant, we zullen die stappen bespreken terwijl we verder gaan in het artikel.

Hardwarevereisten:

ESP32-ontwikkelbord

Softwarevereisten:

Arduino IDE

Specifieke Arduino-bibliotheken

Telegram-app

Stap 2: Een Telegram Bot maken

Een Telegram-bot maken
Een Telegram-bot maken

Zoals we eerder hebben besproken, stelt Telegram ons in staat om verschillende bots met verschillende functionaliteiten te maken. Voor ons project zullen we een eenvoudige bot maken met Telegram. De rest van de opdrachtverklaringen en antwoorden worden gecodeerd in het ESP-bord zelf, dat met onze bot communiceert via de chat-ID. We zullen die bespreken terwijl we verder gaan in het artikel. Als dat uit de weg is, kunnen we onze focus richten op het bouwen van de bot in Telegram.

Installeer Telegram vanuit de Play Store

Maak na de installatie een account aan als je er nog geen hebt en volg de volgende stappen om je TG-bot te laten werken

Zoek eerst naar "botfather" en klik op de BotFather zoals hieronder weergegeven. Of open deze link t.me/botfather op je smartphone

Botfather is een vooraf gebouwde Telegram-bot waarmee u uw bots kunt maken, beheren en verwijderen

Klik op de startknop en kies /newbot Geef je bot een naam en gebruikersnaam

Als uw bot met succes is gemaakt, ontvangt u een bericht met een link om toegang te krijgen tot uw nieuw gemaakte bot en het bottoken

Bot-token is een unieke id die we later zullen gebruiken om met de bot te communiceren

Stap 3: Verkrijg uw Telegram-chat-ID

Krijg uw Telegram-chat-ID
Krijg uw Telegram-chat-ID

Een telegram-gebruikers-ID is een uniek nummer voor elke chat, groep en gebruiker waarmee Telegram gebruikers en chats kan identificeren. In dit project van ons kan iedereen met de link naar de bot met de bot communiceren. Om ongeoorloofde toegang te voorkomen, kunnen we deze coderen met behulp van de unieke gebruikers-ID.

Door dit te doen, controleert ESP elke keer dat een bericht van de bot wordt ontvangen of de id overeenkomt met de id die erin is opgeslagen en voert vervolgens alleen de commando's uit.

Stappen voor het verkrijgen van uw Telegram-gebruikers-ID:

Zoek in uw Telegram-account naar "IDBot" of open deze link t.me/myidbot op uw smartphone

Begin een gesprek met die bot en typ /getid. U krijgt een antwoord terug met uw gebruikers-ID

Noteer de gebruikers-ID, deze hebben we later nodig

Stap 4: De Telegram Bot-bibliotheek installeren

We zullen Arduino IDE gebruiken voor het programmeren van het ESP32-bord. Zorg er dus voor dat u zowel de IDE als het bordpakket op uw pc hebt geïnstalleerd. We moeten twee bibliotheken in de Arduino IDE installeren, het gebruik van deze bibliotheken maakt het codeerproces een stuk eenvoudiger en gemakkelijker.

Om communicatie met de Telegram-bot tot stand te brengen, gebruiken we de Universal Telegram Bot-bibliotheek die is gemaakt door Brian Lough en die een eenvoudige interface biedt voor de Telegram Bot-API.

Volg de volgende stappen om de nieuwste release van de bibliotheek te installeren

Klik op deze link om de Universal Arduino Telegram Bot-bibliotheek te downloaden

Ga naar Sketch > Bibliotheek opnemen > ZIP-bibliotheek toevoegen…

Voeg de bibliotheek toe die je zojuist hebt gedownload. En dat is het

De bibliotheek is geïnstalleerd.

Voor meer informatie over de bibliotheek, kunt u de Universal Arduino Telegram Bot Library GitHub-pagina bekijken.

ArduinoJson-bibliotheek:

Je moet ook de ArduinoJson-bibliotheek installeren. Volg de volgende stappen om de bibliotheek te installeren.

Ga naar Schets > Bibliotheek opnemen > Bibliotheken beheren

Zoek naar "ArduinoJson"

Selecteer de nieuwste beschikbare versie

Installeer de bibliotheek

Zoals we hebben gedaan met het installeren van alle vereiste bibliotheken die we kunnen.

Stap 5: Programmeren van de op ESP32 gebaseerde Telegram Bot

Programmeren van de op ESP32 gebaseerde Telegram Bot
Programmeren van de op ESP32 gebaseerde Telegram Bot

We moeten onze ESP32 zo flashen dat hij elk bericht ontvangt dat door de bot wordt verzonden, de gebruikers-ID vergelijkt en de LED in- of uitschakelt volgens het ontvangen bericht.

In de allereerste code beginnen we met het importeren van de vereiste bibliotheken

Daarna initialiseren we de variabelen om de SSID en het wachtwoord van uw wifi op te slaan

Op dezelfde manier definiëren we de variabelen voor het vasthouden van de bottoken en chat-ID. U moet uw inloggegevens in deze variabelen plaatsen

Hier vind je de volledige code met uitleg.

Stap 6:

Afbeelding
Afbeelding

Nu we alles hebben ingesteld. Upload de bovengenoemde code naar uw ESP32-bord via Arduino IDE. Vergeet niet het juiste bord en de juiste poort te kiezen tijdens het uploaden van de schets.

Druk na het uploaden van de schets op de EN/Reset-knop op het bord, zodat het de code begint uit te voeren. Open de seriële monitor en wacht tot het bord verbinding heeft gemaakt met uw wifi-router. Open nu Telegram en begin een gesprek met je bot door naar de link van Botfather te gaan en /start te typen.

Nu kunt u de LED bedienen of de status kennen door de bijbehorende opdrachten te typen.

Stap 7: op ESP32 gebaseerde telegrambot - werkt

Je kunt ook de video bekijken die de werking van deze tutorial demonstreert. Als je vragen hebt, kun je deze ook achterlaten in het commentaargedeelte hieronder.

Ik hoop dat je het artikel leuk vond en iets nuttigs hebt geleerd. Voor meer van dergelijke interessante tutorials, volg ons op Instructables.

Aanbevolen: