퍼블리서
import paho.mqtt.client as mqtt
mqttc = mqtt.Client("python_pub") # puclisher 이름
mqttc.connect("test.mosquitto.org", 1883)
mqttc.publish("dpc/etc/dust", "230701 PM 4시 미세먼지는 15 PPM") # topic, message
=========================
서브스크라이버
import paho.mqtt.client as mqtt
# subscriber callback
def on_message(client, userdata, message):
print("message received ", str(message.payload.decode("utf-8")))
print("message topic= ", message.topic)
print("message qos=", message.qos)
print("message retain flag= ", message.retain)
broker_address = "test.mosquitto.org"
client1 = mqtt.Client("client1")
client1.connect(broker_address)
client1.subscribe("dpc/etc/dust")
client1.on_message = on_message
client1.loop_forever()
==============
퍼브 서브
import paho.mqtt.client as mqtt #import the client1
import time
############
def on_message(client, userdata, message):
print("message received " ,str(message.payload.decode("utf-8")))
print("message topic=",message.topic)
print("message qos=",message.qos)
print("message retain flag=",message.retain)
########################################
broker_address="test.mosquitto.org"
#broker_address="iot.eclipse.org"
print("creating new instance")
client = mqtt.Client("P1") #create new instance
client.on_message=on_message #attach function to callback
print("connecting to broker")
client.connect(broker_address) #connect to broker
client.loop_start() #start the loop
print("Subscribing to topic","house/bulbs/bulb1")
client.subscribe("house/bulbs/bulb1")
print("Publishing message to topic","house/bulbs/bulb1")
client.publish("house/bulbs/bulb1","On이다 이놈아")
time.sleep(4) # wait
client.loop_stop() #stop the loop
'Life Work' 카테고리의 다른 글
[IT 서비스] MQTT publisher (0) | 2024.07.17 |
---|---|
[파이썬] 글로벌 변수 vs 로컬 변수 (0) | 2024.07.15 |
[IT 서비스] MQTT 프로토콜 개요 (0) | 2024.07.13 |
[IT 서비스] 아두이노 기반 온도,습도 센서 - 에더넷, 와이파이 통신 활용 (0) | 2024.07.12 |
[IT 서비스] End To End 데이터 파이프 라인 구축 (0) | 2024.06.28 |