Open Pixel Control (OPC)
Open Pixel Control (OPC) — Lichtgewicht Pixelprotocol
Open Pixel Control (OPC) is een minimaal, TCP/IP-gebaseerd protocol voor het streamen van pixeldata naar LED-controllers. Het is ontworpen door Micah Scott voor het Fadecandy-project en wordt veel gebruikt in creatieve codeeromgevingen.

Technische Specificaties
| Parameter | Waarde |
|---|---|
| Transport | TCP/IP (poort 7890 standaard) |
| Max. pixels per bericht | 65.535 bytes (~21.845 RGB-pixels) |
| Max. kanalen | 256 |
| Commandotypen | Pixelkleuren instellen, kleurcorrectie instellen, systeemexclusief |
| Framing | Eenvoudige binaire header + datapayload |
Protocol Headerformaat
| Byte | Veld | Beschrijving |
|---|---|---|
| 0 | Kanaal | Uitgangskanaal (0–255) |
| 1 | Commando | 0 = pixels instellen, 1 = kleurcorrectie instellen, 255 = systeemexclusief |
| 2–3 | Lengte | Aantal databytes (big-endian, 16-bit) |
| 4+ | Data | Pixeldata (RGB 0–255 per kanaal) |
Een pixel-databericht voor 3 LED’s (RGBRGBRGB) zou zijn: [0, 0, 0, 9, R, G, B, R, G, B, R, G, B]
Vergelijking met Andere Protocollen
| Kenmerk | OPC | Art-Net | sACN (E1.31) |
|---|---|---|---|
| Transport | TCP | UDP | UDP |
| Max. pixels per pakket | ~21.845 | 512 (RGB) / 680 (RGBW) | 512 (RGB) / 680 (RGBW) |
| Universe/kanaalondersteuning | 256 kanalen | 32.768 universes | 63.999 universes |
| Foutcontrole | Geen (TCP handelt dit af) | Geen | CID + volgnummers |
| Complexiteit | Zeer laag | Gemiddeld | Gemiddeld |
| Latentie | Laag (TCP-overhead) | Zeer laag | Zeer laag |
Tools Die OPC Gebruiken
| Tool | Doel |
|---|---|
| Fadecandy | USB LED-controller met OPC-server |
| Processing | PixelBender, OPC-bibliotheek voor Java-sketsen |
| openFrameworks | ofxOPC-addon voor C++ creatief coderen |
| Glediator | LED-matrixbesturingssoftware |
| PixelController | Webgebaseerde LED-matrixbediening |
| OPC Python-client | Lichtgewicht Python-bibliotheek voor LED-aansturing |
Gebruiksgevallen
- Interactieve installaties — Lage latentie, eenvoudig te integreren met Processing, openFrameworks, TouchDesigner
- Fadecandy-opstellingen — Het native protocol voor Fadecandy-controllers (8 uitgangen, 512 pixels elk)
- Prototyping — Minimale overhead maakt het ideaal voor snelle LED-sketsen
- Kleine tot middelgrote installaties — Tot ~21K pixels per kanaal zonder multiplexing