Network/IoT-MQTT

IoT - MQTT 프로토콜 이란?

양디 2016. 1. 23. 13:13



프로토콜이 뭐야 ?

네트워크 용어에 대해 잘 모르는 분들이 계실 수 있으므로 살짞 짚고 넘어가자.


프로토콜이란 서로 데이터를 주고받을 때에 상호 지키기로 한 규약 이다.


영어 단어 자체도 외교 의례 라는 단어를 갖고 있다.


디바이스들이 주고받는 언어 라고 할 수 있다.


내가 멕시코 친구한테 '안녕 ? 어디서 왔니 ? ' 라고 하면 이해하지 못하는 것처럼, 


데이터를 보낼 때에도 서로 이해할 수 있는 프로토콜을 사용하여야 통신이 가능해진다.


MQTT 프로토콜 특징


MQTT 프로토콜은 IoT 프로토콜 솔루션이다.

Message Queue Telemetry Transport 의 약자이다.

이 프로토콜은 사물인터넷 구축을 위해서 필요한 점들을 시원하게 긁어주는 여러가지 장점을 지녔다.

사물인터넷을 구축하는데 있어서 몇가지 제한사항이 생긴다.

먼저 디바이스가 데스크톱처럼 상시 전원이 공급되는 상황이 아닐 가능성이 크다. 
따라서 배터리 전원을 사용할 상황이 많은데, 이를 위하여 전력 소모를 최소화 하여야 한다.

두번째로, 사물 인터넷 기기들은 컴퓨팅 파워가 낮다. 기기의 성능이 낮다는 말이다.
따라서 보내는 데이터의 양이 많으면, 처리하기 위하여 많은 시간이 소모될 가능성이 높다.

마지막으로 사물 인터넷 기기들은 안정된 인터넷 환경에 있지 않다.
데스크톱의 경우에는 랜선을 연결하면, TCP/IP의 안전한 인터넷 속으로 들어가지만 
사물인터넷의 경우는 인터넷보다는 단거리 통신(Bluetooth, Zigbee 등..)을 사용하는 경우가 더 많다.
이러한 단거리 통신들은 연결이 비교적 불안정하다.(신뢰 할 수 없다는 용어를 쓴다.)

따라서 사물 인터넷 구축을 위해 MQTT가 제시한 장점들은 다음과 같다.

저전력 / QoS(Quality of Service)

저전력은 말그대로 전력 소모를 줄인다는 뜻이고, QoS는 신뢰할 수 없는 네트워크에서 데이터 전송을 성공시킨다는 것이다.

천천히 하나씩 살펴보도록 하자.

또한 MQTT의 특징으로는 Client - Server 의 구조가 아닌

Publisher - Broker - Subscriber 의 pub/sub 모델이라는 것이다.

이 또한 하나씩 포스팅해 가면서 정리해보도록 하자.


이 포스팅들의 최종 목표는, 오픈 소스 라이브러리들을 사용하여 간단하게 직접 IoT를 개발해 보는것에 있다.


천천히 공부하다 보면, 분명 집에 자신이 만든 IoT 시스템을 사용하고 있을지도 모른다!




댓글