Inhaltsverzeichnis:

ESP32-basierter Telegramm-Bot - Gunook
ESP32-basierter Telegramm-Bot - Gunook

Video: ESP32-basierter Telegramm-Bot - Gunook

Video: ESP32-basierter Telegramm-Bot - Gunook
Video: #Telegram #Bot на #ESP32 - Вкл и Откл LED 2024, Juli
Anonim
ESP32-basierter Telegramm-Bot
ESP32-basierter Telegramm-Bot
ESP32-basierter Telegramm-Bot
ESP32-basierter Telegramm-Bot

Bei Telegram dreht sich alles um Freiheit und Open Source. 2015 wurde die neue Telegram-Bot-API angekündigt, die es Dritten ermöglicht, Telegramm-Bots für ESP32 zu erstellen, die die Messaging-Anwendung als Hauptkommunikationsschnittstelle verwenden. Damit können wir unsere Smart Home Anwendungen und andere Smart Devices damit steuern. In diesem Artikel werden wir daher eine neue Möglichkeit zur Steuerung Ihrer intelligenten Geräte und zur Ermittlung des Status diskutieren. Ja, Sie haben Recht, wir werden sie mit einer Social-Media-App, „Telegram“, steuern.

Was ist Telegram? Telegram ist ein plattformübergreifender Cloud-basierter Instant Messaging-, Videotelefonie- und VoIP-Dienst mit Ende-zu-Ende-verschlüsseltem Chat nur für geheime Chats, während Server-Client-/Client-Server-Verschlüsselung in Cloud-Chats verwendet wird.

Aber was es von anderen solchen Messaging-Plattformen unterscheidet, ist die Möglichkeit, Bots zu erstellen.

Telegramm-Bots sind KI-basierte Apps, die so konfiguriert werden können, dass sie viele verschiedene Funktionen erfüllen. Einige Beispiele sind wie, senden relevante Informationen über das Wetter oder nützliche Nachrichtenartikel, einige sind vorkonfiguriert, um Erinnerungen zu senden, es gibt auch einige, die Melodien abspielen können oder To-Do-Listen erstellen und vieles mehr.

Heute werden wir auch einen solchen Bot erstellen, der mit unserem ESP32 kommunizieren wird.

In diesem Tutorial werden wir eine LED mit dem Telegram Bot steuern, die LED ist mit der ESP32-Platine verbunden. Anstelle der LED können Sie jeden Pin steuern, der mit einem anderen Gerät oder einer anderen Komponente verbunden ist.

Schritt 1: Anforderungen für den Aufbau des ESP32-basierten Telegramm-Bots

Da dieses Projekt ein softwarelastiges Projekt ist, erfordert es nicht so viel Hardware, aber es gibt einige Schritte, die auf der Softwareseite befolgt werden müssen. Wir werden diese Schritte im weiteren Verlauf des Artikels besprechen.

Hardware-Anforderungen:

ESP32-Entwicklungsboard

Software Anforderungen:

Arduino-IDE

Spezifische Arduino-Bibliotheken

Telegramm-App

Schritt 2: Erstellen eines Telegramm-Bots

Einen Telegramm-Bot erstellen
Einen Telegramm-Bot erstellen

Wie bereits erwähnt, können wir mit Telegram mehrere Bots mit unterschiedlichen Funktionen erstellen. Für unser Projekt werden wir einen einfachen Bot mit Telegram erstellen. Der Rest der Befehlserklärungen und -antworten wird im ESP-Board selbst codiert, das über die Chat-ID mit unserem Bot kommuniziert. Wir werden diese im weiteren Verlauf des Artikels besprechen. Da dies aus dem Weg ist, können wir uns darauf konzentrieren, den Bot in Telegram zu erstellen.

Installieren Sie Telegram aus dem Play Store

Erstellen Sie nach der Installation ein Konto, wenn Sie noch kein Konto haben, und befolgen Sie die nächsten Schritte, um Ihren TG-Bot zum Laufen zu bringen

Suchen Sie zuerst nach „botfather“und klicken Sie auf den BotFather, wie unten gezeigt. Oder öffnen Sie diesen Link t.me/botfather auf Ihrem Smartphone

Botfather ist ein vorgefertigter Telegram-Bot, mit dem Sie Ihre Bots erstellen, verwalten und löschen können

Klicken Sie auf den Start-Button und wählen Sie /newbot Geben Sie Ihrem Bot einen Namen und Benutzernamen

Wenn Ihr Bot erfolgreich erstellt wurde, erhalten Sie eine Nachricht mit einem Link, um auf Ihren neu erstellten Bot und das Bot-Token zuzugreifen

Bot-Token ist eine eindeutige ID, die wir später verwenden werden, um mit dem Bot zu kommunizieren

Schritt 3: Holen Sie sich Ihre Telegramm-Chat-ID

Holen Sie sich Ihre Telegramm-Chat-ID
Holen Sie sich Ihre Telegramm-Chat-ID

Eine Telegramm-Benutzer-ID ist eine eindeutige Nummer für jeden Chat, jede Gruppe und jeden Benutzer, die Telegram hilft, Benutzer und Chats zu identifizieren. In unserem Projekt kann jeder mit dem Link zum Bot mit dem Bot interagieren. Um unbefugten Zugriff zu verhindern, können wir es mit der eindeutigen Benutzer-ID verschlüsseln.

Dabei prüft ESP jedes Mal, wenn eine Nachricht vom Bot eingeht, ob die ID mit der darin hinterlegten ID übereinstimmt und führt dann nur die Befehle aus.

Schritte zum Abrufen Ihrer Telegramm-Benutzer-ID:

Suchen Sie in Ihrem Telegram-Konto nach „IDBot“oder öffnen Sie diesen Link t.me/myidbot auf Ihrem Smartphone

Starten Sie eine Unterhaltung mit diesem Bot und geben Sie /getid ein. Sie erhalten eine Antwort mit Ihrer Benutzerkennung

Notieren Sie sich die Benutzer-ID, da wir sie später benötigen

Schritt 4: Installieren der Telegramm-Bot-Bibliothek

Wir werden Arduino IDE zum Programmieren des ESP32-Boards verwenden. Stellen Sie also sicher, dass die IDE sowie das Board-Paket auf Ihrem PC installiert sind. Wir müssen zwei Bibliotheken in der Arduino IDE installieren. Die Verwendung dieser Bibliotheken macht den Codierungsprozess viel einfacher und bequemer.

Um die Kommunikation mit dem Telegram-Bot herzustellen, verwenden wir die von Brian Lough erstellte Universal Telegram Bot Library, die eine einfache Schnittstelle für die Telegram Bot-API bietet.

Befolgen Sie die nächsten Schritte, um die neueste Version der Bibliothek zu installieren

Klicken Sie auf diesen Link, um die Universal Arduino Telegram Bot-Bibliothek herunterzuladen

Gehen Sie zu Skizze > Bibliothek einschließen > ZIP-Bibliothek hinzufügen…

Fügen Sie die Bibliothek hinzu, die Sie gerade heruntergeladen haben. Und das ist es

Die Bibliothek ist installiert.

Weitere Informationen zur Bibliothek finden Sie auf der GitHub-Seite der Universal Arduino Telegram Bot Library.

ArduinoJson-Bibliothek:

Sie müssen auch die ArduinoJson-Bibliothek installieren. Befolgen Sie die nächsten Schritte, um die Bibliothek zu installieren.

Gehen Sie zu Skizze > Bibliothek einschließen > Bibliotheken verwalten

Suchen Sie nach „ArduinoJson“

Wählen Sie die neueste verfügbare Version aus

Installieren Sie die Bibliothek

Da wir alle erforderlichen Bibliotheken installiert haben, können wir.

Schritt 5: Programmierung des ESP32-basierten Telegramm-Bots

Programmierung des ESP32-basierten Telegramm-Bots
Programmierung des ESP32-basierten Telegramm-Bots

Wir müssen unseren ESP32 so flashen, dass er jede vom Bot gesendete Nachricht empfängt, die Benutzer-ID vergleicht und die LED entsprechend der empfangenen Nachricht ein- oder ausschaltet.

Im allerersten Code beginnen wir mit dem Importieren der erforderlichen Bibliotheken

Danach initialisieren wir die Variablen, um die SSID und das Passwort Ihres WLANs zu speichern

Ebenso definieren wir die Variablen zum Halten des Bot-Tokens und der Chat-ID. Sie müssen Ihre Anmeldeinformationen in diese Variablen eingeben

Hier finden Sie den vollständigen Code mit einer Erklärung.

Schritt 6:

Bild
Bild

Jetzt haben wir alles eingerichtet. Laden Sie den oben genannten Code über die Arduino IDE auf Ihr ESP32-Board hoch. Vergessen Sie nicht, beim Hochladen der Skizze das richtige Board und den richtigen Port auszuwählen.

Drücken Sie nach dem Hochladen der Skizze die EN/Reset-Taste auf dem Board, damit es mit der Ausführung des Codes beginnt. Öffnen Sie den seriellen Monitor und warten Sie, bis das Board mit Ihrem Wi-Fi-Router verbunden ist. Öffnen Sie nun Telegram und starten Sie eine Unterhaltung mit Ihrem Bot, indem Sie auf den von Botfather bereitgestellten Link gehen und /start eingeben.

Jetzt können Sie die LED steuern oder den Zustand kennen, indem Sie die entsprechenden Befehle eingeben.

Schritt 7: ESP32-basierter Telegramm-Bot - funktioniert

Sie können sich auch das Video ansehen, das die Funktionsweise dieses Tutorials demonstriert. Wenn Sie Fragen haben, können Sie diese auch im Kommentarbereich unten hinterlassen.

Ich hoffe, Ihnen hat der Artikel gefallen und Sie haben etwas Nützliches gelernt. Für weitere interessante Tutorials folgen Sie uns bitte auf Instructables.

Empfohlen: