mqtt 통신 야매 연습하기

mqtt통신

목록 보기
1/2
post-thumbnail

🎀 mqtt 란?

나 보다 설명 더 잘하는 분들이 구글에 많으니 토스~~~

🎀 mqtt 통신 준비하기

📌 mqtt 설치

npm i --save mqtt

📌 broker mosquitto 설치하기

우분투에서 설치하였기 때문에 우분투 기준임!
mosquitto 브로커 공식 홈페이지에 우분투에 설치하는 방법이 자세히 나와있다...

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update

위 두 코드를 터미널에 하나씩 입력하여 설치한다.

🎀 mqtt 통신 테스트

📌 테스트 시작전, 확인 필요

sudo systemctl status mosquitto

위 명령어를 통해 mosquitto가 실행 중인지 아닌지를 확인한다.

위 이미지와 같이 active (running)이라는 글자가 보여야 실행중이라는 의미이다.
만약 실행중이 아니라면,

sudo systemctl start mosquitto

위 명령어를 입력해 서비스를 시작할 수 있다.

📌 본격 테스트 시작

터미널이 2개 필요하다.

터미널 1: 구독 (Subscriber)

mosquitto_sub -h localhost -t test/topic

-h localhost: 브로커 호스트 (여기서는 로컬에서 테스트하므로 localhost 사용)
-t test/topic: 구독할 토픽 이름 (맘대로 정하면 됨)

터미널 2: 퍼블리시 (Publisher)

mosquitto_pub -h localhost -t test/topic -m "니 주제에 mqtt를?"

-h localhost: 브로커 호스트
-t test/topic: 메시지를 보낼 토픽 이름 (아까 터미널1에 쓴거랑 똑같이 하셈)
-m "니 주제에 mqtt를?": 전송할 메시지 (아무거나 보내 보셈)

🎀 테스트 오류

Connection refused 오류라는 메시지를 받았을 경우
브로커가 실행되지 않거나, 연결을 허용하지 않는 설정이 되어있을 가능성이 높다.

📌 1. 서비스 active 상태 확인

서비스가 실행중인지 확인하고

sudo systemctl status mosquitto

active 상태가 아니라면 재실행 한다.

sudo systemctl start mosquitto

📌 2. mosquitto 설정 파일 확인

sudo nano /etc/mosquitto/mosquitto.conf

이렇게 했을 때 나오는 메시지들에

listener 1883
allow_anonymous true

위 내용이 있는지 확인하고, 없으면 알맞게 변경해 주어야한다.
1883은 기본 포트이기 때문에 본인 포트에 알맞게 알아서 변경하셈 !
내용 수정했으면 Ctrl + O, Enter, Ctrl + X로 저장하고 종료 ㄱㄱ

sudo systemctl restart mosquitto

그러고 mosquitto 재시작 하면 됨 ㅇㅇ

솔직한 출처 : GPT 슨배림과 함께하였습니다.

profile
일단 해. 그리고 잘 되면 잘 된 거, 잘 못되면 그냥 해본 거!

0개의 댓글