✔ MQTT
MQTT란
- MQTT(Message Queueing Telemetry Transport)의 약자로, 최소한의 전력과 패킷량으로 통신하는 프로토콜이다.
- 저전력 배터리나 네트워크 상태가 좋지 않은 제한적인 환경에서 동작하게 하기 위한 용도로 만들어졌다.
- ⇒ 낮은 전력과 낮은 대역폭 환경에서 사용할 수 있어, IoT Device에서 유용.
동작구조

- Publisher는 Topic을 발행(publish) 하고, Subscriber는 Topic에 구독(subscribe)합니다.
- Broker는 이들을 중계하는 역할을 하며, 단일 Topic에 여러 Subscriber가 구독할 수 있기 때문에, 1:N 통신 구축에도 매우 유용합니다.
QoS(Quality of Service)
- MQTT는 시스템에 참여하는 장치들의 처리 능력, 네트워크 대역폭, 메시지 오버헤드 등 주변 상황에 맞게 시스템이 동작할 수 있도록 3단계의 QoS를 제공함.
- 0: 메시지는 한 번만 보내며, 클라이언트와 브로커는 전달 확인 응답을 위한 추가 단계를 밟지 않음.
- 1: 메시지는 확인 응답을 수신할 때까지 여러 번 송신자로부터 재시도됨.
- 2: 송신자와 수신자는 2단계 핸드셰이크에 참여함으로써 오직 하나의 메시지 사본만을 수신하는 것을 보장한다.
- QoS 단계가 높아질 수록 통신의 품질은 향상되지만, 그에 따라 성능 저하의 가능성이 있으므로 프로젝트의 특성에 따라 결정해야 함.
[참조]
https://sonjuhy.tistory.com/35
https://toongsunni-s-real-life.tistory.com/entry/MQTT-MQTT란-무엇인가
https://medium.com/@jspark141515/mqtt란-314472c246ee
https://www.hardcopyworld.com/?p=2562
https://dont-stay-hungry.tistory.com/4)
✔ Mosquitto
MQTT의 Broker 프로그램으로, Mosquitto 외에도 다양한 Broker 프로그램이 존재함.
1. Mosquitto 설치
- 설치 링크에서 Windows 파일 다운로드.
- Visual Studio Runtime은 뭘 의미하는지는 모르겠지만, 체크하지 않고 설치해도 기본 동작에 문제는 없었음.
- 나머지는 Next 누르고 Install

2. 실행
[참조]
https://mosquitto.org/download/
https://pros2.tistory.com/137