python 实现MQTT Client,python3,应用Python 实
python 实现MQTT Client,python3,应用Python 实
应用Python 实现MQTT Client,主要代码如下:
#coding:utf-8#!/usr/bin/python3import jsonimport osimport binasciiimport asn1toolsimport sysimport paho.mqtt.client as mqttimport requestsimport loggingfrom enum import Enumfrom queue import Queue__all__ = ["MQTTClient"]class MQTTClient: def __init__(self,host, port, qos, timeout, log): self.host = host self.port = port self.qos = qos self.queue = Queue() self.mqtt_client = None self.timeout = timeout self.log = log def on_message(self, client, userdata, msg): self.log.debug(‘get a message: %s‘ % msg) self.queue.put(msg) def subscribe(self, topic): self.mqtt_client.subscribe(topic, self.qos) self.log.debug(‘subscribe to %s‘ % topic) def unsubscribe(self, topic): self.mqtt_client.unsubscribe(topic) self.log.debug(‘unsubscribe %s‘ % topic) def receive_msg(self, timeout=None): self.log.debug(‘waiting for message.‘) if timeout is None: timeout = self.timeout return self.queue.get(timeout=timeout) def publish(self, topic, blob): self.mqtt_client.publish(topic, blob) def loop_start(self): if self.mqtt_client is None: self.mqtt_client = mqtt.Client() self.mqtt_client.on_message = self.on_message self.mqtt_client.connect(self.host, self.port, self.timeout) self.mqtt_client.loop_start() def loop_stop(self): if self.mqtt_client is not None: self.mqtt_client.loop_stop() self.mqtt_client.disconnect() self.mqtt_client = None
python 实现MQTT Client
相关内容
- Python之Cubes框架使用,什么是框架,本文主要内容包含
- python--------------常用模块(1),python常用模块, py
- Python-面向对象,python有没有面向对象,概述面向过程:
- 菜鸟之路——机器学习之非线性回归个人理解及python实
- Python3 错误和异常,异常错误,Python有两种错
- python基础-面向对象opp,python面向对象,上述是实例化对
- 解析prototxt文件的python库 prototxt-parser(使用parsy自定义文
- python----动态规划,python动态规划,不能放弃治疗,每天都
- 吴裕雄 实战PYTHON编程(9),编程,import cv2
- python关于type()的用法,typepython,如果按这种形式写ty
评论关闭