ExtendedBlinkenlightsProtocol: Difference between revisions

From BlinkenArea Wiki
Jump to: navigation, search
(imported)
 
No edit summary
Line 66: Line 66:


Der UDP Port sollte auf Server- und Client-Seite konfigurierbar sein. Der Standard-Port ist UDP 2323.
Der UDP Port sollte auf Server- und Client-Seite konfigurierbar sein. Der Standard-Port ist UDP 2323.
--[[User:StefanSchuermans|StefanSchuermans]] 06 Jun 2004


[[Category:Protokolle]]
[[Category:Protokolle]]

Revision as of 11:30, 1 October 2007

English Version of this Page

zurück zur Übersicht

Das extended Blinkenlights protocol wird benutzt um Graustufen-Blinkenlights-Streams per UDP zu versenden. Es wird dazu einfach für jedes neue Bild ein UDP-Paket gesendet:

+-----------------------+
| magic                 |
| 0xFE 0xED   0xBE 0xEF |
+-----------------------+
| frame number          |
| 0x00 0x00   0x00 0x00 |
+-----------+-----------+
| width     | height    |
| 0x00 0x12 | 0x00 0x08 |
+-----------+-----------+
| pixels                |
| 0xFF 0xCC   0x99 0x66 |
| 0x33 0x00   0x00 0x00 |
| ...                   |
| 0x00 0x00   0x00 0x00 |
+-----------------------+
  • magic: fester Wert
  • frame number: Nummer des Bildes, mit jedem Bild erhöht, Benutzung ist optional
  • width: die Breite des Bildes in Pixeln
  • height: die Höhe des Bildes in Pixeln
  • pixels: die Werte der width * height Pixel
    • 0x00 für aus, 0xFF für an, andere Werte für Graustufen
    • von links nach rechts, dann von oben nach unten (also oberer linker Pixel zuerst, dann der Pixel rechts daneben, ...)
  • alle Werte sind in network byte order - big endian - High-Byte zuerst

Die dynamische Erweiterung kann benutzt werden, um einen EBLP-Stream dynamisch anzufordern. Ein Anfrage-Paket wird periodisch (z.B. alle 10s) zum UDP-Port des Servers gesendet. Der Server antwortet dann mit einem EBLP-Stream, gesendet von diesem Port zum Quell-Port des Anfrage-Pakets. Nachdem für eine längere Zeit (z.B. 30s) kein Anfrage-Paket empfangen wurde, wird das Senden des Streams eingestellt.

Das Format des Anfrage-Pakets ist wie folgt:

+-----------------------+
| magic                 |
| 0xDE 0xAD   0xBE 0xCD |
+-----------------------+
| command               |
| 'R'  'E'    'F'  'R'  |
| 'E'  'S'    'H'  '2'  |
| '5'  '6'              |
+-----------------------+
  • magic: fester Wert
  • command: fester Wert

Es ist auch möglich, dem Server mitzuteilen, dass der Stream nicht länger benötigt wird. Dies passiert, indem man ein Ende-Paket anstelle eines Anfrage-Pakets sendet:

+-----------------------+
| magic                 |
| 0xDE 0xAD   0xBE 0xCD |
+-----------------------+
| command               |
| 'C'  'L'    'O'  'S'  |
| 'E'  '2'    '5'  '6'  |
+-----------------------+
  • magic: fester Wert
  • command: fester Wert

Der UDP Port sollte auf Server- und Client-Seite konfigurierbar sein. Der Standard-Port ist UDP 2323.