Auf der Suche nach einem Protokoll/Standard für serielle Kommuniktaion

Hallo,

die eine oder andere Sache habe ich mit einem Arduino bereit realisiert. Jedoch habe ich bislang z.B. das Übermitteln von Steuerungsbefehlen über einfache Bytes gemaacht.

Nun bin ich auf das hier gestossen: jeroendoggen / Arduino-serial-messaging

Die dortigen Libarys muss ich mir herunterladen und sie mit angeben, vermute ich.

Die parity ist mir auch noch nicht ganz klar.

Oder anders formuliert:

ich möchte gerne für mich ein universelles "Protokoll" nutzen bzw. parat halten, welches es mir ermöglicht, Steuerbefehle und Messwerte per serieller Verbindung eines Arduinos zu übertragen. Gerne auch an einen Raspberry PI..

Da tue ich mich immer wieder schwer mit... Hat da jmd. einen Tip oder vielleicht auch ein paar erklärende Worte zu dem o.g. Link?

Danke!

Klartext?

Universell ist da nichts wirklich. Du legst dich immer auf irgendwelche Konventionen fest die beide Seiten einhalten müssen. Wenn es sich um zwei Arduinos handelt ist es kein Problem solche Bibliotheken zu verwenden. Wenn auf der anderen Seite ein nicht-Arduino ist, muss der aber auch das Protokoll implementieren. Da ist es dann schon hilfreich wenn wie in deinem Link da auch auch fertige Bibliothek vorliegt

(deleted)

Aber vielleicht hilft da das Studium des TCP/IP Protokolstacks weiter?

:(

Ich habe so wenig Erfahrung/Können, dass ich dich eingehenden Bytes nicht mal in eine Array oder dergleichen schreiben kann.

Ich hatte gehofft, es hat jmd. vielleicht ein Link zu einem Blog o. ä., der die Basics erklärt. Es wird ann wohl auf den Klartext hinauslaufen..

Universell - ist viell. etwas missverständlich ausgedrückt, ich wünschte mir einen für mich universellen Ablauf, den ich überall in meinen Vorhaben verwenden könnte.

Mir gings auch um eine Art Prüfsumme..

spel: Mir gings auch um eine Art Prüfsumme..

CRC ist einfach zu implementieren

Eine verbreitete Lib ist der CmdMessenger.

Du solltest aber immer bedenken, je universeller das Protokoll/die Lib, umso größer ist in der Regel der Overhead. Deshalb sind im Normalfall schmale Protokolle, die genau an den Verwendungszweck angepasst sind, die effektivste Lösung.

Die grundlegendste Entscheidung, die Du treffen musst: Soll die Übertragung

a) binär (weniger Bytes, keine Umwandlungen auf beiden Seiten, aber nicht direkt lesbar, schlecht zwischen verschiedenen Systemen austauschbar) b) in Textform (mehr Bytes, Umwandlung nötig, direkt lesbar, zwischen verschiedenen Systemen gut austauschbar)

passieren.

Nach dieser Entscheidung schreibst Du Dir genau auf, was Du wie übertragen willst und wie wichtig ist eine Absicherung der Übertragung gegen Fehler (Checksummen nötig?)

Danach hast Du alle Informationen, um Entscheidungen zu treffen und zu programmieren.

Gruß Tommy

Edit: Einige Informationen zu Zeichenketten und damit auch Char-Arrays habe ich hier beschrieben.

@Tommy56

Danke!