für Arduino zu PC habe ich eine Lösung entwickelt, die Werte werden übertragen per
VarName (der Token)
und arg (sein Wert als ASCII String),
beiden bilden zusammen eine Übertragungseinheit
(Übrigens funktioniert es genau so auch die Übertragung von html-strings von Arduino-esp8266-WebClients zu WebServern und weder zurück, per esp8266, die bei WifiServer.h integriert ist, für WebServer.h habe ich sie zusätzlich implementiert)
Jede Einheut wird übertragen als
"&VarName1=arg1;&varName2=arg2; &varName3=arg3;....\n"
Die Werte sind dabei strings, also Zahlen, die per itoa oder ftoa umgewandelt wurden.
'&' ist dabei das Startzeichen des VarNames, '=' das Ende und der Beginn des arg-Wert-Strings, ';' schließlich ist das Ende des arg-Wert-Strings und '\n' das Ende des gesamten msg-Strings..
Der Empfänger klambüsert dann wieder diesen String zu einzelnen Tokens auseinander und ordnet den einzelnen Zielvariablen des Empfängers die einzelnen Werte des Senders zu.
Suchst du so etwas? Wenn ja, kann ich dir den Code verlinken.
Vorteil: die Tokens können beliebig gruppiert werden und können auch nur beliebige Untermengen enthalten. Weiterhin besonders geeignet, wenn auch int und float übertragen werden sollen.
Lesezeichen