Seriell Zeichenketter (Wörter) einlesen

Hallo Zusammen,

ich hab jetzt schon viel gesucht, aber eine wirklich zufriedenstellende Lösung habe ich leider noch nicht gefunden:

Ich möchte gerne über die Serielle Schnittstelle Daten vom PC zum Arduino senden. Aber die ganzen Anleitungen beziehen sich fast ausschließlich auf einzelne Zeichen. Wie ich zusammenhängende Zahlen einlesen kann konnte ich bereits herausfinden.

Nun möchte ich aber Befehle über die Kommandozeile an den Arduino schicken. Zum Beispiel "Licht_An" um eine LED einzuschalten.

Wie bekomme ich es hin, das ich diese "Zeichenkette" in eine Variable bekomme, so das ich dann Quasi nach dem Einlesen der Seriellen Daten sagen kann

if (eingeleseneDaten == "Licht_An") {Output; HIGH}

Klar könnte ich auch einfach ein Zeichen für An und eines für Aus deklarieren, allerdings ist die ganze Peripherie zu umfangreich und es soll auch für die Benutzer, die Eingaben tätigen, leicht verständlich sein.

Vielen dank schon mal im Vorraus :slight_smile:

Flo

Dann solltest Du Dich mal etas mit Zeichenketten beschäftigen. Hier etwas zum Einarbeiten. Eine serielle Leseroutine ist auch dabei.

Gruß Tommy

(deleted)

Lesestoff: C Strings und dort besonders strncmp.

Und zum Vergleichen strcmp()

Hi

Ob Es wirklich 'für die Benutzer einfacher ist', in einem Terminal halb-kryptische Befehle einzutippen, anstatt mittels Menü eine Auswahl zu treffen und die Kommunikation unter den µC geschieht eben mit codierten Befehlen.
NOCH schicke ich "F3 BF 00 80 01 01 -- --" per Terminal durchs Netzwerk, um am Knoten 0x00BF den Kanal 0x80 auf AN zu stellen - sollte der empfangene Knoten NICHT die ID 0x00BF inne haben, ist die letzte 01 dafür da, um den Befehl auch bei nicht zutreffender ID weiterzuleiten (ansonsten schickt mir der Knoten den Befehl quasi als Bestätigung zurück).
(F3 Schalte Kanal, BF 00 ID des Empfänger, 80 Nr des Kanal (ab 0x80 sind's Expander), 01 EINschalten, 01 Weiterleiten - letzte 01 wird vor Bestätigung auf 00 gesetzt, damit Das nicht in Endlosschleife den Buy zumüllt).
Eine Überarbeitung ist ebenfalls angedacht, aber zuerst soll Das, was überarbeitet werden soll, richtig laufen.

Dieses F3...01 brauche ich z.B. meiner Mutter nicht zumuten :wink:
Ihr reicht's völlig, wenn Sie 'Heizung an' in einem Menü anwählen kann und die Heizung geht an.
Sie wäre auch echt nicht der Typ, Der Sich ein Terminal-Programm auf Laptop oder Handy lädt, um Da dann 'Licht_an' zu tippen - auch müsste ja noch ein Empfänger anwählbar sein, oder der Laptop müsste an Deinen Empfänger angeschlossen werden - hier sehe ich keine wirkliche Benutzerfreundlichkeit.

MfG

postmaster-ino:

  • hier sehe ich keine wirkliche Benutzerfreundlichkeit.

Da stimme ich zu und möchte noch die Kreativität des Menschen ergänzen. Mir würde "Licht an" besser gefallen oder "Es werde hell!". Selbst ungewollte Vertipper sind beliebt. Außerdem ist das Eintippen von Klartext umständlich, "Licht an" hat eine Menge Buchstaben. Mit einem Menü dürfte man mit weniger Klicks auskommen.