Table of Contents

Architecture

Wonder Controlz follows a centralized logic, decentralized I/O approach — inspired by industrial automation (PLC + fieldbus).

                         ┌──────────────────────┐
                         │       Node-RED       │ ← Central game logic
                         │      (Main PC)       │    All scenarios in one place
                         └──────────┬───────────┘
                                    │
                    CAN bus ────────┼──────── HTTP REST
                 (I/O modules)     │       (media, lights)
                                    │
       ┌──────────┬──────────┬──────┼──────┬───────────┬───────────┐
       ▼          ▼          ▼      ▼      ▼           ▼           ▼
   ┌────────┐ ┌────────┐ ┌──────┐ ┌──────────┐ ┌───────────┐ ┌───────────┐
   │er-01-  │ │er-dio- │ │er-   │ │ er-audio │ │ er-lights │ │mpv-control│
   │rev-a   │ │01      │ │rfid  │ │  audio   │ │ lighting  │ │  video    │
   └────────┘ └────────┘ └──────┘ └──────────┘ └───────────┘ └───────────┘

Zero Field Logic

The core design principle of Wonder Controlz. No device in the room contains any game logic. I/O modules, media players, and lighting controllers only execute commands and report events. All decision-making lives in one place: Node-RED on the Main PC.

This means:

Communication

CAN Bus — I/O Modules

All I/O modules connect to the Main PC via a single 4-wire CAN bus cable (24V + GND + CAN_H + CAN_L). The cable carries both power (24V) and data (500 kbps). Messages use the custom ER-Frame protocol.

HTTP REST — Software Products

Software products (er-audio, mpv-control, er-lights) are controlled via HTTP REST API. All endpoints use GET requests for seamless integration with Node-RED's HTTP request node.

Ethernet UDP — Lighting Hardware

The er-lights hardware controller receives lighting data over Ethernet (UDP port 5568) using the ERLED480 or sACN/E1.31 protocol.