myCSharp.de - DIE C# und .NET Community (https://www.mycsharp.de/wbb2/index.php)
- Entwicklung (https://www.mycsharp.de/wbb2/board.php?boardid=3)
-- Netzwerktechnologien (https://www.mycsharp.de/wbb2/board.php?boardid=28)
--- Daten an LED-Controller senden. (https://www.mycsharp.de/wbb2/thread.php?threadid=121836)


Geschrieben von Kilmister am 02.05.2019 um 15:41:
  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.

C#-Code:
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


Geschrieben von Abt am 02.05.2019 um 16:21:
 
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.


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 27.01.2020 08:10