使用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()
05-22 01:07