python mqtt 客户端的实现代码实例


Posted in Python onSeptember 25, 2019

这篇文章主要介绍了python mqtt 客户端代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

安装paho-mqtt

pip install paho-mqtt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

python消息收发实现

import paho.mqtt.client as mqtt
from multiprocessing import Process
import camera_person_num

MQTTHOST = "172.19.4.4"
MQTTPORT = 1883
mqttClient = mqtt.Client()
# 连接MQTT服务器
def on_mqtt_connect():
  mqttClient.connect(MQTTHOST, MQTTPORT, 60)
  mqttClient.loop_start()
# 消息处理函数
def on_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 消息订阅
def on_subscribe():
  mqttClient.subscribe("test", 1) # 主题为"test"
  mqttClient.on_message = on_message_come # 消息到来处理函数
# publish 消息发布
def on_publish(topic, msg, qos):
  mqttClient.publish(topic, msg, qos);
# 多进程中发布消息需要重新初始化mqttClient
def talk(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)
def main():
  on_mqtt_connect()
  on_subscribe()
  while True:
    pass
if __name__ == '__main__':
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python3图片转换二进制存入mysql
Dec 06 Python
最基础的Python的socket编程入门教程
Apr 23 Python
Python中使用platform模块获取系统信息的用法教程
Jul 08 Python
Python中第三方库Requests库的高级用法详解
Mar 12 Python
python实现分页效果
Oct 25 Python
python_opencv用线段画封闭矩形的实例
Dec 05 Python
对python xlrd读取datetime类型数据的方法详解
Dec 26 Python
Python求一批字符串的最长公共前缀算法示例
Mar 02 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
python 三元运算符使用解析
Sep 16 Python
django中间键重定向实例方法
Nov 10 Python
用python实现名片管理系统
Jun 18 Python
python实现的登录与提交表单数据功能示例
Sep 25 #Python
python 利用pyttsx3文字转语音过程详解
Sep 25 #Python
python retrying模块的使用方法详解
Sep 25 #Python
Python 实现一个手机号码获取妹子名字的功能
Sep 25 #Python
python 魔法函数实例及解析
Sep 25 #Python
你还在@微信官方?聊聊Python生成你想要的微信头像
Sep 25 #Python
python并发爬虫实用工具tomorrow实用解析
Sep 25 #Python
You might like
PHP与SQL注入攻击[一]
2007/04/17 PHP
PHP 观察者模式的实现代码
2013/05/10 PHP
php使用GeoIP库实例
2014/06/27 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
JS控制表格隔行变色
2006/06/26 Javascript
js form action动态修改方法
2008/11/04 Javascript
JavaScript 设计模式学习 Factory
2009/07/29 Javascript
超级有用的13个基于jQuery的内容滚动插件和教程
2011/07/31 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
Node.js简单入门前传
2017/08/21 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
详解react组件通讯方式(多种)
2020/05/06 Javascript
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
2018/07/13 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
python3 求约数的实例
2019/12/05 Python
解决Tensorboard 不显示计算图graph的问题
2020/02/15 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
新春寄语大全
2014/04/09 职场文书
说明书范文
2014/05/07 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
农村文化建设标语
2014/10/07 职场文书
2019年大学推荐信
2019/06/24 职场文书