MQTT 이해와 실습

HKTUOHA·2024년 6월 25일

IoT 프로토콜 

목록 보기
1/3
post-thumbnail

MQTT란?

  • Message Queueing Telemetry Transport
  • M2M(Machine to Machine), IoT(Internet of Things) 통신에 사용되는 표준 기반 메시징 프로토콜
  • 리소스 제약이 있는 열악한 네트워크 환경에서 제한된 대역폭으로
    센서 하나 달린 작은 기기들의 데이터 전송 및 원격제어를 위해 만들어진 프로토콜
    → 임베디드 장치에 알맞은 프로토콜
  • 구현이 쉽고 IoT 데이터를 효율적으로 전달할 수 있어 널리 사용되고 있다.

MQTT 특징

  • 실시간, 최소 전력, 신뢰성 있는 비동기적 메시징 방식 (TCP/IP 기반)
  • 경량 프로토콜
  • 이벤트 방식의 N : N 통신 지원

MQTT 구성

1) Broker : 메시지가 들어오는 통로, 서버
- 반드시 Broker를 통해서만 통신이 가능
- 메시지의 전송 여부, 에러 여부 확인 가능
2) publisher : 토픽을 발행
3) subscriber : 토픽을 구독

  • 발행과 구독을 동시에 할 수 있다.


MQTT 메시징 방식

  • MQTT는 브로커(Broker)라고 불리는 서버를 거쳐서 통신을 한다.
  • 이때 주고 받는 메시지는 토픽(Topic)을 기준으로 작동한다.
  • 발행자(publisher)는 토픽을 발행하기 위한 목적으로 브로커 서버에 연결한다.
  • 구독자(subscriber)는 토픽을 구독하기 위한 목적으로 브로커 서버에 연결한다.
  • 하나 이상의 발행자와 구독자가 브로커 서버에 연결해서 토픽을 발행하거나 구독할 수 있다.

일대일, 또는 일대다 통신이 모두 가능

  • 토픽(Topic)
    - 메시지에 태그를 건다.
    - subscriber는 원하는 토픽만 선택해서 메시지를 받는다.

  • Topic을 활용하여 계층적으로 관리한다.



MQTT Broker 설치 및 구동

1. MQTT 서버 다운로드

  • Moquitto는 MQTT Broker 오픈소스 프로젝트로 널리 사용되고 있다.

https://mosquitto.org/download/


2. Mosquitto 구동

  • mosquitto 설치 폴더로 이동, cmd 실행
  • mosquitto.exe -v 또는 mosquitto -v 명령 입력 후 설치 버전 출력 시 정상 설치된 것

MQTT Path를 설정하면 cmd 창만 켜면 MQTT 실행 가능


3. MQTT Broker 동작 확인

  • cmd 창을 3개 열기
  1. Broker 서버 실행 : mosquitto -v
  2. "JOY" subscriber 실행 : mosquitto_sub -t "JOY"
  3. "JOY"에게 "hi" 메시지 전송 : mosquitto_pub -t "JOY" -m "hi"

profile
공부 기록

0개의 댓글