MQTT

Min·2021년 6월 25일
1

[Study]

목록 보기
1/1
post-thumbnail

MQTT(Message Queuing Telemetry Transport)


MQTT란?

MQTT는 ISO 표준 발행-구독 기반, 사물 인터넷(IoT)을 위한 메시징 프로토콜이다.

서비스 품질 (QoS)

  • QoS 0: 최대 한 번 전달 (실행 후 삭제)
    메시지는 한 번만 보내주면 클라이언트와 브로커는 전달 확인 응답을 위한 추가 단계를 밟지 않는다.

  • QoS 1: 최소 1회 배송 (확인 된 배송)
    메시지는 확인 응답을 수신할 때까지 여러 번 송신자로부터 재시도 된다.

  • QoS 2: 정확히 한 번 배송 (확실한 배송)
    송신자와 수신자는 2단계 핸드셰이크에 참여함으로써 오직 하나의 메시지 사본만을 수신하는 것을 보장한다.


Broker(중개인) / Publisher(발행자) / Subscriber(구독자)

  • Broker: Publisher와 Subscriber 사이의 중개자 역할을 한다.
  • Publisher: 토픽을 지정하여 토픽을 구독자에게 정보를 보낸다.
  • Subscriber: 구독한 토픽의 정보를 받는다.


Topic

Topic은 Publisher, Subscriber가 발행/구독 할 수 있는 채널이다.

토픽은 슬래시(/)를 이용해서 계층적으로 구성할 수 있어서 직관적이고, 많은 센서를 관리할 수 있다.

sensors/NODE_NAME/temperature
sensors/NODE_NAME/IO


WildCards

주제를 구독할 때 사용하는 것이다.

1. Single Level: +

Single Level은 하나의 토픽 레벨을 대체한다. 기호는 더하기 기호로 토픽의 Single Level 와일드 카드를 나타낸다.

home / + / temperature
✅ home / livingroom / temperature
✅ home / kitchen / temperature
❌ home / livingroom / fridge
house / livingroom /temperature

2. Multi Level:

Multi Level은 많은 주제 레벨을 포함한다. 기호는 해시 기호로 하위를 모두 지칭할 수 있는 와일드 카드이다.

home / livingroom / #
✅ home / livingroom / temperature
❌ home / kitchen / temperature





참고 자료

0개의 댓글