[2025~] Embedded

[영상] IoT 프로토콜 MQTT 특징, 3분 정리 - 친절한 코딩

heylo 2025. 3. 12. 17:59

 

MQTT

IoT 시스템에서 많이 활용되는 프로토콜입니다

 

IoT의 적합한 프로토콜은 뭘까요?

 

 

IoT 시스템은 기본적으로

 

여러 디바이스가 연결될 수 있으므로

 

 

디바이스가 많이 연결되면 그만큼

 

복잡도가 증가하게 됩니다.

 

 

 

이런 부분을 MQTT 프로토콜이 해결해 주고 있는데요.

 

프로토콜의 구조를 살펴보면 이해가 쉽습니다.

 

MQTT 는 기기들이 메시지 브로커에만 접속이 되고

 

이 기기들의 데이터 교환은

 

브로커가(중개인) 맡아서 처리하는 구조를 가지게 됩니다.

 

이 기기들은 모두 브로커와 각각 연결되어 있으며

 

데이터를 송신 수신하게 됩니다.

 

 

여기서 데이터를 포함한 메시지

 

MQTT에서는 토픽이라고 부르게 됩니다.

 

MQTT에서 데이터를 전송하는 것발행이라고 부르고

 

 

특정 토픽데이터를 수신하겠다

브로커에게 등록하는 행위를

 

구독 subscribe라고 합니다

 

 

특정 토픽의 데이터가 퍼블리시되면

브로커는 이 토픽을 구독하고 있는 기기에게

 

그 내용을 전송해 줍니다.

 

토픽을 발행하는 기기들을

퍼블리셔 (Publisher),

 

토픽을 구독하고 있는 기기들을

서브스크라이버 (Subscriber) 라고 하고요.

 

 

브로커의 역할을 해주는 프로그램이 여러가지가 있죠.

 

하이브엠큐, 액티브앰큐, 모스키토 등

 

 

저는 성능 또 비용을 생각을 해서

모스키토를 선택하고 활용하고 있습니다.

 

 

이 기기들, 디바이스들은

인터넷 연결 가능한 디바이스 겠죠.

 

예를 들어서 아두이노는 

와이파이가 가능한 모델일 경우 

 

Pub-Sub 클라이언트 라이브러리를 지원하고 있어서 

 

이 라이브러리를 사용해서  메시지를 주고 받을 수 있습니다. 

 

 
 

이런 구조적인 장점 외에도

MQTT의 큰 장점은

 

초경량 프로토콜이라는 것입니다. 

 

 

MQTT는 작은 장비에서도 충분히 활용할 수 있을 정도로


고정 영역의 메시지의 사이즈가 작아서 

 

IoT 디바이스에서 활용하기 효율적인 프로토콜입니다.



간단한 디바이스들은 

 

성능과 전력이 리소스들이 충분하지 않기 때문에 

 

최소한의 리소스가 필요하다면 좋겠죠.

 


MQTT 프로토콜은

 

네트워크 내역폭을 적게 사용할 수 있고

전력 소모가 적기 때문에

 

가볍고 효율적인 프로토콜입니다.

 

여기에 QoS가 지원이 됩니다.

 

우선 통신이 가지는 오류 상황에서

어느 정도의 신뢰성을 보장해주고 있는데요.

 

 

퀄리티를 보장해야 할 정도를 3단계 등급으로 나눠서

 

그에 따라 메시지 전송 로직다르게 가져가게 됩니다.

 

 

이런 효율적인 프로토콜인 MQTT를 이용해서

IoT 시스템을 구축해 보세요.