MQTT란?
MQTT는 Message Queue Telemetry Transport의 약자로 낮은 전력, 낮은 대역폭 환경에서도 사용할 수 있게 설계된 포로토콜이다. 주로 IoT, M2M 등에 주로 사용된다.
Mosquitto란?
Mosquitto는 MQTT중 오픈소스 메세지브로커로 저전력 파워센서, 모바일 디바이스 등에 가벼운 메시징 처리를 하기 적합한 프로그램니다.
왜 설치를 해야하는가?
전등을 원격으로 컨트롤 하기 위해서 여러 방법이 있지만, 그중 간편하고 좋은 방법에 속하는 MQTT방식을 통해 사물인터넷을 구현 하고자 한다. 이러한 MQTT 서비스 중에서 비교적 간편하고 무료인 Mosquitto 으로 낙점
1. 설치
우선 중간에서 발신자,수신자를 연결해 줄 브로커를 설치해보자.
cmd 창에 아래의 명령어를 실행시키면 된다.
$ sudo apt install mosquitto
끝. 참쉽다
설치가 끝났으면 아래의 명령어를 실행시켜서 mosquitto가 실행중인지 확인해 본다.
$ sudo systemctl status mosquitto.service
만약 실행 중이라면 아래와 같이 뜰 것 이다.
자 브로커 설치는 끝났고 이제 클라이언트 설치를 하면된다.
$sudo apt install mosquitto-clients
끝. 이것도 어려울 것이 없다.
자 설치가 끝났으면 이제 어떻게 동작하는지 확인해 보자
2. Publish&Subscribe
MQTT에는 크게 두가지 기능이 있다. 바로 Publish, Subscribe 이다. 간단히 말해서 메세지 송,수신으로 생각하면 된다.
(정확히는 발행, 구독이다)
우선 Publish를 알아보자
$ mosquitto_pub -h 'IP주소' -t 'topic' -m 'message'
자 여기서 작성해야 할 3가지가 있다. 바로 IP주소, 토픽, 메시지
IP주소 : 정확히는 호스트 주소를 의미한다. 기본 값을 127.0.0.1로 한다.
topic : 토픽 즉 주제를 의미한다. 이 주제를 선택한 대상들만 동일 메세지를 주고받을 수 있다. 게임 채널과 비교해 생각하면 이해가 쉽다.
message : 메세지 말 그대로 주고받을 메세지 내용을 작성하면 된다.
위 세가지 모두 작성하여 발행하면 Publish는 끝난다.
다만 발송했는데로 아무런 결과가 나오지 않는다. 뭐가 잘못된 것일까?
잘못되지 않았다. 이건 단순히 보내는 것이지 받는 것이 아니다.
그럼 메세지를 받으려면 어떻게 해야할까? 바로 Subscribe이다
Subscribe는 아래 명령어를 작성하면 실행 할 수 있다.
$ mosquitto_sub -h 'IP주소' -t 'topic'
IP주소와 topic은 Publish와 동일하게 작성하면 된다.
아래 사진은 실행 결과이다
1) Publish
2)Subscribe
'홈 IoT > 서버' 카테고리의 다른 글
MQTT 중계 프로그램 제작 - 2부 (0) | 2023.05.08 |
---|---|
MQTT 중계 프로그램 제작 - 1부 (0) | 2023.05.04 |
파이썬으로 MQTT 통신 하기(예제) (0) | 2023.04.24 |