ich bekomme von einem seriellen Gerät Daten. Diese sind aber so unlesbar (kann sie nicht mal kopieren um sie hier einzufügen).
Ich weiß das jede Datensendung mit dreimal xFFxFFxFF endet - an andere Stelle habe ich das als ein kleines y mit zwei Punkten darauf gesehen - hier auch.
Wie decodiere ich solche Zeichenketten wieder in lesbaren Text?
Hallo Joachim,
drei mal 0xFF, dann meinst Du das HMI Display. Das Display verschickt nur von Dir programmierte Texte und wenn Du entsprechende Häkchen setzt: Hex-Zeichen als Rückgabewerte und bei Syntaxfehler auch Hexwerte laut
Format of Device Return Data
aus dieser Info-Seite
Aber Die kennst Du sicher
Ich hatte, um meine Texte wieder zu finden ein Semikolon in den Text bzw am Ende des Textes gesetzt und einen entsprechenden Cutter programmiert.
Diese komischen Y sind Asci-Zeichen von Hex-Zeichen, wenn Du auf Hex schaltest siehst Du, dass es 0xFF ist
Gruß Helmut
Das Display gibt keine Hex-Zeichen, die man in ASCII Zeichen wandeln kann zurück.
Nicht dass ich wüßte…wenn man das möchte: selbst ist der Mann, ist ja programmierbar
Wenn Du lesen willst, was das Display bei den verschiedenen Button und Schiebereglern Dir übergibt ist der Editor im Debug Fenster eine Hilfe, aber ich denke den wirst Du kennen.
In dem Parse-Fenster stehen die dann kommenden Hexwerte und darunter die Erklärung, auswertbar mit IP-Symcon über Cutter und Script
Nur kommt es in HEX, wenn Du Texte kommen lassen willst, geht ja auch, dann setzt Du keine Haken, sondern schreibst Print Zeilen in die jeweilige Button-Zustände.
Die kannst Du dann als Texte über/im Cutter auch auswerten, das hatte ich bei meinem Grundriss-Display gemacht.
In Hamburg hatte ich diese Auswerterei auf dem Beamer gezeigt
Ist sicher besser überschaubar, wenn man(n) im Debugfenster von IP-Symcon die ankommende Textmitteilung schön zuordnen kann und dann die Entscheidungsschleifen programmiert zB:
// 2. Variable auswerten
if ($Text == "Wz Licht")
{
$Zustand=GetValueBoolean(18140 /*[HMI Display\HMI Status Display\EG HMI Display\Wz Licht]*/);
SetValueBoolean(18140 /*[HMI Display\HMI Status Display\EG HMI Display\Wz Licht]*/,!$Zustand);
}
Dort hatte ich das Semikolon im Text um es im Cutter zu finden
Aber es würde auch nur mit HEX-Zeichen funktionieren
Kannst du mal einen Screenshot im Debugfenster der seriellen Instanz machen (Hexmode). Was sendest du vom Display? Schon mal mit CHR($string) versucht damit erhältst du den ASCII wert der einzelnen Zeichen?!
Gruss Tommy
Ich weiß nicht wozu… was hat Das für einen geistigen Nährwert, wozu die festgelegten Hexwerte, dessen Code, ID oder Stellenwert festgelegt sind, wozu in ASCII wandeln?
Man kann die Hexwerte aufteilen und in Schleifen schön auswerten, wenn man sie mit den entsprechenden Werten vergleicht, klär mich auf
Gruß Helmut
…wie das immer so ist, mit dem Wald und den Bäumen…
Ich hatte fest den Text erwartet, der im Nextion-Editor bei den Elementen steht. Diverse Dinge ausprobiert, dazu die Herausforderung des JSON-Daten-Transport, die Wärme und die familiären Aufgaben - verrannt, einfach verrannt…:rolleyes:
Aber: Wieder einmal hat diese Community meinen Blick freigeräumt, dafür herzlichen Dank!
Jetzt, wo die Kommunikation in meinem IPS2GPIO-Modul zum Nextion-Display steht, geht es an die Fleißaufgaben…