[통신] CMD, Pycharm으로 MQTT 실행하기

amudomolla·2022년 4월 14일
0

통신

목록 보기
2/6

1. Broker, Publisher, subscriber 실행

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

  • Subscriber이 구독하지 않은 led로 입력할 경우
mosquitto_pub –t led –m "led_on"      // -t : 토픽명, -m : 메시지

Publish와 Subscriber에는 아무것도 나타나지 않지만
Broker 창에는 아래와 같이 나타날 것이다.

  • Subscriber이 구독한 iot로 입력할 경우
mosquitto_pub –t iot –m "led_on"

Publish는 변화가 없지만
Subscriber에 아래와 같이 메시지가 출력되고

Broker에는 다음과 같이 출력된다.

❌ 주의사항
돌고 있는 서버 cmd창은 가급적 클릭하지 말기 다운될 수도 있다.

2. Broker ip로 Connect

💻 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에 아래와 같이 문자로 메시지가 출력된 것을 볼 수 있다.

3. Pycharm으로 MQTT 실행해보기

1) Pycharm 열기

2) paho-mqtt 라이브러리 설치

3) 패키지 생성 > 파이썬파일 생성하고 아래의 코드 입력

import paho.mqtt.publish as publisher

publisher.single("topic명","message명",hostname="PC 아이피")     // 주제, 메시지, 브로커ip

그러면 Subcriber에 led_on 이라고 메시지가 출력되는 것을 볼 수 있다.

4. MQTT 종료하기

이제 모든 CMD(boker,publisher,subscriber) 창을 Ctrl+C 해서 종료하기

📌 제대로 종료됐는지 확인 작업
작업관리자에 가서 Mosquitto가 있는지 확인!
있으면, Mosquitto 클릭 > 작업끝내기 클릭

profile
👩‍💻 기록 및 복습을 위함

0개의 댓글