[MQTT: MQ Telemetry Transport]
- Publish / Subscribe messaging (One to many)
* CoAP는 Client - server 방식임
MQTT의 3가지 구성요소
1. publisher
2. MQTT Broker
3. Subscriber
Packet(message) flow diagram - (그림그리는거 시험!!)
어느 한명이 publishing을 하게 되면 many subscriber에게 정보가 전달 됨
* CoAP와의 차이점은 broker가 없다는 점이다.
* Broker는 AWS와 같은 플랫폼 회사가 될 수 있다.
MQTT message format
(외울필요는 없지만 용량을 점점 작게 사용한다는 것만 알면 됨)
옵션 Retain=1: publisher가 발행할 때 subscribe한 A한테는 정보가 전달되고,
가장 last message를 keep하고 있다가 B가 subscribe할 때 또 전달해주는 것임
(Keep last message)
옵션 Remaining length (RL)
다음행에 연결된다는 것을 표현하기위해 header에 CB0, CB1 처럼 indexing을 해주는 것임
MQTT QoS (시험 100%) - diagram차이도
→ At-most-once delivery (QoS level 0)
위의 Packet(message) flow diagram 에서 publisher는 subscriber가 msg를 받았는지 못받았는지 알 수 없음
→ 해결책: At-least-once delivery (QoS level 1)
(적어도 한번은 보냈다는 것을 알려주는 것, 정확히 몇번했는지는 알 수 없음)
위와 같이 receive정보를 받았다는 정보를 server에 전달하여 서버는 그 정보를 삭제함
(level1과의 차이는 server가 그냥 메시지를 subscriber에게 전달하고 삭제해버림)
→ 해결책: Exactly-once delivery (QoS level 2)
QoS level1과 level2의 차이
level1은 msg를 여러번 전달 할 수 있음 level2는 한번만 보냄
Topic wildcards
- / : 각 hierarchical한 directory를 구분하기위해 " / " 를 사용함
- + : building / + /sensors 는 building안에 있는 floor-1 와 floor-2 에 있는 모든 sensor들을 의미함
- # : building / floor-1 / #는 floor1 아래에 있는 모든 것들을 의미함
→ 시험문제 예시) 거실에 있는 모든 불을 끄시오: 집/#
→ 시험문제 예시)집에 있는 냉장고를 모두 끄시오 : 집/+/냉장고
'IT > 사물인터넷' 카테고리의 다른 글
wireless evolution (0) | 2023.05.02 |
---|---|
Matter - Ambient Intelligence (0) | 2023.04.04 |
3가지 프로토콜: HTTP/CoAP/MQTT 1 (0) | 2023.03.28 |
TCP/IP Network Model (0) | 2023.03.21 |
사물인터넷 및 Network model (0) | 2023.03.14 |