Laden...

Daten an LED-Controller senden.

Erstellt von Kilmister vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.527 Views
K
Kilmister Themenstarter:in
1 Beiträge seit 2019
vor 4 Jahren
Daten an LED-Controller senden.

Hallo zusammen,
ich bin relativ unerfahren, was Programmiersprachen angeht und habe mir mittels diverser Tutorials ein bisschen den Umgang mit c# angeeignet, und damit eine Software für unsere Dartabende Programmiert (Spielauslosung "jeder gegen jeden", Scoring, Statistiken usw.), diese funktioniert auch soweit sehr gut, wir nutzen das Programm schon eine ganze Weile.

Eine Idee ist es, dass sich jeder Spieler eine Farbe aussuchen kann, in der dann das Oche ("Abwurfpodest") leuchtet, dieses habe ich mittels eines LED Stripes, sowie eines passenden Wifi-Controllers auch hinbekommen.

Die TCP Verbindungn aufzubauen und den entsprechenden Code mittels byte array zu senden bekomme ich problemlos hin.

byte[] bytes = new byte[] { 0x38, 0xff, 0x00, 0x00, 0x22, 0x83 };

               
                NetworkStream networkStream = clientSocket.GetStream();
                networkStream.Write(bytes, 0, bytes.Length);

(0x38 = Startflag, 0xff, 0x00, 0x00 bilden den Hexcode für die Farbe (hier zum Beispiel Rot), 0x22 lässt den Stripe dauerleuchten, 0x83 = Endflag)

Nun möchte ich das ganze gern dynamisch gestalten, sodass man die jeweilige Farbe über die Benutzeroberfläche anpassen kann.
Idee ist es, die gespeicherten Werte für den jeweiligen Spieler aus einer Config auszulesen und diesen String dann in ein byte array umzuwandeln.

Das auslesen und bilden des Strings ist soweit kein Problem, was ich aber einfach nicht hinbekommen will ist, wie der Inhalt des Strings auszusehen hat und welche Codierung benötigt wird, habe schon etliche Tutorials durch, stehe aber vollkommen auf dem Schlauch.

Würde mich freuen, wenn mir da jemand weiterhelfen kann.

Besten Dank schonmal im Voraus und MfG
Jens

16.806 Beiträge seit 2008
vor 4 Jahren

0xff, 0x00, 0x00 ist ja der Farbcode und entspricht offensichtlich den normalen Farbwerben.
Der Hexcode dazu wäre #FF000, was ebenfalls Rot entspricht.

Ergo kannst Du offensichtlich einfach Deine Farben in der Config als Hex speichern und bei der Kommunikation zum Controller entsprechend wieder umwandeln.

Umwandlung von String zu Byte geht über die Convert-Klasse.
Siehe inhaltlich dazu die offizielle C# Dokumentation.