Перейти к содержимому

Open Pixel Control (OPC)

Open Pixel Control (OPC) — Лёгкий пиксельный протокол

Open Pixel Control (OPC) — минимальный, TCP/IP-базированный протокол для потоковой передачи пиксельных данных на LED-контроллеры. Он был разработан Micah Scott для проекта Fadecandy и широко используется в средах креативного кодинга.

Плата USB LED-контроллера Fadecandy

Технические характеристики

ПараметрЗначение
ТранспортTCP/IP (порт 7890 по умолчанию)
Макс. пикселей на сообщение65 535 байт (~21 845 RGB пикселей)
Макс. каналов256
Типы командУстановка цветов пикселей, установка цветокоррекции, системные
ФорматированиеПростой бинарный заголовок + данные

Формат заголовка протокола

БайтПолеОписание
0ChannelВыходной канал (0–255)
1Command0 = установить пиксели, 1 = установить цветокоррекцию, 255 = системное
2–3LengthКоличество байт данных (big-endian, 16-бит)
4+DataДанные пикселей (RGB 0–255 на канал)

Сообщение данных пикселей для 3 LED (RGBRGBRGB) будет: [0, 0, 0, 9, R, G, B, R, G, B, R, G, B]

Сравнение с другими протоколами

ФункцияOPCArt-NetsACN (E1.31)
ТранспортTCPUDPUDP
Макс. пикселей на пакет~21 845512 (RGB) / 680 (RGBW)512 (RGB) / 680 (RGBW)
Поддержка вселенных/каналов256 каналов32 768 вселенных63 999 вселенных
Проверка ошибокНет (TCP обрабатывает)НетCID + порядковые номера
СложностьОчень низкаяУмереннаяУмеренная
ЗадержкаНизкая (накладные TCP)Очень низкаяОчень низкая

Инструменты, использующие OPC

ИнструментНазначение
FadecandyUSB LED-контроллер с OPC-сервером
ProcessingPixelBender, OPC библиотека для Java скетчей
openFrameworksofxOPC аддон для C++ креативного кодинга
GlediatorПО для управления LED-матрицами
PixelControllerВеб-управление LED-матрицами
OPC Python clientЛёгкая Python библиотека для управления LED

Сценарии использования

  • Интерактивные инсталляции — Низкая задержка, лёгкая интеграция с Processing, openFrameworks, TouchDesigner
  • Установки Fadecandy — Нативный протокол для контроллеров Fadecandy (8 выходов, 512 пикселей каждый)
  • Прототипирование — Минимальные накладные расходы делают его идеальным для быстрых LED-скетчей
  • Небольшие и средние установки — До ~21K пикселей на канал без мультиплексирования

Сравнение Art-Net vs sACN →