MQTT 프로토콜 개요 및 IoT 애플리케이션 구축

Source

  • Evernote/ancom21c's notebook/Fluent 2016 - Building an IoT app using MQTT.md

Summary

본 문서는 IoT 애플리케이션 구축을 위한 MQTT 프로토콜의 핵심 개념을 설명한다. MQTT는 경량 퍼블리시-서브스크라이브(Pub-Sub) 프로토콜로, 슬래시 기반의 계층적 토픽 구조와 와일드카드(+, #)를 지원한다. 메시지 전달의 신뢰성을 보장하는 QoS는 0(확인 없음), 1(최소 1회 전달), 2(정확히 1회 전달, 4단계 핸드셰이크)의 세 단계로 구분된다. 또한 장치의 데이터 전송(이벤트)과 명령 수신(커맨드)은 서로 다른 채널을 통해 처리되며, Node.js 기반 MQTT 라이브러리와 TI SensorTag를 활용한 구현 예시가 언급된다.

Key Points

  • MQTT는 경량 Pub-Sub 프로토콜이며, 슬래시(/) 기반의 계층적 토픽 구조를 사용함
  • 토픽 구독 시 와일드카드(+: 단일 레벨, #: 하위 레벨 전체)를 지원함
  • QoS 0: 확인 없이 메시지 전송, QoS 1: 최소 1회 전달 보장, QoS 2: 정확히 1회 전달 보장(4단계 핸드셰이크)
  • IoT 장치의 데이터 발행(이벤트)과 명령 수신(커맨드)은 논리적으로 구분된 채널을 통해 처리됨
  • Node.js MQTT 라이브러리와 TI SensorTag를 활용한 실제 구현 환경 언급