Arduino UNO Q - RS232

Verwenden Sie RS232-Serienkommunikation mit Arduino UNO Q und einem TTL-zu-RS232-Modul. Der MCU kommuniziert über SoftwareSerial, das Modul konvertiert TTL-Signale in RS232-Spannungspegel für Fernserial-Kommunikation über lange Entfernungen. Mit Bridge und Telegram können Sie RS232-Daten remote von Python oder Ihrem Telefon senden und empfangen.

In diesem Tutorial erfahren Sie:

Arduino UNO Q RS232

Erforderliche Hardware

1×Arduino UNO Q
1×USB-Kabel für Arduino UNO Q
1×TTL zu RS232 Modul
1×Jumper-Kabel
1×(Optional) RS232 zu USB-Kabel
1×(Optional) RS232 Geschlechtsumwandler
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Sensors/Servo Expansion Shield for Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über das TTL zu RS232 Modul

Der Arduino UNO Q MCU kommuniziert über UART mit TTL-Logikpegeln (3,3V). TTL-Signale reisen nur kurze Entfernungen. Um über längere Entfernungen mit RS232-kompatiblen Geräten (Speicherprogrammierbare Steuerungen, ältere Computer, Industrieausrüstung) zu kommunizieren, müssen Sie das TTL-Signal in RS232-Spannungspegel (typischerweise ±12V) konvertieren. Das TTL-zu-RS232-Modul führt diese Konvertierung in beide Richtungen durch.

RS232-Modul-Pinbelegung

Pinbelegung

  • TTL-Schnittstelle (Verbindung zu Arduino UNO Q MCU):
    • VCC: Stromversorgungseingang — mit 3,3V verbinden
    • GND: Masse
    • RXD: Dateneingabe — mit MCU TX-Pin (D6) verbinden
    • TXD: Datenausgang — mit MCU RX-Pin (D7) verbinden
  • RS232-Schnittstelle: DB9 weiblicher D-Sub-Stecker — mit Ihrem RS232-Gerät verbinden

Verdrahtungsdiagramm

Arduino UNO Q TTL zu RS232-Modul-Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

TTL-zu-RS232-Modul-Pin Arduino UNO Q MCU-Pin Hinweis
VCC 3.3V
GND GND
RXD D6 (MCU TX)
TXD D7 (MCU RX)

Verbinden Sie den DB9-Stecker mit Ihrem RS232-Gerät oder RS232-zu-USB-Kabel.

So programmieren Sie für RS232

  • Binden Sie SoftwareSerial ein und erstellen Sie ein RS232-Seriell-Objekt:
#include <SoftwareSerial.h> SoftwareSerial rs232(7, 6); // RX: D7, TX: D6
  • Lesen Sie eingehende RS232-Daten:
if (rs232.available()) { char data = rs232.read(); }
  • Senden Sie Daten über RS232:
rs232.print("Hello from Arduino UNO Q"); rs232.println("With newline");

Arduino UNO Q Code

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-rs232 */ #include <SoftwareSerial.h> SoftwareSerial rs232(7, 6); // RX: D7, TX: D6 void setup() { Monitor.begin(9600); // USB serial for debug output rs232.begin(9600); // RS232 module serial delay(100); } void loop() { // Forward data from RS232 to Monitor if (rs232.available()) { char data = rs232.read(); Monitor.print(data); rs232.print(data); // echo back to sender } // Forward data from Monitor to RS232 if (Monitor.available()) { char data = Monitor.read(); rs232.print(data); } }

Schnelle Schritte

Erstes Mal mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q bevor Sie fortfahren.

  • Verbinden: Verdrahten Sie das TTL-zu-RS232-Modul mit Arduino UNO Q MCU wie im Verdrahtungsdiagramm gezeigt.
  • Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Ihren Arduino UNO Q erkennt.
  • Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Neue App erstellen.
Neue App in Arduino App Lab auf Arduino UNO Q erstellen
  • Geben Sie der App einen Namen, z. B.: RS232
  • Klicken Sie auf Erstellen, um zu bestätigen.
Arduino App Lab App-Ordner und -Dateien auf Arduino UNO Q
  • Fügen Sie die Skizze ein: Kopieren Sie den obigen MCU-Code und fügen Sie ihn in sketch/sketch.ino ein.
  • Hochladen: Klicken Sie in Arduino App Lab auf die Schaltfläche Ausführen.
Klicken Sie auf die Schaltfläche Ausführen in Arduino App Lab auf Arduino UNO Q

Testen

So testen Sie die RS232-Kommunikation:

  • Verbinden Sie den DB9-Port des Moduls mit Ihrem PC über ein RS232-zu-USB-Kabel:
Arduino UNO Q RS232 zu PC-Kommunikation
  • Öffnen Sie ein Serielles Terminal (z. B. Tera Term oder PuTTY) auf Ihrem PC.
  • Stellen Sie die Baudrate auf 9600 ein, wählen Sie den richtigen COM-Port aus.
  • Geben Sie einen beliebigen Text ein und senden Sie ihn. Arduino UNO Q wird ihn zurückgeben — Sie sollten die zurückgegebenen Daten im Terminal sehen.

Bridge: Linux + MCU

Dieser Abschnitt zeigt, wie Sie RS232-Daten von der Linux-Seite (Python) über Bridge senden und empfangen:

  • Das TTL-zu-RS232-Modul ist über SoftwareSerial mit dem MCU verbunden — der MCU handhabt alle seriellen E/A-Operationen
  • Der MPU kann SoftwareSerial nicht direkt verwenden — er ruft Bridge-Funktionen auf, um RS232-Daten zu senden/empfangen
  • Der MPU verfügt über Wi-Fi — Laufen mit vollständigem Debian Linux kann er RS232-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)

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-rs232 */ #include "Arduino_RouterBridge.h" #include <SoftwareSerial.h> SoftwareSerial rs232(7, 6); // RX: D7, TX: D6 String received_data = ""; String send_rs232(String arg) { rs232.println(arg); Monitor.print("Sent via RS232: "); Monitor.println(arg); return "ok:sent"; } String get_received(String arg) { String result = received_data; received_data = ""; return result; } void setup() { Bridge.begin(); Monitor.begin(); rs232.begin(9600); delay(100); Bridge.provide_safe("send_rs232", send_rs232); Bridge.provide("get_received", get_received); Monitor.println("Arduino UNO Q RS232 Bridge ready"); } void loop() { // Accumulate incoming RS232 data between Bridge calls while (rs232.available()) { char c = rs232.read(); received_data += c; } }

Python-Code (Bridge)

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-rs232 */ from arduino.app_utils import * import time def loop(): print("Sending message via RS232...") result = Bridge.call("send_rs232", "Hello from Arduino UNO Q!") print(f"Result: {result}") time.sleep(1) data = Bridge.call("get_received") if data: print(f"Received via RS232: {data}") else: print("No data received") time.sleep(2) App.run(user_loop=loop)

Schnelle Schritte

  • Verbinden: Verdrahten Sie das TTL-zu-RS232-Modul mit Arduino UNO Q wie oben gezeigt.
  • Öffnen Sie Arduino App Lab und erstellen Sie eine neue App namens RS232Bridge.
  • 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.
Add sketch library in Arduino App Lab on Arduino UNO Q
  • Search for Arduino_RouterBridge created by Arduino and click the Install button.
My Apps / DIYables Apps
Run
Bricks
No bricks added...
Sketch Libraries
No sketch libra...
Files
python
sketch
.gitignore
README.md
app.yaml
sketch.ino
Add sketch library
Arduino_RouterBridge Arduino

This library provides a simple RPC bridge for Arduino UNO Q boards, allowing communication between the board and other devices using MsgPack serialization.

0.4.1
Install
More Info
  • Hochladen: Klicken Sie auf die Schaltfläche Ausführen. Python sendet eine Nachricht über RS232 und liest alle zurückgegebenen Daten.
Klicken Sie auf die Schaltfläche Ausführen in Arduino App Lab auf Arduino UNO Q

App Lab-Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
New Line
9600 baud
[2026-04-29 09:00:01] Arduino UNO Q RS232 Bridge bereit [2026-04-29 09:00:06] Über RS232 gesendet: Hello from Arduino UNO Q!
DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:00:06] Nachricht über RS232 wird gesendet... [2026-04-29 09:00:06] Ergebnis: ok:sent [2026-04-29 09:00:07] Über RS232 empfangen: Hello from Arduino UNO Q!

Telegram

Senden und empfangen Sie RS232-Daten über Telegram — leiten Sie Nachrichten von Industriegeräten auf Ihr Telefon weiter oder senden Sie Befehle von Telegram an ein RS232-Gerät.

MCU-Skizze: Behalten Sie dieselbe MCU-Skizze aus dem vorherigen Bridge-Abschnitt.

Python-Code (Telegram)

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-rs232 */ from arduino.app_utils import * import requests import time TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" CHAT_ID = "YOUR_CHAT_ID" last_update_id = 0 def get_updates(): global last_update_id url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/getUpdates" params = {"offset": last_update_id + 1, "timeout": 5} try: response = requests.get(url, params=params, timeout=10) data = response.json() if data["ok"]: return data["result"] except Exception as e: print(f"Error getting updates: {e}") return [] def send_message(chat_id, text): url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage" payload = {"chat_id": chat_id, "text": text} try: requests.post(url, data=payload, timeout=10) except Exception as e: print(f"Error sending message: {e}") def loop(): updates = get_updates() for update in updates: last_update_id = update["update_id"] if "message" not in update: continue message = update["message"] chat_id = message["chat"]["id"] text = message.get("text", "").strip() print(f"Received: {text}") if text == "/start": send_message(chat_id, "Arduino UNO Q RS232 Bot\n" "/send <message> - Send a message via RS232\n" "/read - Read data received from RS232") elif text.startswith("/send"): parts = text.split(" ", 1) if len(parts) < 2: send_message(chat_id, "Usage: /send <message>") else: result = Bridge.call("send_rs232", parts[1]) send_message(chat_id, f"Sent via RS232: {parts[1]}") elif text == "/read": data = Bridge.call("get_received") if data: send_message(chat_id, f"Received via RS232:\n{data}") else: send_message(chat_id, "No data received yet.") else: send_message(chat_id, "Unknown command. Send /start for help.") time.sleep(0.3) App.run(user_loop=loop)

Schnelle Schritte

  • Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihr eigentliches 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 dieselbe MCU-Skizze).
  • Klicken Sie auf die Schaltfläche Ausführen — senden Sie /send Hello in Telegram, um Daten über RS232 zu übertragen.

App Lab-Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:10:05] Empfangen: /send Hello RS232 device! [2026-04-29 09:10:09] Empfangen: /read
Telegram
Telegram 12:45
Welcome to Telegram!
ArduinoBot 10:19
Chatting with Arduino...
telegram-botfather
BotFather Yesterday
Your bot has been created.

ArduinoBot

bot
Today
/send Hello RS232 device!
10:15 AM ✓✓
Über RS232 gesendet: Hello RS232 device!
10:16 AM
/read
10:17 AM ✓✓
Über RS232 empfangen: Hello RS232 device!
10:18 AM

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 RS232-Kommunikation und Arduino UNO Q erstellen:

  • Industrie-PLC-Gateway: Verbinden Sie Arduino UNO Q über RS232 mit einer PLC oder einem Industrieregler; Python leitet empfangene Statusnachrichten an Telegram weiter, damit Sie Fabrikausrüstung von Ihrem Telefon aus überwachen können
  • Barcode-Scanner-Integration: Verbinden Sie einen RS232-Barcode-Scanner mit dem TTL-zu-RS232-Modul; wenn ein Barcode gescannt wird, liest der MCU die Daten über SoftwareSerial und Python sendet sie an Telegram zur Protokollierung
  • Steuerung von Legacy-Serialdruckern: Senden Sie Druckbefehle von Telegram über Bridge an den MCU, der sie über RS232 an einen Legacy-Serioldrucker oder Anzeigeterminal weiterleitet — moderne kabellose Steuerung mit älteren Serialhardware verbinden
  • GPS mit RS232-Ausgang: Verbinden Sie einen RS232-Ausgangs-GPS-Empfänger mit dem Modul; der MCU liest NMEA-Sätze, Python analysiert die Daten und Telegram sendet bei Bedarf Standortupdates
  • Remote-Seriell-Diagnose: Leiten Sie RS232-Debug-Ausgabe von einem eingebetteten Gerät über Bridge an Telegram weiter — nützlich zur Überwachung entfernter Geräte ohne Zugriff auf ein Serielles Terminal

Fordern Sie sich selbst heraus

Sind Sie bereit, sich mit RS232 auf Arduino UNO Q weiterzubilden? Versuchen Sie diese Herausforderungen:

  • Einfach: Ändern Sie die MCU-Skizze so, dass empfangene Bytes akkumuliert werden, bis ein Newline-Zeichen erkannt wird, dann exponieren Sie die vollständige Zeile als einzelnen String über get_received — vermeiden Sie Teillesevorgänge, wenn Daten in Teilen ankommen.
  • Mittel: Erstellen Sie ein bidirektionales Relais: Python liest Temperatur von einem Sensoren Bridge-Funktion und formatiert eine Statuszeichenkette, sendet sie über send_rs232 alle 30 Sekunden und liest gleichzeitig RS232-Antworten mit get_received — leitet sie als Telegram-Benachrichtigungen weiter.
  • Fortgeschritten: Implementieren Sie eine Nachrichtenwarteschlange: Python verwaltet eine Liste ausgehender RS232-Nachrichten, sendet sie über send_rs232 pro Sekunde und sammelt alle Antworten mit get_received; nach jedem Batch sendet es eine Telegram-Zusammenfassung, die zeigt, wie viele Nachrichten gesendet und welche Antworten empfangen wurden.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!