---
title: "iobroker와 함께하는 \"방탈출 게임\" 제작기"
url: "https://maker.wiznet.io/Alan/projects/iobroker-----/"
markdown_url: "https://maker.wiznet.io/Alan/projects/iobroker-----/md"
type: "UCC: User Created Content"
author: "asutpshnik"
author_url: "https://habr.com/en/companies/iobroker/articles/456230/"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "asutpshnik"
original_url: "https://habr.com/en/companies/iobroker/articles/456230/"
published: "2025-12-18"
language: "ko"
likes: 0
views: 352
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# iobroker와 함께하는 "방탈출 게임" 제작기

> iobroker와 함께하는 게임 "현실 속의 퀘스트"

Original author: asutpshnik (source: https://habr.com/en/companies/iobroker/articles/456230/)

## Article

![](https://habrastorage.org/r/w1560/webt/fg/c3/od/fgc3od3po8up_if_whhozn-7m6q.png)

이 글은 ioBroker 플랫폼을 활용해 실제 **리얼리티 게임(escape room) 퀘스트 (방탈출) **를 자동화한 프로젝트 경험담입니다.

## 배경 및 동기

- 2015년에 친구들이 **“은행 강탈” 테마의 리얼리티 게임**을 기획.

- 저자는 스마트홈 자동화(open-source) 경험이 있어 참여하게 됨.

- 단순한 장치 제어가 아닌 **완성도 높은 게임 로직 자동화**가 목표였음

---

## 시스템 아키텍처

프로젝트에서 구성한 전체 구조는 다음과 같습니다.

![](https://habrastorage.org/r/w1560/webt/mo/mp/0a/momp0a7_im8_giwhie2b3hbmev8.png)

### 핵심 설계 요소

1. **중앙 서버 (ioBroker)**
   전체 퀘스트 상태를 통합 관리
   제어 로직 및 상태 저장

2. **로컬 컨트롤러 (Arduino 기반)**
   물리적 입력/출력 제어
   버튼, 센서, 조명, 퍼즐 기구 등

3. **통신 프로토콜: MQTT**
   컨트롤러와 중앙 서버 간
   상태 전송 & 명령 수신
   서로 다른 기기/컨트롤러 간 연동도 지원

---

## 데이터 흐름

- 예: 플레이어가 **버튼을 누르면**
  로컬 컨트롤러가 상태를 MQTT로 브로커에 퍼블리시

- ioBroker가 이를 받아 UI/시각화 상태로 업데이트

- 다른 컨트롤러 또는 시스템이 관련 트리거 작동

이 구조는 **양방향 실시간 상태 및 명령 통신**을 가능케 함

![](https://habrastorage.org/r/w1560/webt/vz/wq/6d/vzwq6ddn8r6k3oop3dwne8aceyc.png)

![](https://habrastorage.org/r/w1560/webt/0h/je/cn/0hjecnoulb2wclpaqdc75feea8u.png)

---

### 운영자를 위한 시각화 GUI

![](https://maker.wiznet.io/upload/ckeditor5/410858379%5F1766055720%2Epng)

![](https://habrastorage.org/r/w1560/webt/h1/pt/wd/h1ptwd6tcgfwse0uufj2euz0q3k.png)

---

### PoE를 활용한 컨트롤러 , 제어기

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

![](https://maker.wiznet.io/upload/ckeditor5/410858379%5F1766055825%2Epng)

![](https://habrastorage.org/r/w1560/webt/em/ba/2u/emba2uqyqonrildjkuasukjcfzi.jpeg)

![](https://habrastorage.org/r/w1560/webt/f5/yi/g2/f5yig2rz9m0lhxzashj34kkw9xi.jpeg)

![](https://habrastorage.org/r/w1560/webt/7t/xe/fl/7txefleidqfbnndt1kab1mykooi.jpeg)

---

### 중앙 제어부

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

![](https://habrastorage.org/r/w1560/webt/cb/vj/gt/cbvjgtckvyjobgbe65vltwoprhy.jpeg)

![](https://maker.wiznet.io/upload/ckeditor5/410858379%5F1766056101%2Epng)

---

### 마치며

글쓴이는 ioBroker에 대한 내용을 계속해서 얘기합니다.
또한, Arduino Mega로 변경한 이유는 메모리 때문, MQTT 드라이버 작업에서 발생한 오류 등을 ioBroker측에서 빠르게 해결해줬다는 내용 등을 담았습니다.
계속해서 얘기가 나오는 ioBroker는 무엇일까요?

![](https://maker.wiznet.io/upload/ckeditor5/410858379%5F1766056573%2Epng)

![](https://maker.wiznet.io/upload/ckeditor5/410858379%5F1766056626%2Epng)

---

### 핵심 기술인 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는:

- “지금 게임이 어디까지 진행됐는지”

- “다음에 어떤 퍼즐을 활성화할지”

를 판단하는 **중앙 컨트롤러** 역할을 합니다.

---

Source: https://maker.wiznet.io/Alan/projects/iobroker-----/
