8.7 ESP-Kamera mit Telegram-Bot

In diesem Projekt zeigen wir, wie Sie das ESP32 mit Ihrer Lieblings-Messaging-Anwendung integrieren können. Für diese Demonstration verwenden wir Telegram.

Erstellen Sie einen Telegram-Bot, der es Ihnen ermöglicht, Ihren Schaltkreis von überall zu steuern, Fotos zu machen und den Blitz zu verwalten. Außerdem wird jedes Mal, wenn jemand an Ihrem Gerät vorbeigeht, ein neues Foto aufgenommen und eine Benachrichtigung an Ihr Telegram-Konto gesendet.

Benötigte Komponenten

Für dieses Projekt benötigen wir folgende Komponenten.

Es ist definitiv praktisch, ein komplettes Set zu kaufen. Hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

ESP32 Starter Kit

320+

ESP32 Starter Kit

Sie können sie auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENVORSTELLUNG

KAUF-LINK

ESP32 WROOM 32E

BUY

ESP32-Kameraerweiterung

-

Steckbrett

BUY

Überbrückungsdrähte

BUY

Widerstand

BUY

LED

BUY

PIR-Bewegungssensormodul

BUY

Einen Telegram-Bot erstellen

  1. Gehen Sie zu Google Play oder dem App Store und laden und installieren Sie Telegram.

  2. Suchen Sie in der Telegram-App nach botfather, und sobald er erscheint, klicken Sie darauf, um ihn zu öffnen. Alternativ können Sie direkt diesen Link verwenden: t.me/botfather.

    ../../_images/sp230515_135927.png
  3. Wenn Sie den Chat geöffnet haben, senden Sie den Befehl /start.

    ../../_images/sp230515_140149.png
  4. Geben Sie /newbot ein und folgen Sie den angegebenen Anweisungen, um Ihren Bot zu erstellen. Nach erfolgreichem Abschluss gibt Ihnen der BotFather den Zugangslink und die API für Ihren neuen Bot.

    ../../_images/sp230515_140830.png

Autorisierung von Telegram-Benutzern

Da jeder mit dem von Ihnen erstellten Bot interagieren kann, besteht ein Risiko des Informationslecks. Um dies zu verhindern, möchten wir, dass der Bot nur auf autorisierte Benutzer reagiert.

  1. Suchen Sie in Ihrem Telegram-Konto nach IDBot oder öffnen Sie den Link: t.me/myidbot.

    ../../_images/sp230515_144241.png
  2. Senden Sie den Befehl /getid. Speichern Sie die bereitgestellte ID zur späteren Verwendung in unserem Programm.

    ../../_images/sp230515_144614.png

Code hochladen

  1. Schließen Sie zuerst die Kamera an.

  2. Bauen Sie den Schaltkreis auf.

    ../../_images/iot_7_cam_telegram_bb.png
  3. Öffnen Sie den Code.

    • Öffnen Sie die Datei iot_7_cam_telegram.ino, die sich im Verzeichnis esp32-starter-kit-main\c\codes\iot_7_cam_telegram befindet, oder kopieren Sie den Code in die Arduino IDE.

    • Nachdem Sie das Board (ESP32 Dev Module) und den entsprechenden Port ausgewählt haben, klicken Sie auf den Upload-Button.

    • „Unbekanntes COMxx“ wird immer angezeigt?

    • Die Bibliotheken UniversalTelegramBot und ArduinoJson werden hier verwendet. Sie können sie aus dem Library Manager installieren.

  4. Suchen und ändern Sie die folgenden Zeilen mit Ihren WLAN-Daten und ersetzen Sie <SSID> und <PASSWORD>:

    // Replace the next variables with your SSID/Password combination
    const char* ssid = "<SSID>";
    const char* password = "<PASSWORD>";
    
  1. Aktualisieren Sie die nächste Zeile, indem Sie <CHATID> durch Ihre Telegram-ID ersetzen, die Sie von @IDBot erhalten haben.

    // Use @myidbot to find out the chat ID of an individual or a group
    // Also note that you need to click "start" on a bot before it can
    // message you
    String chatId = "<CHATID>";
    
  2. Aktualisieren Sie die nächste Zeile, indem Sie <BOTTOKEN> durch den Token Ihres Telegram-Bots ersetzen, den Ihnen @BotFather bereitgestellt hat.

    // Initialize Telegram BOT
    String BOTtoken = "<BOTTOKEN>";
    
  3. Nachdem Sie das richtige Board (ESP32 Dev Module) und den Port ausgewählt haben, klicken Sie auf den Upload-Button.

  4. Öffnen Sie den Serial Monitor. Wenn eine IP-Adresse gedruckt wird, deutet dies auf eine erfolgreiche Ausführung hin.

    Connecting to xxxx
    ESP32-CAM IP Address: 192.168.18.76
    Init Done!
    
  5. Jetzt können Sie über Telegram mit Ihrem ESP32 interagieren.

    ../../_images/sp230515_161237.png