통신/MQTT

mqtt - bin파일 전송

찬영_00 2025. 4. 17. 11:43
728x90

먼저 내 개발환경은 다음과 같다.

 

- mosquitto

- windows 노트북

- raspberry pi zero 2W  - 2개

 

노트북은 broker가 되고, raspberry pi zero 2W 한대는 pub, 다른 한대는 sub 가 될것이다.

 

그럼 진행해보자

 

먼저 windows에 mosquitto 설치를 해주고, ( 설치하면 자동으로 브로커 실행되더라,,)

https://kksp12y.tistory.com/117

 

MQTT 알아보자 - mosquitto

요즘 긴 시간의 출퇴근으로 글 작성을 잘 못한다..어서 자취를 알아봐야겠다. 여튼 오늘은 MQTT에 대해 조금 알아보려한다. MQTT란?먼저 MQTT란 무엇일까?MQTT(Message Queuing Telemetry Transport)는 IoT(사물

kksp12y.tistory.com

설치는 저기 보면 된다.

 

설치가 완료 되면 설정을 바꿔주자

 

기본적으로 로컬호스트 ( 127.0.0.1 ) 로 설정되어 있어 다른 곳에서 접근을 못할거다.

그래서 이 ip를 모든 ip가 접근할 수 있게끔 해주자

 

방법은 쉽다.

 

mosquitto가 설치된 곳으로 가보자 (보통 C:\Program Files\mosquitto 이다 )

가보면 다음과 같은 파일이 있을 것이다.

 

이곳에 맨 마지막에 다음을 추가해주자

 

간단하게 설명하면

1883 포트를 열고 모든 ip에서 들어와도 받아주겠다 이말이야~

그리고 밑은 어느 누구나 받아주냐 인데 이건 false로 해줘야 보안이 낫벳이야

그리고 밑은 패스워드 설정할 거기때문에 추가했어

(" " 이거 안넣어도돼 password_file에. 그리고 \아니고 / 로 바꿔줘 )

 

이렇게 해주고 일단 현재 실행중인 mqtt 프로세서 종료시켜주자

taskKill /IM mosquitto.exe /F

 

종료하고나서 

mosquitto_passwd.exe -c passwd.txt myuser

 

이걸해주자 myuser는 id이니 알아서 입력하고

비번은 위 명령어를 엔터치면 치는 공간나와

 

비번 입력해주면 알아서 passwd.txt가 C:\Program Files\mosquitto 안에 생겨 ( -c: 새 파일 생성 )

비번 치는데 * 이런거 안나와도 입력되고 있는 거니 걱정마셈

 

그리고나서 아래 명령어 입력해주자

mosquitto.exe -v -c "C:\Program Files\mosquitto\mosquitto.conf"

 

그럼 실행될거야

 

자 그럼 라즈베리파이에서 코드를 짜주자

 

일단 mqtt 라이브러리는 당연히 설치가 되어 있어야 겠지?

pip install paho-mqtt

 

설치 잘 해주고 (나는 2.1.0버전임)

아래와 같이 파이썬 코드 짜주자

import paho.mqtt.client as mqtt

# 브로커 IP
broker_ip = "192.168.0.9"
broker_port = 1883  # 기본 포트

# MQTT 클라이언트 생성
client = mqtt.Client()
client.username_pw_set("myuser", "****")

# 브로커 연결
client.connect(broker_ip, broker_port)

# 메시지 발행
topic = "bin/user"
message = "1"
client.publish(topic, message)

print(f"메시지 보냄: {message} → {topic}")
client.disconnect()

 

이후 실행해보면?

 

이렇게 됨을 알 수 있다.

일단 퍼블리셔만 했고 다음 포스팅에서 sub도 해보자

728x90

'통신 > MQTT' 카테고리의 다른 글

[controller] using MQTT (들어가기 앞서)  (0) 2025.05.26
raspberry pi zero 2 W에 mosquitto 설치  (0) 2025.04.27
mqtt - bin파일 전송 -2  (0) 2025.04.18
MQTT Explorer  (0) 2025.03.24
MQTT 알아보자 - mosquitto  (0) 2025.03.19