Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

[IoT]-Telegramm-Bot mit Arduino MKR WiFi 1010

Komponenten und Verbrauchsmaterialien

Arduino MKR WIFI 1010
× 1

Über dieses Projekt

Dieses Projekt zeigt, wie man Arduino mit den Telegram Bot APIs verbindet. Das Projekt basiert auf dem neuen MKR WiFi 1010 Board, das mit einem ESP32-Modul von U-BLOX ausgestattet ist.

In dieser Phase ist das Projekt nur ein Proof of Concept, nur um Ihnen zu zeigen, was Sie damit machen können, also brauchen Sie dafür nur das Arduino-Board.

Aber was ist ein Telegram-Bot?

Nun, Bots sind einfach Telegrammkonten, die von Software betrieben werden – nicht von Menschen – und sie haben oft KI-Funktionen. Sie können alles tun – lehren, spielen, suchen, senden, erinnern, verbinden, in andere Dienste integrieren oder sogar Befehle an das Internet der Dinge weitergeben. (Credits von Telegram:https://telegram.org/blog/bot-revolution)

In unserem Fall übergeben wir Befehle an Arduino, um ein einfaches IoT-Gerät zu erstellen. Es reagiert auf einfache Befehle und schaltet die eingebaute LED ein / aus. Ich lasse Ihrer Fantasie freien Lauf ... (Stellen Sie sich vor, Sie verbinden ein oder mehrere Relais mit den I/O-Pins und schalten zum Beispiel eine Heizung oder die Klimaanlage mit Ihrem Smartphone ein / aus).

Schritt 1:Was Sie brauchen

Für dieses Projekt benötigen Sie:

  • Arduino MKR WiFi 1010 aus dem Arduino Store:https://store.arduino.cc/arduino-mkr-wifi-1010
  • Arduino IDE 1.8.5 oder höher:https://www.arduino.cc/en/Main/Software
  • Ein Micro-USB-Kabel, um Arduino mit Ihrem PC zu verbinden
  • Eine Internetverbindung erfordert die SSID und das Passwort. Es ist besser, wenn Sie Ihren eigenen Heimrouter verwenden, um sicherzustellen, dass er nicht blockiert wird.
  • Telegram-App auf Ihrem Smartphone installiert, unabhängig von der Marke. Sehen Sie hier auch nach PC- und Web-Versionen!

Schritt 2:Installation der IDE

Ja, ich weiß, ich weiß... die meisten von euch haben die Arduino IDE bereits im PC installiert, aber dieses Tutorial ist auch für Anfänger gedacht.

Laden Sie also zunächst die Arduino IDE 1.8.5 Ihrer Wahl herunter (Zip-Datei für 'Nicht-Administratoren' oder exe-Datei)

Die Version 1.8.5 wird empfohlen, alte Versionen habe ich nicht getestet und das im Projekt verwendete neue Board konnte überhaupt nicht unterstützt werden.

Jetzt müssen Sie die neuen Boards mit ihren Treibern installieren:

  • Starte die IDE
  • Aus den Tools Wählen Sie im Menü Boards Wählen Sie dann oben in der Prozessorliste Boards-Manager .
  • Scrollen Sie durch das neue Fenster (siehe Bild), bis Sie die Arduino SAMD-Boards finden, die das neue MKR WiFi 1010 enthalten.
  • Klicken Sie auf diese Registerkarte oder klicken Sie auf der Registerkarte auf Weitere Informationen, wählen Sie die neueste Version aus und installieren Sie sie.
  • Warten Sie, bis die Installation abgeschlossen ist. Es kümmert sich auch um die Treiberinstallation
  • Sie benötigen auch eine neue WLAN-Bibliothek für dieses Board:Wählen Sie Skizze, Bibliothek einschließen und Bibliotheken verwalten. Suchen Sie nach Wifinina und installieren Sie es wie beim obigen Prozessor.

Schließen Sie nun Ihr neues Arduino-Board an und warten Sie, bis Windows die Treiberinstallation abgeschlossen hat.

Über das Tools->Board Menü finden Sie die neuen Boards, wählen Sie das MKR WiFi 1010.

Für dieses Projekt wird eine weitere spezielle Bibliothek benötigt, die ESP8266TelegramBot-Bibliothek von Giancarlo Bacchio. Die Bibliothek wurde leicht modifiziert, um mit diesem Board zu arbeiten, sodass sie im Ordner der Skizze enthalten ist.

Wählen Sie den richtigen Com-Port und testen Sie das Board mit dem Get Board Info Befehl.

Glückwunsch, Sie sind mit der IDE fertig!

Schritt 3:Erstellen des Telegramm-Bots

Das Erstellen eines neuen Telegram-Bots ist ganz einfach.

Öffnen Sie die Telegram-App und geben Sie in die Suchleiste @BotFather ein und starten Sie einen Chat mit ihm (image1).BotFather is the... Bot factory. Es wird Ihnen helfen, einen neuen Bot zu erstellen und seine Einstellungen zu ändern.

Nach dem /Start Befehl sehen Sie die Hilfeliste (Bild2).

  • Geben Sie /newbot ein (image3)Geben Sie nun den Namen Ihres Bots ein. Der Name wird in den Kontaktdaten und an anderer Stelle angezeigt.
  • BotFather wird Sie nach einem Benutzernamen fragen. Der Benutzername ist ein Kurzname, der in Erwähnungen und telegram.me-Links verwendet wird. Benutzernamen sind 5-32 Zeichen lang und berücksichtigen nicht die Groß-/Kleinschreibung, dürfen jedoch nur lateinische Zeichen, Zahlen und Unterstriche enthalten. Der Benutzername Ihres Bots muss auf „bot“ enden, z. „tetris_bot“ oder „TetrisBot“ .
  • Wenn sowohl der Name als auch der Benutzername gültig sind, erhalten Sie eine lange Zeichenfolge namens TOKEN. Dies ist Ihr persönlicher "Schlüssel", der verwendet wird, um mit Telegram-Servern zu kommunizieren. Kopieren Sie ihn und fügen Sie ihn vorerst in eine Textdatei auf Ihrem PC ein. Wir werden es später im Arduino-Code verwenden. Wenn Sie es verlieren, machen Sie sich keine Sorgen, öffnen Sie einfach den Chat erneut und geben Sie /token . ein um einen neuen zu generieren.

Alle Schritte sind hier beschrieben:https://core.telegram.org/bots#6-botfather

Erweitert (optional)

Öffnen Sie den Chat erneut und geben Sie /help . ein

Klicke auf (oder tippe) /setuserpic um ein Bild für Ihren Bot hochzuladen.Klicken Sie auf (oder geben Sie) /setabouttext ein um den Abschnitt "Info" für Ihren Bot festzulegen:Personen sehen diesen Text auf der Profilseite des Bots und er wird zusammen mit einem Link zu Ihrem Bot gesendet, wenn sie ihn mit jemandem teilen.

Klicke auf (oder tippe) /setdescription um einen Beschreibungsabschnitt für Ihren Bot festzulegen. Personen sehen diese Beschreibung, wenn sie einen Chat mit Ihrem Bot öffnen, in einem Block mit dem Titel "Was kann dieser Bot tun?"

Schritt 4:Skizze ändern, hochladen und testen

Es ist Zeit, die Software auf das Arduino MKR WiFi 1010 Board hochzuladen.

Laden Sie die angehängte Skizze herunter und entpacken Sie sie. Bitte ändern Sie Namen und Ordner nicht, es sei denn, Sie wissen, was Sie tun.

Ändern

Öffnen Sie die Skizze, wir müssen einige Informationen eingeben (Bild1),

Gehen Sie zur Registerkarte arduino_secrets.h:

  • Suchen Sie die WLAN-Netzwerkinformationen und geben Sie Ihren Netzwerknamen (SSID) und Ihr Passwort ein.
  • Suchen Sie die Telegramm-Bot-Informationen und geben Sie den von @BotFather bereitgestellten Namen, Benutzernamen und Token ein

Hochladen

Stellen Sie sicher, dass die Platine in der ide korrekt ist (image2) und angeschlossen ist, und versuchen Sie dann, den Code zu kompilieren. Wenn die Zusammenstellung gut läuft, lade sie auf das Board hoch, es dauert nur wenige Sekunden.

Bei Problemen auf Tippfehler prüfen und erneut versuchen.

Test

[WICHTIG!] Der Sketch sendet Protokolle an die IDE. Der Prozessor verfügt über einen nativen USB-Port (wie Leonardo-Boards). Nach dem Einschalten wartet der Code, bis der serielle Monitor ausgeführt wird. Lassen Sie es also an den PC angeschlossen und öffnen Sie den seriellen Monitor. Arduino stellt zuerst eine Verbindung zum Internet her und beginnt dann, den Telegrammserver nach neuen Nachrichten abzufragen (Bild3).

Öffnen Sie nun Telegram auf Ihrem bevorzugten Gerät und geben Sie im Suchfeld den Namen Ihres Bots ein (nicht den Benutzernamen, der auf 'bot' endet). Öffne damit einen Chat.

Der erste Befehl zum Starten eines Chats mit einem Bot ist /start , unser Arduino wird mit einer Willkommensnachricht antworten. Geben Sie jetzt Hilfe . ein (ohne Schrägstrich), es antwortet mit einer Liste unterstützter Befehle, du kannst sie alle ausprobieren (image4).

Sie sind mit dem Test fertig, wenn etwas nicht funktioniert, überprüfen Sie die in der Skizze eingegebenen Informationen (Name, Benutzername, Token...)

Zertifikate Bei Verbindungsfehlern zum Telegrammserver (Log:Bot not connected):

  • Tools öffnen->Wifi101/wifinina-Updater
  • Stellen Sie sicher, dass Ihr Board angeschlossen ist, überprüfen Sie die Anschlüsse auf der linken Seite des Updater-Tools, das Board muss dort sein
  • Klicke auf Updater-Skizze öffnen und lade sie auf das Board hoch
  • Wählen Sie nach dem Hochladen im Updater die neueste Firmware für Ihr Board aus und klicken Sie auf Firmware aktualisieren
  • Nach dem Update im Updater, Abschnitt SSL-Zertifikate, auf Domain hinzufügen klicken, im Dialog telegram.org:443 schreiben und dann OK drücken.
  • Klicken Sie auf Zertifikate in das WLAN-Modul hochladen
  • Lade diese Skizze auf das Board

Schritt 5:Verbesserungen

Wenn man sich den Code ansieht, ist es sehr einfach, neue Befehle zu implementieren und dem Benutzer zu antworten.

Neue Befehle

Sie können für jeden neuen Befehl ein Sub schreiben. Jedes Sub kümmert sich um die Ausführung des Befehls und gibt (eventuell) Statusinformationen an den Benutzer zurück.

Einschränkung der Nutzer

Natürlich ist dieses Projekt nur eine Demo. Jeder Telegram-Benutzer kann sich mit Ihrem Zuhause verbinden und unerwünschte Befehle senden. Das willst du nicht!.

Sehen Sie sich das Bild 1 an. Es zeigt 2 verbundene Benutzer. Wie Sie sehen, hat jeder Benutzer seine eigene Benutzer-ID. Mit ein wenig Arbeit auf der Codeseite können Sie nur für autorisierte Benutzer filtern (oder eine Liste erstellen). Studieren Sie einfach den Code und versuchen Sie, die Benutzer-ID abzufangen. Führen Sie dann nur Befehle von bekannten Benutzern aus.

Hardware

Hardwareseitig lassen sich viele Sensoren und Relais an die I/O-Pins von Arduino anschließen.

Seien Sie vorsichtig:Die in diesem Projekt verwendete Platine ist 3,3 V tolerant !!! Verwenden Sie ggf. einen Spannungspegelumsetzer! Weitere Informationen und Tipps zu diesem Board finden Sie hier:https://www.arduino.cc/en/Guide/MKRWiFi1010

Das ist alles, viel Spaß!

Code

  • MKR1010Bot_V1_02.zip
MKR1010Bot_V1_02.zipC/C++
Telegramm-Bot-Skizze
Keine Vorschau (nur Download).

Herstellungsprozess

  1. GoPiGo v2 mit Windows IoT
  2. Münzprüfer mit Arduino steuern
  3. Audiofrequenzdetektor
  4. Arduino mit Bluetooth zur Steuerung einer LED!
  5. Tech-TicTacToe
  6. DIY Voltmeter mit Arduino und einem Nokia 5110 Display
  7. Arduino-Countdown-Timer
  8. Sprachgesteuerte Bluetooth-Geräte mit OK Google
  9. Erstellen Sie die Fridgeye-App mit einem Nextion-Display
  10. RC-Porsche-Auto (Arduino-Projekt)