Fensterbogenbeleuchtung: Unterschied zwischen den Versionen

Aus ChaosChemnitz
Zur Navigation springen Zur Suche springen
Zeile 35: Zeile 35:
 
C: "s" + LEN + [ledid (2 Byte) + GRB (3 Byte)] ...
 
C: "s" + LEN + [ledid (2 Byte) + GRB (3 Byte)] ...
  
S: "s" + 0x00 || "e" + LEN + ERROR
+
S: "s" + LEN (0x0000) || "e" + LEN + ERROR
  
 
=== RANGESET ===
 
=== RANGESET ===
 
C: "r" + LEN + offset (2 Byte) + GRB (3 Byte) ...
 
C: "r" + LEN + offset (2 Byte) + GRB (3 Byte) ...
  
S: "r" + 0x00 || "e" + LEN + ERROR
+
S: "r" + LEN (0x0000) || "e" + LEN + ERROR
  
 
=== ALLSET ===
 
=== ALLSET ===
 
C: "a" + LEN + GRB (3 Bytes)
 
C: "a" + LEN + GRB (3 Bytes)
  
S: "a" + 0x00 || "e" + LEN + ERROR
+
S: "a" + LEN (0x0000) || "e" + LEN + ERROR

Version vom 17. November 2016, 20:06 Uhr

Die LEDs sind oben auf den Fensterrahmen geklebt. Damit wird der Fensterbogen beleuchtet.

Momentan ist diese Beleuchtung nur in der neuen Lounge vorhanden

Sourcecode

Funktionsweise

Gesteuert werden die LEDs (WS2812) durch einen Microcontroller (ATMega328P) welcher mittels Netzwerk (ENC28J60) angebunden ist.

Dieser ist im Choasnetz unter der IP 172.23.92.247 erreichbar.

Ansprechbar ist die Belechtung mittels ein Protokoll basierend auf UDP mit den Port 49152.

Protokoll

C ≙ Client

S ≙ Server (Fensterbogenbeleuchtung)

LEN ≙ Länge von nachfolgenden Bytes (2 Bytes)

ERROR ≙ spezifischer Fehler(code)

INFORMATION

C: "i" + 0x00

S: "i" + LEN + JSON-Beschreibung || "e" + LEN + ERROR

JSON-Beschreibung := {

   "leds": # leds,
   "max_protolen": #

}

SET

C: "s" + LEN + [ledid (2 Byte) + GRB (3 Byte)] ...

S: "s" + LEN (0x0000) || "e" + LEN + ERROR

RANGESET

C: "r" + LEN + offset (2 Byte) + GRB (3 Byte) ...

S: "r" + LEN (0x0000) || "e" + LEN + ERROR

ALLSET

C: "a" + LEN + GRB (3 Bytes)

S: "a" + LEN (0x0000) || "e" + LEN + ERROR