python mqtt client publish操作

使用Python库paho.mqtt.client 模拟mqtt client 连接broker,publish topic。

#-*-coding:utf-8-*-
import paho.mqtt.client as mqtt

class mqttHandle(object):

    def __init__(self,mqtt_info):
        self.mqtt_info=mqtt_info

    def on_connect(client, userdata, flags, rc):
        print("Connected with result code " + str(rc))
        client.subscribe("chat")

    def on_message(client, userdata, msg):
        print("topic:" + msg.topic + " payload:" + str(msg.payload))

    def publish(self):
        client = mqtt.Client()
        client.on_connect = mqttHandle.on_connect
        client.on_message = mqttHandle.on_message
        client.username_pw_set(self.mqtt_info['username'], self.mqtt_info['password'])
        client.connect(self.mqtt_info['host'], self.mqtt_info['port'], 60)
        client.publish(self.mqtt_info['topic'], str(self.mqtt_info['payload']))
        #client.loop_forever()
        client.disconnect()
        print('publish topic over')

if __name__=="__main__":
    mqtt_info={
    'username':'username',
    'password':'password',
    'host':'10.10.10.10',
    'port':1833,
    'topic':'test',
    'payload':'hello world',
}
    mqttc=mqttHandle(mqtt_info)
    mqttc.publish()

 

posted @ 2018-03-01 14:36  frostHIT  阅读(1627)  评论(0编辑  收藏  举报