본문 바로가기
  • Masacorgi 's Dev Bloggg
카테고리 없음

[스크랩] MQTT란 무엇인가요?

by masacorgi 2024. 12. 23.

https://aws.amazon.com/ko/what-is/mqtt/

 

MQTT란 무엇인가요? - MQTT 프로토콜 설명 - AWS

MQTT는 머신 대 머신 통신에 사용되는 표준 기반 메시징 프로토콜 또는 규칙 세트입니다. 스마트 센서, 웨어러블 및 기타 사물 인터넷(IoT) 디바이스는 일반적으로 리소스 제약이 있는 네트워크를

aws.amazon.com

 

MQTT(Message Queuing Telemetry Transport)는 경량의 메시지 프로토콜로, 제한된 대역폭이나 자원이 적은 환경에서도 데이터를 효과적으로 전송할 수 있게 설계되었다.

IoT 시스템에서 주로 사용되며, 발행-구독 모델을 기반으로 동작한다.

 

Publish-Subscribe Model

발행-구독 모델. 클라이언트는 특정 Topic을 Publish 하거나 Subscribe 할 수 있다.

Broker가 중간에서 메시지 데이터를 관리 및 전달한다.

 

메시지는 3가지 QoS(Quality of Service)레벨로 신뢰성을 보장한다.

* QoS 0 : 최소전달(한번 보내고 끝)

* QoS 1 : 최소 1회 전달(중복 가능)

* QoS 2 : 정확히 1회 전달

 

스마트 홈을 예시로 보는 MQTT 동작 구조

1. Broker

MQTT Broker는 스마트 홈 네트워크의 중심. Mosquitto, HiveMQ 등을 브로커로 사용가능

모든 장치와 클라이언트는 브로커와 연결되어 통신함

 

2. Clients

클라이언트는 브로커와 연결된 장치로, 데이의 Publisher, Subscriber가 될 수 있음.

온도센서, 문열림 감지기가 Publisher가 될 수 있고,

스마트폰 앱, 스마트 스피커 등이 Subscriber가 될 수 있다.

 

3. 스마트 홈에서 온도를 조절하는 예상 시나리오

3.1 온도 모니터링 : 

온도센서가 Publisher가 됨. 

실내 온도 측정, 주기적으로 MQTT Broker에게 데이터를 publish.

ex)

Topic : home/livingroom/temperature

Message : 22'C

 

스마트폰 앱 or 에어컨이 Subscribers 가 됨.

앱과 에어컨은 home/livingroom/temperature 라는 Topic을 구독함.

센서가 데이터를 publish하면 브로커가 이 주제를 구독하는 구독자들에게 데이터를 전달.

Subscribers는 데이터를 브로커로부터 수신받고 지정된 동작을 수행함.

 

앱은 전달받은 데이터를 모니터링 페이지에 출력함.

에어컨은 전달받은 데이터를 바탕으로 온도를 조절함.

 

3.2 온도 제어 : 

앱은 Client로써 브로커에게 원하는 온도를 담은 메시지를  publish 함.

에어컨은 이를 구독하고 있으면서 브로커에게 메시지를 받아 동작함.

ex) 

Topic : home/livingroom/airconditioner/temperature

Message : json data

{ "targetTemperature" : 24, "mode" : "cool" }