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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。