본문 바로가기

Life Work

[IT 서비스] 모스키토 플랫폼

퍼블리서

 

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