yebeen.kim

[MQTT] MQTT Broker 설치 및 테스트 방법 본문

2026/뉴로메카 인턴

[MQTT] MQTT Broker 설치 및 테스트 방법

yebeen.kim 2026. 5. 6. 17:19

 

 

이번에는 실제로 MQTT를 사용하는 방법에 대해 알아보자.
가장 많이 사용하는 MQTT Broker 중 하나인 Eclipse Mosquitto 를 기준으로 설명한다.

Mosquitto는 가볍고 설치가 쉬워서 MQTT를 처음 공부할 때 가장 많이 사용되는 브로커이다.

 


 

먼저 MQTT에서 자주 등장하는 핵심 용어부터 이해해야 한다.

 

Broker

Broker는 MQTT 통신의 “중앙 우체국” 역할을 한다.

모든 장치는 Broker에게 메시지를 보내고,
Broker는 해당 메시지를 필요한 장치들에게 전달한다.

 

즉:

  • 메시지를 중개하는 서버
  • MQTT 통신의 중심
  • Publisher와 Subscriber를 연결하는 역할

을 담당한다.

 

예를 들어:

  • 센서가 “온도 80도” 메시지를 보냄
  • Broker가 해당 메시지를 전달
  • 모니터링 프로그램이 메시지를 수신

하는 구조다.

 

Publish

Publish는 메시지를 보내는 행위를 의미한다.

 

예를 들어:

  • 센서가 현재 온도를 보냄
  • 로봇이 작업 완료 상태를 보냄
  • 컨베이어가 정지 상태를 보냄

이런 행동이 모두 Publish다.

MQTT에서는 특정 “Topic”에 메시지를 발행한다.

 

예시:

factory/temperature
robot/status
conveyor/state

 

Subscribe

Subscribe는 특정 Topic의 메시지를 구독하는 것이다.

 

예를 들어 모니터링 프로그램이:

factory/temperature

 

를 구독하고 있다면, 해당 Topic으로 Publish되는 메시지를 실시간으로 받게 된다.

 

Topic

Topic은 메시지가 지나가는 “채널 이름”이라고 생각하면 쉽다.

비유하면:

  • 유튜브 채널
  • 카카오톡 오픈채팅방
  • 방송 주제

같은 개념이다.

예를 들어:

robot/1/status
robot/2/status
factory/alarm

처럼 계층 구조로 관리할 수 있다.

 


 

이제 실제로 MQTT를 사용해보자.

 

Windows 기준으로 Eclipse Mosquitto 설치 방법부터 진행한다.

  1. Mosquitto 다운로드

공식 사이트( https://mosquitto.org/download/ )에서 설치 파일을 다운로드한다.

  • mosquitto installer 다운로드
  • Windows x64 installer 선택

(https://velog.io/@bi-sz/MQTT-Mosquitto-%EC%84%A4%EC%B9%98-%EB%B0%8F-%ED%85%8C%EC%8A%A4%ED%8A%B8

 

[MQTT] Mosquitto 설치 및 테스트

[MQTT] Mosquitto 설치 및 테스트

velog.io

해당 블로그에 설명이 잘되어있으니 참고바란다.)

 

 

설치 후 기본 경로는 보통 다음과 같다.

C:\Program Files\mosquitto

 

 

설치가 끝났다면 터미널에서 Mosquitto Broker를 실행해보자.

 

 

PowerShell 또는 CMD 실행:

cd "C:\Program Files\mosquitto"

mosquitto -v

 

여기서:

-v

 

는 verbose 옵션으로, 브로커 로그를 자세하게 출력한다. 정상적으로 실행되면 다음과 비슷한 로그가 출력된다.

1883 포트에서 MQTT Broker 실행 중...

 

여기서 1883은 MQTT 기본 포트다.

 

 

 

이제 Subscriber를 실행해보자.

 

새 터미널을 하나 더 열고:

mosquitto_sub -h localhost -t test/topic

를 입력한다.

 

명령어 의미:

  • mosquitto_sub → Subscriber 실행
  • -h localhost → 현재 PC의 Broker 사용
  • -t test/topic → 해당 Topic 구독

즉, “test/topic 채널의 메시지를 계속 듣고 있어라” 라는 의미다.

 

 

 

이제 Publisher를 실행해보자.

 

또 다른 터미널에서:

mosquitto_pub -h localhost -t test/topic -m "Hello World!"

를 입력한다.

 

명령어 의미:

  • mosquitto_pub → Publisher 실행
  • -h localhost → 현재 PC Broker 사용
  • -t test/topic → 메시지를 보낼 Topic
  • -m → 실제 메시지 내용

 

 

그러면 Subscriber 터미널에서:

Hello MQTT

가 출력된다.

 

즉 현재 구조는 다음과 같다.

Publisher
    ↓
MQTT Broker
    ↓
Subscriber

이 과정을 통해 MQTT의 핵심 구조를 직접 확인할 수 있다.

 

특히 중요한 점은 Publisher와 Subscriber가 서로 직접 연결되지 않는다는 것이다.

둘은 Broker만 알고 있고, Broker가 중간에서 메시지를 전달해준다.

그래서 시스템 확장이 매우 쉬워진다.

 

예를 들어 나중에는:

  • 로봇
  • 센서
  • 웹 UI
  • 데이터베이스
  • 디지털 트윈 시뮬레이터
  • 모바일 앱

등이 모두 같은 MQTT Broker를 통해 연결될 수 있다.

 

실제 스마트 팩토리에서는 이런 구조를 기반으로:

  • 공정 상태 전송
  • 실시간 모니터링
  • 로봇 제어
  • 경고 알람
  • 센서 데이터 수집
  • 디지털 트윈 연동

등을 구현한다.

 

 

 

MQTT는 단순한 테스트에서는 매우 간단해 보이지만,
실제로는 대규모 IoT와 산업 자동화 시스템의 핵심 통신 기술 중 하나로 사용되고 있다.