Arduino UNO Q - RS485
Verwenden Sie RS485-Serienkommunikation mit dem Arduino UNO Q und einem TTL-zu-RS485-Modul. RS485 unterstützt Fernkommunikation (bis zu 1200 m), hohe Störunempfindlichkeit und Multi-Device-Bus-Topologien – was es ideal für Industrie- und Automatisierungsprojekte macht. Mit Bridge und Telegram können Sie RS485-Daten remote von Python oder Ihrem Telefon aus senden und empfangen.
In diesem Tutorial lernen Sie:
- Wie RS485-Kommunikation funktioniert und warum ein TTL-zu-RS485-Modul erforderlich ist
- Wie Sie das TTL-zu-RS485-Modul mit dem Arduino UNO Q verdrahten
- Wie Sie Daten über RS485 auf Arduino UNO Q senden und empfangen
- Wie Sie Bridge zur Steuerung der RS485-Kommunikation von Python auf Arduino UNO Q verwenden
- Wie Sie RS485-Daten über Telegram auf Arduino UNO Q senden und empfangen
- Wie Sie OpenClaw auf Arduino UNO Q mit RS485 verwenden

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das TTL zu RS485 Modul
Die Arduino UNO Q MCU kommuniziert über UART mit TTL-Logikpegeln (3,3 V). TTL-Signale sind in der Reichweite begrenzt. Um über lange Entfernungen mit RS485-kompatiblen Geräten (Sensoren, Antrieben, Messgeräten, Industriereglern) zu kommunizieren, müssen Sie TTL-Signale in den differenziellen RS485-Standard konvertieren. Das TTL-zu-RS485-Modul führt diese Konvertierung in beide Richtungen durch.
RS485 Hauptvorteile:
- Lange Entfernung: bis zu 1200 Meter
- Hohe Störunempfindlichkeit
- Multi-Drop-Bus: bis zu 32 Geräte auf einem einzelnen Bus

Pinbelegung
- TTL-Schnittstelle (Verbindung zu Arduino UNO Q MCU):
- VCC: Stromversorgung — verbinden Sie mit 3,3 V
- GND: Masse
- RXD: Dateneingabe — verbinden Sie mit MCU TX Pin (D6)
- TXD: Datenausgabe — verbinden Sie mit MCU RX Pin (D7)
- RS485-Schnittstelle:
- D+ (A oder TR+): Differenzielle Datenleitung A
- D- (B oder TR-): Differenzielle Datenleitung B
- GND: Optional — verbinden Sie zur Rauschreduzierung
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| TTL-zu-RS485 Modul Pin | Arduino UNO Q MCU Pin | Notiz |
|---|---|---|
| VCC | 3.3V | |
| GND | GND | |
| RXD | D6 (MCU TX) | |
| TXD | D7 (MCU RX) |
Verbinden Sie D+ und D- mit dem RS485-Bus. Beim Testen mit einem PC verbinden Sie diese mit einem USB-zu-RS485-Adapter.
Programmierung für RS485
- Include SoftwareSerial und erstellen Sie ein RS485-Serialobjekt:
- Lesen Sie eingehende RS485-Daten:
- Senden Sie Daten über RS485:
Arduino UNO Q Code
Schnelle Schritte
Erste Schritte mit Arduino UNO Q? Folgen Sie zunächst dem Tutorial Erste Schritte mit Arduino UNO Q.
- Verdrahten Sie: Verbinden Sie das TTL-zu-RS485-Modul mit dem Arduino UNO Q MCU wie im Verdrahtungsdiagramm gezeigt.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis Ihr Arduino UNO Q erkannt wird.
- Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Neue App erstellen.

- Geben Sie der App einen Namen, zum Beispiel: RS485
- Klicken Sie auf Erstellen, um zu bestätigen.

- Fügen Sie die Skizze ein: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Hochladen: Klicken Sie auf die Schaltfläche Ausführen in Arduino App Lab.

Testen
So testen Sie die RS485-Kommunikation:
- Verbinden Sie die D+ und D- Pins mit einem USB-zu-RS485-Adapter:

- Stellen Sie die Baudrate auf 9600 ein und wählen Sie den richtigen COM-Port.
- Geben Sie beliebigen Text ein und senden Sie ihn. Der Arduino UNO Q gibt ihn zurück — Sie sollten die echten Daten im Terminal sehen.
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie RS485-Daten von der Linux-Seite (Python) über Bridge senden und empfangen:
- Das TTL-zu-RS485-Modul ist über SoftwareSerial mit dem MCU verbunden — der MCU verwaltet alle seriellen E/A
- Die MPU kann SoftwareSerial nicht direkt verwenden — sie ruft Bridge-Funktionen auf, um RS485-Daten zu senden/empfangen
- Die MPU hat Wi-Fi — sie führt vollständige Debian Linux aus und kann RS485-Daten an Telegram oder Webdienste weiterleiten
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT vom Router — öffnen Sie sie niemals im Benutzercode
MCU Code (Bridge)
Python Code (Bridge)
Schnelle Schritte
- Verdrahten Sie: Verbinden Sie das TTL-zu-RS485-Modul mit dem Arduino UNO Q wie oben gezeigt.
- Öffnen Sie Arduino App Lab und erstellen Sie eine neue App mit dem Namen RS485Bridge.
- Fügen Sie die MCU-Skizze in sketch/sketch.ino ein.
- Fügen Sie den Python-Code in die Python-Datei ein.
- 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.
- Hochladen: Klicken Sie auf die Schaltfläche Ausführen. Python sendet eine Nachricht über RS485 und liest alle echten Daten zurück.

App Lab Konsolenausgabe
Telegram
Senden und empfangen Sie RS485-Daten über Telegram — leiten Sie Nachrichten von Industriesensoren auf Ihr Telefon weiter oder senden Sie Befehle von Telegram an ein RS485-Gerät.
MCU-Skizze: Behalten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt.
Python Code (Telegram)
Schnelle Schritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihren echten Bot-Token von BotFather.
- Ersetzen Sie YOUR_CHAT_ID durch Ihre Telegram-Chat-ID.
- Fügen Sie den Python-Code in die Python-Datei Ihrer App ein (behalten Sie die gleiche MCU-Skizze).
- Klicken Sie auf die Schaltfläche Ausführen — senden Sie /send Hello in Telegram, um Daten über RS485 zu übertragen.
App Lab Konsolenausgabe
ArduinoBot
OpenClaw
You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial
Projektideen
Sie können viele nützliche Projekte mit RS485-Kommunikation und Arduino UNO Q erstellen:
- Industrielles Sensornetzwerk: Verbinden Sie mehrere RS485-Sensoren (Temperatur, Luftfeuchtigkeit, Durchfluss) auf einem einzelnen Bus; der MCU fragt jedes Gerät nach Adresse ab, sammelt Messwerte ein und Python sendet regelmäßig Zusammenfassungen an Telegram
- Modbus RTU Datenlogger: Verwenden Sie den RS485-Bus, um Modbus RTU Register von einem Energiemessgerät oder VFD zu lesen; Python protokolliert die Daten in einer Datei und sendet Warnungen, wenn Werte Schwellwerte überschreiten
- Ferngesteuerte Relaissteuerung: Führen Sie RS485-Draht über 100 m zu einem Remote-Relaismodul; senden Sie /send RELAY_ON von Telegram aus und der Arduino UNO Q leitet den Befehl über RS485 weiter, um das Relais auszulösen
- Zugangskontrollpanel: Verbinden Sie einen RS485-Zugangsregler mit dem Modul; der MCU liest Türereignisse und Python leitet sie als Telegram-Benachrichtigungen weiter — zeigt, welche Tür sich öffnete und wann
- Building Automation Gateway: Verbinden Sie RS485 HVAC oder Beleuchtungsregler mit dem Internet; Python übersetzt Telegram-Befehle in RS485-Befehlszeichenfolgen und sendet sie über die send_rs485 Bridge-Funktion
Fordern Sie sich selbst heraus
Bereit, mit RS485 auf Arduino UNO Q noch weiter zu gehen? Probieren Sie diese Herausforderungen:
- Leicht: Erweitern Sie die Bridge-Skizze, um empfangene Bytes in Zeilen zu sammeln (using \n as delimiter) und die letzte vollständige Zeile über get_last_line bereitzustellen — verhindert Teillesevorgänge, wenn RS485-Daten in Chunks ankommen.
- Mittel: Implementieren Sie einen Modbus-Style-Adressfilter: ändern Sie die MCU-Empfangsschleife so, dass sie nur Nachrichten akzeptiert, die mit einem bestimmten Geräteadressbyte beginnen (z. B. 0x01), Puffering nur gültige Frames — und stellen Sie die gefilterte Payload über get_received bereit.
- Erweitert: Erstellen Sie ein Multi-Device-Abfragsystem: speichern Sie eine Liste mit RS485-Geräteadressen in einer Python-JSON-Konfiguration; Python sendet sequenziell eine Abfrageanweisung an jede Adresse über send_rs485, wartet auf eine Antwort über get_received und protokolliert jede Antwort in einer zeitgestempelten CSV-Datei — erstellt einen leichten RS485-Datenlogger, der vollständig auf der Linux-Seite von Arduino UNO Q läuft.