iobroker와 함께하는 "방탈출 게임" 제작기
iobroker와 함께하는 게임 "현실 속의 퀘스트"

이 글은 ioBroker 플랫폼을 활용해 실제 리얼리티 게임(escape room) 퀘스트 (방탈출) 를 자동화한 프로젝트 경험담입니다.
배경 및 동기
- 2015년에 친구들이 “은행 강탈” 테마의 리얼리티 게임을 기획.
- 저자는 스마트홈 자동화(open-source) 경험이 있어 참여하게 됨.
- 단순한 장치 제어가 아닌 완성도 높은 게임 로직 자동화가 목표였음
시스템 아키텍처
프로젝트에서 구성한 전체 구조는 다음과 같습니다.

핵심 설계 요소
- 중앙 서버 (ioBroker)
전체 퀘스트 상태를 통합 관리
제어 로직 및 상태 저장 - 로컬 컨트롤러 (Arduino 기반)
물리적 입력/출력 제어
버튼, 센서, 조명, 퍼즐 기구 등 - 통신 프로토콜: MQTT
컨트롤러와 중앙 서버 간
상태 전송 & 명령 수신
서로 다른 기기/컨트롤러 간 연동도 지원
데이터 흐름
- 예: 플레이어가 버튼을 누르면
로컬 컨트롤러가 상태를 MQTT로 브로커에 퍼블리시 - ioBroker가 이를 받아 UI/시각화 상태로 업데이트
- 다른 컨트롤러 또는 시스템이 관련 트리거 작동
이 구조는 양방향 실시간 상태 및 명령 통신을 가능케 함


운영자를 위한 시각화 GUI

PoE를 활용한 컨트롤러 , 제어기
모든 각각의 센서, 컨트롤러들에 Ethernet Shield가 장착됩니다.
이 것들은 방탈출의 모든 액티브적인 기구들을 제어합니다. 또한, 메인 서버로 상태를 전달합니다.



중앙 제어부
센서, 컨트롤러로부터 데이터를 전달받아 UI로 상태를 띄울 수 있도록 하거나, 신호를 보내 센서와 컨트롤러를 제어합니다. IP Camera의 네트워크는 Ethernet Shield와는 분리되어 있습니다.

마치며
글쓴이는 ioBroker에 대한 내용을 계속해서 얘기합니다.
또한, Arduino Mega로 변경한 이유는 메모리 때문, MQTT 드라이버 작업에서 발생한 오류 등을 ioBroker측에서 빠르게 해결해줬다는 내용 등을 담았습니다.
계속해서 얘기가 나오는 ioBroker는 무엇일까요?
핵심 기술인 ioBroker란?
ioBroker는
- 스마트홈
- 산업용 자동화
- DIY IoT 시스템
에서 서로 다른 장치와 프로토콜을 중앙에서 연결·제어하기 위한 서버 소프트웨어입니다.
PC, 서버, 라즈베리파이 같은 장치에 설치해서 사용합니다.
ioBroker의 핵심 역할
중앙 허브 (Control Center)
모든 장치 상태를 한곳에 저장
“지금 어떤 센서가 어떤 상태인지”를 항상 알고 있음
장치 간 연결 (Adapter 기반)
ioBroker는 Adapter라는 개념을 사용합니다.
MQTT, Modbus, KNX, Zigbee, Z-Wave, HTTP / REST, Arduino, ESP8266, PLC 등
👉 서로 다른 세계의 장치들을 하나의 논리 공간으로 묶어줍니다.
상태 기반 자동화
ioBroker는 “명령”보다 상태(state) 중심입니다.
예:
- 버튼 상태 = ON
- 온도 = 75°C
- 퍼즐 A = 해결됨
이 상태 변화에 따라:
- 조명을 켜고
- 릴레이를 동작시키고
- 다음 장치를 활성화
같은 자동화 로직을 구성합니다.
이 프로젝트에서 ioBroker의 역할
앞서 요약한 리얼리티 퀘스트(방탈출 게임) 프로젝트에서 ioBroker는:
게임 전체 상태를 관리하는 두뇌
Arduino들은:
- 버튼/센서 읽기
- 모터/조명 제어
ioBroker는:
- “지금 게임이 어디까지 진행됐는지”
- “다음에 어떤 퍼즐을 활성화할지”
를 판단하는 중앙 컨트롤러 역할을 합니다.
