TIL/Embedded

[임베디드] MQTT란 무엇인가?

masacorgi 2025. 6. 7. 12:31



MQTT(Message Queuing Telemetry Transport)는
IoT 기기 간 통신에 최적화된 경량 메시지 프로토콜이다.
센서에서 수집된 데이터를 서버로 전송할 때,
속도와 효율성, 연결 안정성을 모두 고려해 설계되었다.




1. MQTT의 기본 구조

MQTT는 Pub/Sub (Publish/Subscribe) 모델을 사용한다.

[구성 요소]

Publisher: 메시지를 전송하는 측 (센서, 게이트웨이 등)

Subscriber: 메시지를 수신하는 측 (서버, 대시보드 등)

Broker: 중간에서 메시지를 중계하는 서버


→ Publisher는 메시지를 특정 Topic에 발행
→ Subscriber는 원하는 Topic을 구독하여 수신




2. 동작 흐름 예시

2.1. 센서 게이트웨이 → iot/sensor/temp 토픽에 데이터 발행


2.2. 서버 백엔드가 iot/sensor/temp를 구독 중


2.3. 데이터 도착 즉시 수신하여 처리



[ 흐름 ] 센서 → MQTT publish → 브로커 → MQTT subscribe → 서버


---

3. MQTT의 장점

경량: TCP 기반의 매우 작은 오버헤드

비동기: 연결 여부와 무관하게 메시지 큐잉 가능

신뢰성: QoS 옵션을 통해 전송 보장

유연성: 수백~수천 개의 토픽 분기 가능

저전력: 센서와 배터리 기반 장비에 적합



---

4. QoS란?

MQTT는 메시지 전송 품질(Quality of Service)을 3단계로 관리한다.

QoS 0 – At most once (보장 없음, 빠름)
QoS 1 – At least once (중복 가능, 수신 보장)
QoS 2 – Exactly once (가장 안전, 가장 느림)

→ 센서 값 정도는 보통 QoS 0 또는 1을 사용함


---

5. 실제 토픽 설계 예시

iot/
├── sensor/
│   ├── temp
│   ├── humid
├── device/
│   ├── status
│   ├── config

예)

구독: iot/sensor/# → 모든 센서 데이터 수신

특정 장치: iot/device/1234/status



---

6. 내가 느낀 점

MQTT는 단순한 통신 프로토콜이 아니라,
IoT 시스템 전체를 연결하는 실시간 데이터 배달망이다.
토픽만 설계해두면 기기 추가/변경이 유연하고,
데이터 흐름이 분명하게 구조화된다.




1.7 참고자료

HiveMQ – MQTT Essentials
https://www.hivemq.com/mqtt-essentials/

MQTT Essentials: Your 2025 Learning Hub for IoT & IIoT Data Streaming

MQTT Essentials: Learn the core concepts of MQTT, its features and other essential information about the protocol for IoT and IIoT.

www.hivemq.com



EMQX MQTT Guide
https://www.emqx.com/en/mqtt



EMQX Blog – MQTT in 10 Minutes
https://www.emqx.com/en/blog/mqtt-protocol