MQTT Broker Mosquitto Windows 설치

이경은·2022년 1월 27일
0

✔ 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. 실행

  • Command 창 2개 실행. 하나는 Publisher, 하나는 Subscriber
  • Command 창에서 mosquitto 설치 경로로 이동해서 각각 명령어 입력
    mosquitto_sub -t "MY_TOPIC"
    mosquitto_pub -t "MY_TOPIC" -m HELLO
  • pub에서 메시지를 보내면 sub에서 메시지를 받는 걸 확인할 수 있다.
  • 만약 명령어를 입력했는데 아래와 같은 에러가 발생한다면, 작업 관리자 창에서 mosquitto를 실행으로 변경해준다.

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

profile
Web Developer

0개의 댓글