본문 바로가기
스터디/IoT

[사물인터넷] 파이썬 기반 MQTT 프로토콜 프로젝트_part1 : 베이스 코드

by onecosm 2023. 3. 30.
반응형

 

 

 

 

 

MQTT에 대해 모르시는 분은 아래 포스팅을 봐주시길 바랍니다.

 

MQTT 포스팅 바로가기

 

[사물인터넷] MQTT

MQTT Protocol MQTT (Message Queuing Telemetry Transport)는 인터넷상의 제한된 대역폭과 불안정한 네트워크 상황에서도 동작할 수 있는 경량 메시지 프로토콜입니다. M2M 또는 IoT 환경에서 사용하기 위해 만들

onestoria.tistory.com

 

 

 

파이썬 기반으로 MQTT를 활용한 미니 프로젝트를 진행할 예정입니다. 해당 포스트는 파이썬으로 MQTT를 활용하는 기본 베이스에 대한 설명입니다.

 

 

파이썬에서 MQTT 활용하는 방법

먼저, paho-mqtt 라이브러리를 사용하여 파이썬으로 MQTT 메시지를 전송할 수 있습니다. 이 라이브러리를 사용하기 위해서는 먼저 해당 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 paho-mqtt를 설치할 수 있습니다.

 

pip install paho-mqtt

 

 

paho-mqtt 라이브러리를 사용하여 MQTT 메시지를 전송하는 코드

import paho.mqtt.client as mqtt

# MQTT broker에 연결하는 함수
def on_connect(client, userdata, flags, rc):
    print("Connected with result code " + str(rc))
    
# MQTT broker로부터 메시지를 받는 함수
def on_message(client, userdata, msg):
    print(msg.topic + " " + str(msg.payload))

# MQTT 클라이언트 객체 생성
client = mqtt.Client()

# MQTT broker에 연결
client.on_connect = on_connect
client.connect("broker.test.com", 1883, 60)

# MQTT 메시지 전송
client.publish("test/topic", "Hello, MQTT!")

# MQTT 클라이언트 실행
client.loop_forever()

 

 

위 코드에서

on_connect 함수는 MQTT broker에 연결될 때 실행되는 함수이고,

on_message 함수는 MQTT broker로부터 메시지를 받을 때 실행되는 함수입니다.

이 두 함수는 필요에 따라 수정하여 사용할 수 있습니다.

 

client.connect 함수를 사용하여 MQTT broker에 연결하고, client.publish 함수를 사용하여 메시지를 전송합니다. client.loop_forever 함수를 사용하여 클라이언트가 계속 실행되도록 합니다.

 

위 코드에서는 broker.test.com 주소를 사용하여 테스트를 하고 있으며, 기본 포트는 1883입니다.

실제 사용할 때에는 MQTT broker의 주소와 포트 번호를 적절하게 수정하여 사용해야 합니다.

반응형

댓글