python mqtt 客户端的实现代码实例
这篇文章主要介绍了pythonmqtt客户端代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
安装paho-mqtt
pipinstallpaho-mqtt-ihttp://pypi.douban.com/simple--trusted-hostpypi.douban.com
python消息收发实现
importpaho.mqtt.clientasmqtt frommultiprocessingimportProcess importcamera_person_num MQTTHOST="172.19.4.4" MQTTPORT=1883 mqttClient=mqtt.Client()
#连接MQTT服务器 defon_mqtt_connect(): mqttClient.connect(MQTTHOST,MQTTPORT,60) mqttClient.loop_start()
#消息处理函数
defon_message_come(lient,userdata,msg):
print(msg.topic+":"+str(msg.payload.decode("utf-8")))
#消息处理开启多进程
p=Process(target=talk,args=("/camera/person/num/result",msg.payload.decode("utf-8")))
p.start()
#subscribe消息订阅
defon_subscribe():
mqttClient.subscribe("test",1)#主题为"test"
mqttClient.on_message=on_message_come#消息到来处理函数
#publish消息发布
defon_publish(topic,msg,qos):
mqttClient.publish(topic,msg,qos);
#多进程中发布消息需要重新初始化mqttClient
deftalk(topic,msg):
cameraPsersonNum=camera_person_num.CameraPsersonNum(msg)
t_max,t_mean=cameraPsersonNum.personNum()
mqttClient=mqtt.Client()
mqttClient.connect(MQTTHOST,MQTTPORT,60)
mqttClient.loop_start()
mqttClient.publish(topic,'{"max":'+str(t_max)+',"mean:"'+str(t_mean)+'}',1)
defmain(): on_mqtt_connect() on_subscribe() whileTrue: pass if__name__=='__main__': main()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。