본문으로 건너뛰기

Open Pixel Control (OPC)

Open Pixel Control (OPC) — 경량 픽셀 프로토콜

**Open Pixel Control (OPC)**는 LED 컨트롤러로 픽셀 데이터를 스트리밍하기 위한 최소한의 TCP/IP 기반 프로토콜입니다. Micah Scott이 Fadecandy 프로젝트를 위해 설계했으며 크리에이티브 코딩 환경에서 널리 사용됩니다.

Fadecandy USB LED 컨트롤러 보드

기술 사양

파라미터
전송TCP/IP (기본 포트 7890)
메시지당 최대 픽셀65,535 바이트 (~21,845 RGB 픽셀)
최대 채널256
명령 유형픽셀 색상 설정, 색상 보정 설정, 시스템 전용
프레이밍간단한 바이너리 헤더 + 데이터 페이로드

프로토콜 헤더 형식

바이트필드설명
0채널출력 채널 (0–255)
1명령0 = 픽셀 설정, 1 = 색상 보정 설정, 255 = 시스템 전용
2–3길이데이터 바이트 수 (빅엔디언, 16비트)
4+데이터픽셀 데이터 (채널당 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를 사용하는 도구

도구용도
FadecandyOPC 서버가 내장된 USB LED 컨트롤러
ProcessingJava 스케치용 PixelBender, OPC 라이브러리
openFrameworksC++ 크리에이티브 코딩용 ofxOPC 애드온
GlediatorLED 매트릭스 제어 소프트웨어
PixelController웹 기반 LED 매트릭스 제어
OPC Python 클라이언트LED 제어용 경량 Python 라이브러리

사용 사례

  • 인터랙티브 설치 — 낮은 지연 시간, Processing, openFrameworks, TouchDesigner와의 쉬운 통합
  • Fadecandy 설정 — Fadecandy 컨트롤러의 네이티브 프로토콜 (출력 8개, 각 512 픽셀)
  • 프로토타이핑 — 오버헤드가 최소화되어 빠른 LED 스케치에 이상적
  • 소형/중형 설치 — 멀티플렉싱 없이 채널당 최대 ~21K 픽셀

Art-Net vs sACN 비교 →