Aller au contenu

Open Pixel Control (OPC)

Open Pixel Control (OPC) — Protocole pixel léger

Open Pixel Control (OPC) est un protocole minimal basé sur TCP/IP pour diffuser des données pixel vers des contrôleurs LED. Il a été conçu par Micah Scott pour le projet Fadecandy et est largement utilisé dans les environnements de codage créatif.

Carte contrôleur LED USB Fadecandy

Spécifications techniques

ParamètreValeur
TransportTCP/IP (port 7890 par défaut)
Pixels max par message65 535 octets (~21 845 pixels RGB)
Canaux max256
Types de commandesDéfinir les couleurs de pixels, définir la correction de couleur, exclusif système
EncadrementEn-tête binaire simple + charge utile de données

Format d’en-tête de protocole

OctetChampDescription
0CanalCanal de sortie (0–255)
1Commande0 = définir pixels, 1 = définir correction de couleur, 255 = exclusif système
2-3LongueurNombre d’octets de données (gros-boutien, 16 bits)
4+DonnéesDonnées de pixel (RGB 0–255 par canal)

Un message de données pixel pour 3 LEDs (RGBRGBRGB) serait : [0, 0, 0, 9, R, G, B, R, G, B, R, G, B]

Comparaison avec d’autres protocoles

FonctionnalitéOPCArt-NetsACN (E1.31)
TransportTCPUDPUDP
Pixels max par paquet~21 845512 (RGB) / 680 (RGBW)512 (RGB) / 680 (RGBW)
Support univers/canal256 canaux32 768 univers63 999 univers
Vérification d’erreursAucune (TCP s’en charge)AucuneCID + numéros de séquence
ComplexitéTrès faibleModéréeModérée
LatenceFaible (surcharge TCP)Très faibleTrès faible

Outils utilisant OPC

OutilUsage
FadecandyContrôleur LED USB avec serveur OPC
ProcessingPixelBender, bibliothèque OPC pour sketches Java
openFrameworksModule complémentaire ofxOPC pour le codage créatif C++
GlediatorLogiciel de contrôle de matrice LED
PixelControllerContrôle de matrice LED basé sur le web
Client OPC PythonBibliothèque Python légère pour le contrôle LED

Cas d’usage

  • Installations interactives — Faible latence, facile à intégrer avec Processing, openFrameworks, TouchDesigner
  • Configurations Fadecandy — Le protocole natif pour les contrôleurs Fadecandy (8 sorties, 512 pixels chacune)
  • Prototypage — Surcharge minimale, idéal pour des sketches LED rapides
  • Installations petites à moyennes — Jusqu’à ~21K pixels par canal sans multiplexage

Comparaison Art-Net vs sACN →