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遍历文件夹并删除特定格式文件的示例
Mar 05 Python
Python中的tuple元组详细介绍
Feb 02 Python
Python对象转JSON字符串的方法
Apr 27 Python
Python实现采用进度条实时显示处理进度的方法
Dec 19 Python
PyQt5每天必学之工具提示功能
Apr 19 Python
Python BS4库的安装与使用详解
Aug 08 Python
如何利用Anaconda配置简单的Python环境
Jun 24 Python
python 计算平均平方误差(MSE)的实例
Jun 29 Python
详解Python list和numpy array的存储和读取方法
Nov 06 Python
Django Form设置文本框为readonly操作
Jul 03 Python
python基于OpenCV模板匹配识别图片中的数字
Mar 31 Python
用Python简陋模拟n阶魔方
Apr 17 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中smarty实现多模版网站的方法
2015/06/11 PHP
thinkPHP模板引擎用法示例
2016/12/08 PHP
PHPMailer发送邮件
2016/12/28 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
phpinfo的知识点总结
2019/10/10 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
jquery查找tr td 示例模拟
2014/05/08 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
vue初始化动画加载的实例
2018/09/01 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
解决vue项目本地启动时无法携带cookie的问题
2021/02/06 Vue.js
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
python删除文件示例分享
2014/01/28 Python
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
在Python的Django框架中simple-todo工具的简单使用
2015/05/30 Python
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
python学习之hook钩子的原理和使用
2018/10/25 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
python获取Linux发行版名称
2019/08/30 Python
Python字典实现伪切片功能
2020/10/28 Python
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
毕业求职自荐信格式是什么
2013/11/19 职场文书
销售人员获奖感言
2014/02/05 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
社区爱国卫生月活动总结
2014/06/30 职场文书
经典爱情感言
2015/08/03 职场文书