Open Pixel Control (OPC)
Open Pixel Control (OPC) - Leichtgewichtiges Pixel-Protokoll
Open Pixel Control (OPC) ist ein minimales, TCP/IP-basiertes Protokoll zum Streamen von Pixeldaten an LED-Controller. Es wurde von Micah Scott fuer das Fadecandy-Projekt designed und wird weit in Creative-Coding-Umgebungen verwendet.

Technische Spezifikationen
| Parameter | Wert |
|---|---|
| Transport | TCP/IP (Port 7890 Standard) |
| Max. Pixel pro Nachricht | 65.535 Bytes (~21.845 RGB-Pixel) |
| Max. Kanaele | 256 |
| Befehlstypen | Pixel-Farben setzen, Farbkorrektur setzen, System-exklusiv |
| Rahmung | Einfacher Binär-Header + Daten-Nutzlast |
Protokoll-Header-Format
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | Kanal | Ausgangskanal (0-255) |
| 1 | Befehl | 0 = Pixel setzen, 1 = Farbkorrektur setzen, 255 = System-exklusiv |
| 2-3 | Laenge | Anzahl Daten-Bytes (Big-Endian, 16-Bit) |
| 4+ | Daten | Pixeldaten (RGB 0-255 pro Kanal) |
Eine Pixeldaten-Nachricht fuer 3 LEDs (RGBRGBRGB) waere: [0, 0, 0, 9, R, G, B, R, G, B, R, G, B]
Vergleich mit anderen Protokollen
| Merkmal | OPC | Art-Net | sACN (E1.31) |
|---|---|---|---|
| Transport | TCP | UDP | UDP |
| Max. Pixel pro Paket | ~21.845 | 512 (RGB) / 680 (RGBW) | 512 (RGB) / 680 (RGBW) |
| Universum/Kanal-Unterstuetzung | 256 Kanaele | 32.768 Universen | 63.999 Universen |
| Fehlerpruefung | Keine (TCP behandelt es) | Keine | CID + Sequenznummern |
| Komplexitaet | Sehr niedrig | Mittel | Mittel |
| Latenz | Niedrig (TCP-Overhead) | Sehr niedrig | Sehr niedrig |
Tools, die OPC verwenden
| Tool | Zweck |
|---|---|
| Fadecandy | USB-LED-Controller mit OPC-Server |
| Processing | PixelBender, OPC-Bibliothek fuer Java-Sketches |
| openFrameworks | ofxOPC-Addon fuer C++ Creative Coding |
| Glediator | LED-Matrix-Steuerungssoftware |
| PixelController | Webbasierte LED-Matrix-Steuerung |
| OPC Python Client | Leichtgewichtige Python-Bibliothek fuer LED-Steuerung |
Anwendungsfaelle
- Interaktive Installationen - Niedrige Latenz, einfach zu integrieren mit Processing, openFrameworks, TouchDesigner
- Fadecandy-Setups - Das native Protokoll fuer Fadecandy-Controller (8 Ausgaenge, 512 Pixel jeweils)
- Prototyping - Minimaler Overhead macht es ideal fuer schnelle LED-Sketches
- Kleine bis mittlere Installationen - Bis ~21K Pixel pro Kanal ohne Multiplexing