| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 역기구학
- IoT
- 디지털트윈
- 모니터링시스템
- 산업자동화
- fsm
- 로봇공학
- c프로그래밍
- 자료구조
- intensity
- C
- 컴퓨터비전
- git
- 로보틱스
- Histogram
- 깃허브
- Ik
- robotics
- pointer
- github
- datastructure
- c++
- 스마트팩토리
- mqtt
- makefile
- cprogramming
- Today
- Total
yebeen.kim
[MQTT] MQTT Broker 설치 및 테스트 방법 본문
이번에는 실제로 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 설치 방법부터 진행한다.
- 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와 산업 자동화 시스템의 핵심 통신 기술 중 하나로 사용되고 있다.
'2026 > 뉴로메카 인턴' 카테고리의 다른 글
| [Robotics] Jacobian Matrix (0) | 2026.05.21 |
|---|---|
| [Robotics] Inverse Kinematics 역기구학이란? (0) | 2026.05.08 |
| [Digital Twin] 공정 시뮬레이션과 FSM 구조 (0) | 2026.05.07 |
| [MQTT] MQTT란 무엇인가? (0) | 2026.05.06 |