1) CMD 열기
(작성자는 3개를 열었지만 CMD를 몇 개 열든지 크게 중요하지 않음. 필요한 만큼만 열면 된다. 그러나 3개 이상은 열어야 한다.)
CMD #1 : Broker
CMD #2 : Subscriber1
CMD #3 : Pulisher
2) Broker, Publisher, subscriber 명령어 입력
MQTT 통신 순서
➀ 서버 실행
➁ subscriber가 구독신청
➂ publisher가 메시지를 보냄
💻 CMD #1 : Broker
mosquitto –v // Server 창
💻 CMD #2 : Subscriber
mosquitto_sub –t iot // Subscribe 창
그러면, Subscriber1에는 아무것도 나타나지 않지만
Broker 창에는 아래와 같이 나타날 것이다.
💻 CMD #4 : Publisher
mosquitto_pub –t led –m "led_on" // -t : 토픽명, -m : 메시지
Publish와 Subscriber에는 아무것도 나타나지 않지만
Broker 창에는 아래와 같이 나타날 것이다.
mosquitto_pub –t iot –m "led_on"
Publish는 변화가 없지만
Subscriber에 아래와 같이 메시지가 출력되고
Broker에는 다음과 같이 출력된다.
❌ 주의사항
돌고 있는 서버 cmd창은 가급적 클릭하지 말기 다운될 수도 있다.
💻 CMD #2 : Subcriber
(PC ip(=Broker ip)로 해보기 위해 연결 끊음)
Subcribe 창만 Ctrl + C를 눌러 종료하면,
Broker 창에 다음과 같이 disconnectiong 문구가 뜰 것이다.
💻 CMD #2 : Subcriber
Subcribe는 Broker의 ip를 명시해야 한다.
mosquitto_sub –h [PC 아이피] –p 1883 –t [topic명] // port는 정해져 있으며, 무조건 1883
그러면 Broker에 다음과 같이 port가 붙은 것을 확인할 수 있다.
💻 CMD #3 : Publisher
mosquitto_pub –h [PC 아이피] –p 1883 –t [topic명] –m “[message명]”
그러면 Subcriber에 아래와 같이 메시지가 출력된다.
📌 “”
도 문자로 인식시키는 방법
💻 CMD #4 : Publisher
mosquitto_sub –h [PC 아이피] –p 1883 –t [topic명] –m “{\”h\“:65,\”t\“:24}”
✍ 원화 기호를 써주면, “”도 문자로 인식시킬 수 있다.
Subcriber에 아래와 같이 문자로 메시지가 출력된 것을 볼 수 있다.
1) Pycharm 열기
2) paho-mqtt
라이브러리 설치
3) 패키지 생성 > 파이썬파일 생성하고 아래의 코드 입력
import paho.mqtt.publish as publisher
publisher.single("topic명","message명",hostname="PC 아이피") // 주제, 메시지, 브로커ip
그러면 Subcriber에 led_on 이라고 메시지가 출력되는 것을 볼 수 있다.
이제 모든 CMD(boker,publisher,subscriber) 창을 Ctrl+C
해서 종료하기
📌 제대로 종료됐는지 확인 작업
작업관리자에 가서 Mosquitto가 있는지 확인!
있으면, Mosquitto 클릭 > 작업끝내기 클릭