Arduino UNO Q - Telegram-Bot
Möchten Sie Ihr Arduino UNO Q von überall mit Telegram steuern? Dieses Tutorial zeigt Ihnen, wie Sie einen Telegram-Bot erstellen, der auf der Arduino UNO Q Linux-Seite (Debian) läuft und auf feste Befehle wie /toggle_led oder /status antwortet — ohne KI oder Cloud-Dienst erforderlich.
In diesem Tutorial lernen Sie:
- Wie Sie einen Telegram-Bot mit BotFather erstellen und ein Bot-Token erhalten
- Wie Sie eine MCU-Skizze schreiben, die die Hardwaresteuerung über die Bridge bereitstellt
- Wie Sie ein Python-Skript auf der Arduino UNO Q Linux-Seite schreiben, das Telegram-Befehle empfängt und die MCU steuert
- Wie Sie die vollständige Steuerung von Telegram aus testen

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Funktionsweise
Arduino UNO Q kombiniert zwei Prozessoren:
- STM32 MCU — läuft Ihre Arduino-Skizze. Sie steuert Hardware (LEDs, Relais, Sensoren usw.) in Echtzeit.
- Qualcomm MPU — läuft vollständiges Debian Linux. Sie verbindet sich mit Wi-Fi und kann ein Python-Skript ausführen, das mit Telegram kommuniziert.
Die beiden Prozessoren kommunizieren über die Bridge. Die MCU stellt Hardwarefunktionen über die Bridge bereit, und das Python-Skript auf der Linux-Seite ruft diese Funktionen auf, wenn ein Telegram-Befehl ankommt.
Hier ist der Ablauf für jede Benutzernachricht:
- Benutzer sendet einen Befehl an den Telegram-Bot: /toggle_led
- Python-Skript das auf der Arduino UNO Q Linux-Seite läuft, fragt die Telegram-API ab, empfängt die Nachricht und analysiert den Befehl
- Python-Skript ruft Bridge.call("toggle_led", "") auf, um die MCU zu erreichen
- MCU (STM32) schaltet die LED um und gibt das Ergebnis über Bridge zurück
- Python-Skript sendet die Antwort über Telegram an den Benutzer zurück: LED ist jetzt AN
※ Notiz:
Das Python-Skript verwendet Long Polling — es fragt wiederholt Telegram ab "gibt es neue Nachrichten?" Dies funktioniert ohne öffentliche IP-Adresse oder Portweiterleitung, daher funktioniert es in jedem Netzwerk.
| Funktion | Details |
|---|---|
| Befehlsstil | Feste Befehle (z. B. /toggle_led, /status) |
| Erfordert KI-Modell | Nein |
| Nachrichtenkanal | Nur Telegram |
| Läuft auf | Arduino UNO Q Linux-Seite (Debian) |
| Benötigt öffentliche IP | Nein (nutzt Polling) |
※ Notiz:
Wenn Sie Steuerung in natürlicher Sprache ("schalte die LED an", "wie ist der Status?") über mehrere Kanäle (Telegram, WhatsApp, Discord und mehr) wünschen, siehe das OpenClaw-Tutorial.
Voraussetzungen
Stellen Sie vor Beginn sicher, dass Sie haben:
- Arduino UNO Q läuft — folgen Sie zunächst dem Erste Schritte mit Arduino UNO Q-Tutorial
- Arduino App Lab installiert und funktionierend
- Vertrautheit mit der Bridge — siehe das Kommunikation zwischen Linux und MCU-Tutorial
- Ein Telegram-Konto — installieren Sie Telegram auf Ihrem Telefon oder Desktop von telegram.org
- Arduino UNO Q verbunden mit Wi-Fi, damit die Linux-Seite das Internet erreichen kann
Schritt 1 — Erstellen Sie einen Telegram-Bot mit BotFather
BotFather ist der offizielle Telegram-Bot, der andere Bots erstellt und verwaltet. Sie werden ihn verwenden, um ein Bot-Token zu erhalten — der Schlüssel, den Ihr Python-Skript zum Senden und Empfangen von Nachrichten verwendet.
- Öffnen Sie Telegram und suchen Sie nach @BotFather, oder öffnen Sie diesen Link: t.me/BotFather
- Starten Sie einen Chat und senden Sie:
BotFather
- Senden Sie einen Anzeigenamen für Ihren Bot (kann alles sein):
BotFather
- Senden Sie einen Benutzernamen, der auf bot endet (muss eindeutig über alle Telegram sein):
BotFather
- Kopieren Sie das Bot-Token — es sieht so aus:
※ Notiz:
Halten Sie Ihr Bot-Token geheim. Jeder, der es hat, kann Nachrichten über Ihren Bot senden und empfangen.
Schritt 2 — Arduino UNO Q Code
MCU-Code
Die MCU-Skizze stellt Hardwarekontrollfunktionen über die Bridge bereit. Das Python-Skript auf der Linux-Seite ruft diese Funktionen auf, wenn ein Telegram-Befehl ankommt.
Python-Code
Das Python-Skript läuft auf der Arduino UNO Q Linux-Seite. Es fragt die Telegram-API nach neuen Nachrichten ab, analysiert die Befehle, ruft die MCU über die Bridge auf und sendet Antworten.
Schnelle Schritte
Erstes Mal mit Arduino UNO Q? Folgen Sie dem Erste Schritte mit Arduino UNO Q-Tutorial, um Ihre Entwicklungsumgebung vorzubereiten, bevor Sie fortfahren.
- Verbinden: Stecken Sie die Arduino UNO Q mit einem USB-C-Kabel in Ihren Computer ein.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Ihre Arduino UNO Q erkennt. Dies kann beim ersten Start einige Minuten dauern.
- Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Neue App erstellen.

- App benennen: TelegramBot
- Klicken Sie auf Erstellen, um zu bestätigen.
- Sie sehen einen Satz von Ordnern und Dateien, die in Ihrer neuen App generiert werden.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- Upload: Klicken Sie auf die Schaltfläche Ausführen im Arduino App Lab, um auf den STM32 zu kompilieren und hochzuladen, starten Sie dann das Python-Skript.

- Pro-Tipp: Lassen Sie Arduino App Lab im Hintergrund laufen. Das Python-Skript muss ausgeführt werden, damit Telegram-Befehle die MCU erreichen.
App Lab Konsolenausgabe
Verfügbare Befehle
Sobald der Bot läuft, senden Sie diese Befehle an Ihren Bot in Telegram:
| Befehl | Was es tut |
|---|---|
| /toggle_led | Schaltet die eingebaute LED ein oder aus und antwortet mit dem neuen Status |
| /led_on | Schaltet die LED ein |
| /led_off | Schaltet die LED aus |
| /status | Gibt den aktuellen MCU-Status zurück (Betriebszeit und LED-Status) |
| /help | Listet alle verfügbaren Befehle auf |
Test
Stellen Sie sicher, dass die MCU Bridge-Skizze hochgeladen ist und das Python-Skript im Arduino App Lab läuft. Öffnen Sie dann Telegram, suchen Sie Ihren Bot nach seinem Benutzernamen und senden Sie Befehle:
ArduinoBot
Wenn der Bot nicht antwortet, überprüfen Sie, dass:
- Arduino App Lab offen ist und das Python-Skript ausgeführt wird
- Arduino UNO Q mit Wi-Fi verbunden ist
- BOT_TOKEN im Python-Code korrekt eingestellt ist
- Sie von dem Telegram-Konto aus schreiben, dessen Chat-ID Sie im Code eingestellt haben
Bot erweitern
Um weitere Hardwaresteuerungen hinzuzufügen, folgen Sie diesen Schritten:
- MCU-Seite: Fügen Sie einen neuen Bridge.provide_safe()-Aufruf in der MCU-Skizze für die neue Funktion hinzu.
- Python-Seite: Fügen Sie einen neuen elif command == "/your_command":-Block im Python-Skript hinzu, rufen Sie Bridge.call("your_function", "") auf und senden Sie die Antwort.
Beispiel: Um ein Relaissteuerungsbefehl hinzuzufügen, stellen Sie toggle_relay auf der MCU bereit, fügen Sie dies dann zum Python-Skript hinzu:
Fügen Sie dann /toggle_relay — Relais umschalten zum Text der Antwort /help hinzu.
Projektideen
Sie können dies auf jede Hardware ausweiten, die mit der Arduino UNO Q MCU verbunden ist:
- Remote LED-Streifen-Steuerung: Senden Sie /led_on und /led_off, um dekorative Beleuchtung von überall ein- und auszuschalten
- Sensor-Dashboard: Verwenden Sie /status, um auf Anforderung Temperatur-, Feuchtigkeits- oder Bewegungssensoren-Messwerte zu erhalten
- Türöffner oder Tor-Steuerung: Senden Sie /unlock, um ein Relais auszulösen, das ein elektromagnetisches Schloss öffnet
- Alarmsystem: Kombinieren Sie Polling mit periodischen MCU-Statusprüfungen, um Ihnen eine Telegram-Nachricht zu senden, wenn ein Schwellwert überschritten wird (z. B. Temperatur zu hoch)
- Multi-Command-Panel: Fügen Sie Befehle für mehrere Geräte hinzu und steuern Sie Ihr ganzes Labor aus einem Telegram-Chat
Fordern Sie sich selbst heraus
Bereit, weiterzugehen?
- Einfach: Fügen Sie einen /blink-Befehl hinzu, der die LED dreimal blinken lässt und antwortet "Erledigt!", wenn fertig.
- Mittel: Fügen Sie einen Passwort-Check hinzu — der Bot antwortet nur auf Befehle, die mit einem geheimen Schlüsselwort beginnen (z. B. /abc123 toggle_led), sodass selbst wenn jemand Ihren Bot-Benutzernamen kennt, die Hardware ohne Passwort nicht gesteuert werden kann.
- Fortgeschritten: Verbinden Sie einen Temperatursensor mit der MCU, stellen Sie ihn über die Bridge bereit, fügen Sie einen /temperature-Befehl hinzu und konfigurieren Sie den Bot, um Ihnen eine automatische Benachrichtigung zu senden, wenn die Temperatur einen festgelegten Schwellwert überschreitet.