인터랙티브 시스템의 반응은 센서와 화면 사이 한 번의 연결로 만들어지지 않는다. 물리 변화가 전기 신호가 되고, 장치와 Gateway에서 Digital Data로 변환된 뒤, Network Message와 의미 있는 Event를 거쳐 미디어 서버의 상태를 바꾼다. 미디어 서버는 그 상태로 영상·음향·제어 신호를 만들고 출력장치가 공간에 결과를 전달한다.
End-to-end 신호 흐름
- Physical Input: 관객의 접촉·위치·소리 또는 환경 변화가 발생한다.
- Sensor & Controller: 센서가 전압, 접점, 거리값, Frame이나 Packet으로 측정한다.
- Gateway: 값의 단위와 범위를 보정하고 장치 상태를 붙여 공통 형식으로 만든다.
- Transport: Serial, Ethernet 또는 무선망을 통해 Broker·Control Service로 전달한다.
- Interaction Logic: Filter, Zone 판정과 State Machine이 콘텐츠 Event를 만든다.
- Media Server: Event로 Timeline, Parameter, Video·Audio와 Render Scene을 변경한다.
- Output Transport: 영상 신호, Audio, DMX 또는 Network Control을 장치에 보낸다.
- Display & Feedback: Projector, LED, Speaker와 Lighting이 결과를 출력하고 관객이 다시 반응한다.
센서에서 Gateway까지
버튼과 접점은 Digital Input, 압력·조도 센서는 Analog 값, IMU는 Serial 또는 무선 Packet, Camera는 Video Frame을 제공할 수 있다. Controller는 Sampling, Debounce, 기본 Calibration과 장치 진단을 담당한다. 전원과 Signal Ground, 케이블 길이, 절연과 Connector 고정 같은 물리 조건이 불안정하면 상위 Software에서 해결할 수 없다.
Gateway는 장치별 값을 {sourceId, eventTime, type, value, quality}와 같은 공통 메시지로 바꾼다. 장치가 끊긴 경우 0을 보내는 대신 Quality와 연결 상태를 분리해야 실제 0과 오류를 구별할 수 있다.
Network와 메시징
| 방식 | 적합한 역할 | 설계 포인트 |
|---|---|---|
| Serial·Field Interface | 센서·Controller의 근거리 연결 | Port, Baud, Cable과 재연결 |
| OSC·MIDI | Media Parameter와 공연 Cue | 주소·Channel 규칙, 유실 허용 여부 |
| MQTT | 분산 Sensor Event의 발행·구독 | Topic, QoS, 인증과 중복 처리 |
| HTTP·WebSocket | 설정·조회 또는 양방향 Application 연동 | 인증, Version, Timeout과 재접속 |
| DMX·Art-Net·sACN | Lighting과 Effect 제어 | Universe, Address와 Network Adapter |
MQTT 5.0 표준은 발행·구독 전달과 세 가지 QoS 수준을 정의한다. QoS를 높이면 모든 문제가 해결되는 것이 아니라 중복 가능성과 상태 관리가 달라진다. 콘텐츠 Event는 같은 메시지가 다시 와도 Scene이 두 번 진행되지 않도록 Message ID나 State 조건으로 보호한다.
Interaction Logic과 미디어 서버
Logic 계층은 원시값을 바로 그래픽에 연결하지 않고 의미를 만든다. 거리값을 접근·참여·이탈 Zone으로 바꾸고, 여러 Frame에서 조건이 유지될 때만 State를 전환할 수 있다. 사용자 수와 우선순위, Timeout, 센서 장애 시 기본 상태도 여기서 처리한다.
미디어 서버는 현재 State와 Parameter를 받아 Render, Video Playback, Audio와 장치 Cue를 실행한다. 입력 수신 Thread와 Render Loop를 분리하고 최신값 Cache 또는 제한된 Queue를 사용해 메시지 폭주가 Frame을 막지 않도록 한다. 콘텐츠 버전과 Event Schema 버전을 함께 관리하면 Gateway와 서버 중 한쪽만 업데이트되어 생기는 오류를 줄일 수 있다.
출력장치로 전달되는 경로
영상
GPU Output은 Video Processor, Matrix 또는 Extender를 거쳐 Projector와 LED Processor로 전달될 수 있다. 전체 Canvas의 해상도와 화면별 Crop, Mapping, Color와 Signal Format을 문서화한다. Projector의 Throw Ratio와 실제 투사 거리, LED의 물리 크기와 Pixel Pitch는 콘텐츠 Resolution을 정하기 전에 검토한다.
음향과 조명
Audio Interface와 Mixer를 거쳐 Speaker로 전달되는 Channel, Level과 Delay를 관리한다. Lighting은 DMX Address와 Fixture Mode를 Patch 문서로 유지한다. Unreal Engine의 DMX Plugin처럼 미디어 엔진에서 제어하더라도 Console, Gateway와 동시 송신할 때 누가 최종 값을 소유하는지 정해야 한다.
기계 장치
Motor, Relay와 움직이는 구조물은 일반 영상 출력과 다르다. 전용 Controller, Limit Sensor, Emergency Stop과 안전 인증 범위를 갖추고 미디어 서버는 허용된 고수준 명령만 요청하도록 분리한다.
시간과 주소가 연결의 기준이다
모든 장치와 Service의 시계를 맞추고 측정 시각, 수신 시각과 출력 시각을 구분하면 지연 구간을 찾기 쉽다. 이름도 계층적으로 정한다. 예를 들어 zone-a/camera-01/person-enter처럼 공간, 장치와 Event가 드러나게 하고 도면·Network·Software에서 같은 ID를 사용한다.
통합 시험 체크리스트
- 센서 단선·Network 지연·서버 재시작 시 안전한 상태로 복구되는가?
- 중복·순서 역전 Event가 State를 잘못 진행시키지 않는가?
- 원시값, 변환 Event, Media State와 출력 상태를 같은 시각 기준으로 추적할 수 있는가?
- 운영자가 센서 대신 Test Event를 보내 각 출력을 독립 점검할 수 있는가?
- 전원 순서, 자동 시작, 종료와 수동 우회 절차가 문서화됐는가?
FAQ
센서를 미디어 서버에 USB로 직접 연결하는 것이 가장 빠른가?
작은 Prototype에는 간단하지만 거리, 장치 수와 복구 요구가 커지면 Gateway와 Network 계층으로 분리하는 편이 유지관리에 유리하다.
무선 센서는 전시에 사용하면 안 되나?
사용할 수 있다. 다만 간섭, 배터리, 재접속 시간과 혼잡 상황을 현장에서 시험하고 유선 또는 수동 대체 경로를 준비해야 한다.
출력 화면이 멈췄을 때 원인은 어떻게 찾나?
센서 원시값, Gateway 연결, 마지막 Event, Media State, Render 상태와 실제 Video Signal을 단계별로 확인할 수 있는 진단 화면과 로그가 필요하다.