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 相关文章推荐
Python中的ctime()方法使用教程
May 22 Python
python追加元素到列表的方法
Jul 28 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
Python脚本实现自动发带图的微博
Apr 27 Python
Python双精度浮点数运算并分行显示操作示例
Jul 21 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 Python
flask + pymysql操作Mysql数据库的实例
Nov 13 Python
python3中类的继承以及self和super的区别详解
Jun 26 Python
Python实现序列化及csv文件读取
Jan 19 Python
解决pycharm同一目录下无法import其他文件
Feb 12 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 Python
Python带你从浅入深探究Tuple(基础篇)
May 15 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中static和const关键字用法分析
2016/12/07 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
javascript管中窥豹 形参与实参浅析
2011/12/17 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
JS实现选项卡实例详解
2015/11/17 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
javascript中this关键字详解
2016/12/12 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
Vue项目查看当前使用的elementUI版本的方法
2018/09/27 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
2018/11/27 jQuery
Vue数据绑定实例写法
2019/08/06 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
深入解析Python中的线程同步方法
2016/06/14 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
简单了解python关系(比较)运算符
2019/07/08 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
使用wxpy实现自动发送微信消息功能
2020/02/28 Python
Python之字典对象的几种创建方法
2020/09/30 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
初一家长会邀请函
2014/01/31 职场文书
工作求职自荐信
2014/06/13 职场文书
新课培训心得体会
2014/09/03 职场文书
中小学生学籍证明
2014/10/25 职场文书
2014年团队工作总结
2014/11/24 职场文书
销售业务员岗位职责
2015/02/13 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python