:::: MENU ::::
Posts tagged with: MQTT

MQTT 란?

MQTT?

MQ Telemetry Transport 약자

It is a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks.

MQTT 사용하는가?

IoT(Internet of Thing): Thing Internet에 연결을 하려면 Ethernet, WiFi, Cellular 등이 필요하다. 이런 connectivity가 대부분 무선으로 가고 있는데, 무선이라 함은 이동성이 보장되야 하므로 밧데리가 필요하고 파워소모는 중요한 요소이다. 파워를 적게 사용하기 위해서는 빨리 연결을 하고, 데이터를 보내고 빨리 연결을 끊어야 한다. 특히 데이터에 오버헤드가 없어야 한다. 셀룰라에서 데이터는 돈이니

HTTP?

HTTP stateless 이므로 데이터를 보내기 위해서는 매 데이터 전송 연결을 해야한다. 따라서 HTTP는 웹페이지 같은 대용량의 데이터를 보내기에는 적합하지만 가볍지 않고, 빠르지 않다또다른 문제는 HTTP pull only이다. 즉 디바이스는 서버에 데이터를 보낼수 있지만, 서버에서 데이터를 받야하 하는 경우는 지속적으로 서버에 물어봐야 한다. 이런 pull update는 시간이 많이 걸리고 데이터도 많이 소비된다.

MQTT

이에비해 MQTT 아주 간단하고 가볍다. 서버에 연결시 단지 80바이트만 필요하다. 계속 연결이 되며(MQTT Broker 연결을 유지하기 위해 Keep alive packet 주기적으로 보내야 ), 데이터 publication(디바이스가 데이터를 서버에 보내는 ) subscription(서버가 디바이스로 데이터를 보내는 ) 20바이트 정도이다. MQTT 메쉬네트웍이나 TCP/IP, Bluetooth위에서 동작가능하다.

Topic

Pub Sub는 토픽을 기준으로 작동한다. 토픽은 슬래시(/)를 이용해서 계층적으로 구성할 수 있어서 대량의 센서 기기들을 효율적으로 관리 할 수 있다

Port Number: 1883, 8883

TCP/IP port 1883 is reserved with IANA for use with MQTT. TCP/IP port 8883 is also registered, for using MQTT over SSL.

QoS

MQTT 3단계의 QoS(Quality of service) 제공한다.

  • 0 : 메시지는 한번만 전달하며, 전달여부를 확인하지 않는다. Fire and Forget 타입이다.
  • 1 : 메시지는 반드시 한번 이상 전달된다. 하지만 메시지의 핸드셰이킹 과정을 엄밀하게 추적하지 않기 때문에, 중복전송될 수도 있다.
  • 2 : 메시지는 한번만 전달된다. 메시지의 핸드셰이킹 과정을 추적한다. 높은 품질을 보장하지만 성능의 희생이 따른다.

참고


IoT Developer Survey

Top 5 IoT Industries

  • Iot Platform
  • Home Automation
  • Industrial Automation
  • Energy Management
  • Connected Cities

3가지 이슈 – 보안, 상호호환성, 연결방식
주로 사용되는 메시징 프로토콜은 MQTT, HTTP
클라우드 서비스는 아마존 클라우드

관련자료 – https://ianskerrett.wordpress.com/2016/04/14/profile-of-an-iot-developer-results-of-the-iot-developer-survey/

여기 나온 PT자료도 같이 보면 좋을 듯: http://hackerboards.com/dig-into-iot-with-41-openiot-summit-presentations/


Beyond connectivity, toward value – IoT(IoE), 비즈니스 미래 지형을 바꾸다

지난 3월 5일 참석한 컨퍼런스

iot_semina

 

발표의 내용을 요약하면

  • IoT(Internet of Things), IoE(Internet of Everything)등으로 각 업체마다 추정치는 다르나 향후 널리 확산될 것으로 예상
  • 수량은 PC, 태블릿, 스마트폰의 수치를 합한 것의 2배로 추정, 여기에 Smart TV, Wearable의 수치도 IoT와 비등한 수준
  • 가트너에서 발표한 Hype Cycle 곡선
  • IoT에서의 보안의 이슈: 냉장고가 스팸메일 보낸 뉴스, 밸킨의 Wemo 해킹 뉴스
  • 국내 통신사들: KT, LG-Uplus, SK 텔레콤등이 실제적인 서비스( Biz Case)를 발표
  • 매직에코: LimiSmart라는 램프에 IoT기능을 넣은 제품으로 인디고고에서 프로젝트 진행중 – S/W 저작 도구
  • daliworks : IoT cloud platform 서비스 제공(SensorJS), IoT 센서 게이트 웨이(비글본, 라즈베리 파이)

글로벌 벤더들의 IoT주도권을 위한 경쟁

  • 오라클: JavaME Embedded for IoE Platform 퀄컴의 Orion Board에서 채택, Gateway solution(One Box)
  • 퀄컴: AllJoyn –  P2P기반, 지금은 오픈 소스화 되어 Linux foundation 에서 유지.
  • alljoyn
  • IBM: MQTT – IoT  메시징 프로토콜, paho
  • MS의 IoT에 대한 정의
  • ms_iot

 My Insight

  • IoT 단말은 무선
  • IoT 게이트웨이는 상위 서비스와 연계하기 위해 보안 및 OS가 필요하며, 현재는 무겁고 비싸지만 가격은 점차내려갈 것고 모든 무선인터페이스(Zigbee, BT, WiFi)를 포함하는 형태가 될 것이다. 특히 가정내 IoT 게이트 웨이의 경우는 더더욱…
  • 서비스에 연계되지 않은 단말은 중국과의 가격경쟁으로 살아남기 힘들다.

위 세미나와 관련된 내용: BI에서 발표한 자료


MQTT

MQTT stands for MQ Telemetry Transport. It
is a publish/subscribe, extremely simple and lightweight messaging protocol,
designed for constrained devices and low-bandwidth, high-latency or unreliable
networks. The design principles are to minimise network bandwidth and device
resource requirements whilst also attempting to ensure reliability and some
degree of assurance of delivery. These principles also turn out to make the
protocol ideal of the emerging “machine-to-machine” (M2M) or “Internet of
Things” world of connected devices, and for mobile applications where bandwidth
and battery power are at a premium.