Open Pixel Control (OPC)
Open Pixel Control (OPC) — Protocolo de Pixel Leve
Open Pixel Control (OPC) é um protocolo mínimo baseado em TCP/IP para streaming de dados de pixel para controladores LED. Foi projetado por Micah Scott para o projeto Fadecandy e é amplamente usado em ambientes de codificação criativa.

Especificações Técnicas
| Parâmetro | Valor |
|---|---|
| Transporte | TCP/IP (porta 7890 padrão) |
| Máx. pixels por mensagem | 65.535 bytes (~21.845 pixels RGB) |
| Máx. canais | 256 |
| Tipos de comando | Definir cores de pixel, definir correção de cor, exclusivo do sistema |
| Estrutura | Cabeçalho binário simples + carga útil de dados |
Formato do Cabeçalho do Protocolo
| Byte | Campo | Descrição |
|---|---|---|
| 0 | Canal | Canal de saída (0–255) |
| 1 | Comando | 0 = definir pixels, 1 = definir correção de cor, 255 = exclusivo do sistema |
| 2–3 | Comprimento | Número de bytes de dados (big-endian, 16 bits) |
| 4+ | Dados | Dados de pixel (RGB 0–255 por canal) |
Uma mensagem de dados de pixel para 3 LEDs (RGBRGBRGB) seria: [0, 0, 0, 9, R, G, B, R, G, B, R, G, B]
Comparação com Outros Protocolos
| Recurso | OPC | Art-Net | sACN (E1.31) |
|---|---|---|---|
| Transporte | TCP | UDP | UDP |
| Máx. pixels por pacote | ~21.845 | 512 (RGB) / 680 (RGBW) | 512 (RGB) / 680 (RGBW) |
| Suporte a universo/canal | 256 canais | 32.768 universos | 63.999 universos |
| Verificação de erros | Nenhuma (TCP lida com isso) | Nenhuma | CID + números de sequência |
| Complexidade | Muito baixa | Moderada | Moderada |
| Latência | Baixa (overhead TCP) | Muito baixa | Muito baixa |
Ferramentas que Usam OPC
| Ferramenta | Propósito |
|---|---|
| Fadecandy | Controlador LED USB com servidor OPC |
| Processing | PixelBender, biblioteca OPC para esboços Java |
| openFrameworks | Complemento ofxOPC para codificação criativa em C++ |
| Glediator | Software de controle de matriz LED |
| PixelController | Controle de matriz LED baseado na web |
| Cliente OPC Python | Biblioteca Python leve para controle de LED |
Casos de Uso
- Instalações interativas — Baixa latência, fácil integração com Processing, openFrameworks, TouchDesigner
- Configurações Fadecandy — O protocolo nativo para controladores Fadecandy (8 saídas, 512 pixels cada)
- Prototipagem — Overhead mínimo o torna ideal para esboços LED rápidos
- Instalações pequenas a médias — Até ~21K pixels por canal sem multiplexação