Inhaltsverzeichnis:

Arduino mit Telegram Bot ohne zusätzliche Hardware steuern - Gunook
Arduino mit Telegram Bot ohne zusätzliche Hardware steuern - Gunook

Video: Arduino mit Telegram Bot ohne zusätzliche Hardware steuern - Gunook

Video: Arduino mit Telegram Bot ohne zusätzliche Hardware steuern - Gunook
Video: BitBastelei #506 - Telegram-Nachrichten mit Arduino (ESP8266/ESP32) versenden 2024, November
Anonim
Steuern Sie Arduino mit dem Telegramm-Bot ohne zusätzliche Hardware
Steuern Sie Arduino mit dem Telegramm-Bot ohne zusätzliche Hardware

Es gibt eine Vielzahl von Dingen, die Sie mit Arduino tun können, aber haben Sie jemals darüber nachgedacht, Ihr Arduino mit einem Telegram-Bot zu steuern? WAS SIE BRAUCHEN:

  • Arduino UNO
  • Node.js auf Ihrem PC installiert
  • Ein steuerbares Gerät (Wir verwenden hier Arduinos On-Board-LED an Pin 13, aber fragen Sie gerne in Kommentaren nach allem, was Sie tun möchten)

Schritt 1: Installieren Sie Node.js auf Ihrem PC

Installieren Sie Node.js auf Ihrem PC
Installieren Sie Node.js auf Ihrem PC

Node.js ist eine JavaScript-Laufzeit, aber keine Panik, wenn Sie keinen Programmierhintergrund haben. Ich habe vorbereitet, was Sie brauchen, und Sie können sie herunterladen. In diesem Projekt verwenden wir Node.js für:

  1. Telegramm-Bot erstellen
  2. Arduino steuern

NODE. JS INSTALLIEREN:

Gehen Sie zur offiziellen Node.js-Downloadseite und laden Sie das neueste Installationspaket basierend auf Ihrem Betriebssystem herunter.

*Erinnern Sie sich an die neueste Versionsnummer, die oben auf der Download-Seite angegeben ist. Wir verwenden sie im nächsten Schritt.

Nachdem Sie das Paket heruntergeladen und installiert haben, sollten Sie überprüfen, ob Node.js vollständig installiert ist oder nicht.

ÜBERPRÜFEN SIE, OB DAS PAKET VOLLSTÄNDIG INSTALLIERT IST:

Wenn Sie Windows verwenden, öffnen Sie CMD und wenn Sie sich auf macOS befinden, öffnen Sie das Terminal und geben Sie Folgendes ein:

Knoten -v

Jetzt sollten Sie die Version, die Sie auf der Downloadseite von Node.js besucht haben, hier gedruckt sehen.

Ansonsten habe ich unten ein Tutorial eingefügt, um es erneut zu versuchen:

  • Fenster
  • Mac OS

Schritt 2: Arduino-Teil

Arduino-Teil
Arduino-Teil

In diesem Schritt müssen Sie nur eine integrierte Arduino IDE-Firmware auf Ihrem Arduino Uno hochladen.

Wichtig: Sie müssen Ihre Arduino IDE auf die neueste Version von Arduino aktualisieren.

Firmata-Bibliothek importieren:

Top Menu >> Datei >> Beispiele >> Firmata >> StandardFirmata

Code auf Arduino überprüfen und hochladen:

1. Top Menu >> Sketch >> Überprüfen/Kompilieren

2. Top-Menü >> Skizze >> Hochladen

Alles erledigt.

Schritt 3: Holen Sie sich das Telegramm-Bot-Token

Holen Sie sich das Telegramm-Bot-Token
Holen Sie sich das Telegramm-Bot-Token

Öffnen Sie Telegram und suchen Sie nach @BotFather oder klicken Sie hier, um diesen Bot im Telegram zu öffnen.

  1. Geben Sie /newbot ein und drücken Sie die Eingabetaste
  2. Wählen Sie einen Namen für Ihren Bot
  3. Wählen Sie einen Benutzernamen für Ihren Bot. Es muss auf 'bot' enden
  4. Jetzt sendet Ihnen der Bot einige Informationen, einschließlich Ihres API-Zugriffstokens. Schreiben Sie es auf, wir verwenden dieses Token in den nächsten Schritten

Schritt 4: Erstellen Sie ein Node.js-Projekt

EIN NEUES NODE. JS-PROJEKT ERSTELLEN

Um ein Node.js-Projekt zu erstellen und Module zu installieren, müssen wir Terminal verwenden. Wenn Sie also unter Windows arbeiten, verwenden Sie CMD und bei Verwendung von macOS verwenden Sie Terminal für alle folgenden Schritte.

1. Erstellen Sie irgendwo einen Ordner für das Projekt

2. CD (Verzeichnis wechseln) zum kürzlich erstellten Ordner. Wenn Sie beispielsweise diesen Ordner 'TelegramBot' genannt und auf dem Desktop abgelegt haben, schreiben Sie dies in das Terminal und drücken Sie die Eingabetaste:

cd Desktop/TelegramBot

3. Geben Sie für das Node.js-Projekt erstellen den folgenden Befehl ein:

npm init

4. Beantworten Sie einige Fragen, einschließlich Name, Beschreibung, Lizenz usw. Wenn Sie nicht wissen, was Sie beantworten sollen, drücken Sie einfach die Eingabetaste. In diesem Fall wird das Wort in Klammern als Standardwert verwendet.

5. Jetzt sollte die Datei 'package.json' in Ihrem Ordner erstellt werden, was bedeutet, dass Sie das Node.js-Projekt erfolgreich erstellt haben.

Schritt 5: Codierung

Wir müssen hier einige Codes schreiben. Lassen Sie uns einige verwendete Bibliotheken beschreiben:

  1. Knotentelegramm-Bot-API zur Verarbeitung von Telegramm-Bot-API-Anfragen.
  2. Johnny-Five-Plattform zum Verbinden mit Arduino.

Alles, was Sie über diese Bibliotheken wissen müssen, finden Sie auf den verlinkten Websites. wir verwenden sie nur in unserem Code, aber die vollständige Dokumentation davon befindet sich in ihren Blogs.

Ich verwende Microsoft Visual Studio Code zur Codebearbeitung. aber Sie können jede andere verwenden, die Sie mögen.1. Öffnen Sie die Codebearbeitungssoftware und erstellen Sie eine Datei namens 'index.js' (oder alles, was Sie im Einstiegspunktteil des Node.js-Projekterstellungsschritts eingegeben haben) im zugehörigen Verzeichnis.

2. Code schreiben:

var five = require("johnny-five");let TelegramBot = require('node-telegram-bot-api'); const-Token = '############################################'; const bot = new TelegramBot(token, { polling: true }); var board = new five. Board(); const answerRückrufe = {};

bot.on("Nachricht", Funktion (Nachricht) {

const callback = answerCallbacks[msg.chat.id]; if (callback) { answerCallbacks löschen[msg.chat.id]; Rückruf (Nachricht); } });

board.on("bereit", Funktion () {

var led = neue fünf. Led(13);

bot.on('Nachricht', (Nachricht) => {

const chatId = msg.chat.id; const text = msg.text; if (text == '/start') { start(chatId, led); } }); });

Funktion start(chatId, led) {

bot.sendMessage(chatId, "Arduino-Systemsteuerung", getKeyboardOptions());

bot.on("callback_query", (callbackQuery) => {

const msg = callbackQuery.message; bot.answerCallbackQuery(callbackQuery.id).then(() => { const data = callbackQuery.data; if (data == 'turnon') {led.on(); } else if (data == 'turnoff') {led.off();}})}); }

Funktion getKeyboardOptions() {

const options = { "reply_markup": { resize_keyboard: true, "inline_keyboard":

Rückgabeoptionen;

}

3. Ersetzen Sie den Wert der Token-Eigenschaft durch einen Wert, den Sie im Bot-Erstellungsschritt notiert haben

4. Speichern Sie den Code

5. Terminal öffnen und folgenden Befehl eingeben:

npm i --save johnny-five node-telegram-bot-api

6. Geben Sie nach der Installation der Module, während Ihr Arduino an den USB-Port angeschlossen ist, im Terminal folgenden Befehl ein:

Knotenindex.js

7. Sie sollten etwas sehen wie:

1534514872949 Verfügbar /dev/cu.usbmodem1411

1534514872957 Verbunden /dev/cu.usbmodem1411 1534514876660 Repl initialisiert >>

8. Öffnen Sie das Telegramm und suchen Sie nach dem Benutzernamen Ihres Bots (oder öffnen Sie ihn von BotFather) und geben Sie diesen Befehl ein:

/Anfang

9. Sie sollten ein Bedienfeld sehen, das die eingebaute Arduino-LED mit den Befehlen "Einschalten" und "Ausschalten" steuern kann, wenn Sie Glück haben;)

Empfohlen: