当前位置: 首页>>代码示例>>Python>>正文


Python client.MQTTv31方法代码示例

本文整理汇总了Python中paho.mqtt.client.MQTTv31方法的典型用法代码示例。如果您正苦于以下问题:Python client.MQTTv31方法的具体用法?Python client.MQTTv31怎么用?Python client.MQTTv31使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在paho.mqtt.client的用法示例。


在下文中一共展示了client.MQTTv31方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: single

# 需要导入模块: from paho.mqtt import client [as 别名]
# 或者: from paho.mqtt.client import MQTTv31 [as 别名]
def single(topic, payload=None, qos=0, retain=False, hostname="localhost",
           port=1883, client_id="", keepalive=60, will=None, auth=None,
           tls=None, protocol=mqtt.MQTTv31):
    """Publish a single message to a broker, then disconnect cleanly.

    This function creates an MQTT client, connects to a broker and publishes a
    single message. Once the message has been delivered, it disconnects cleanly
    from the broker.

    topic : the only required argument must be the topic string to which the
            payload will be published.
    payload : the payload to be published. If "" or None, a zero length payload
              will be published.
    qos : the qos to use when publishing,  default to 0.
    retain : set the message to be retained (True) or not (False).
    hostname : a string containing the address of the broker to connect to.
               Defaults to localhost.
    port : the port to connect to the broker on. Defaults to 1883.
    client_id : the MQTT client id to use. If "" or None, the Paho library will
                generate a client id automatically.
    keepalive : the keepalive timeout value for the client. Defaults to 60
                seconds.
    will : a dict containing will parameters for the client: will = {'topic':
           "<topic>", 'payload':"<payload">, 'qos':<qos>, 'retain':<retain>}.
           Topic is required, all other parameters are optional and will
           default to None, 0 and False respectively.
           Defaults to None, which indicates no will should be used.
    auth : a dict containing authentication parameters for the client:
           auth = {'username':"<username>", 'password':"<password>"}
           Username is required, password is optional and will default to None
           if not provided.
           Defaults to None, which indicates no authentication is to be used.
    tls : a dict containing TLS configuration parameters for the client:
          dict = {'ca_certs':"<ca_certs>", 'certfile':"<certfile>",
          'keyfile':"<keyfile>", 'tls_version':"<tls_version>",
          'ciphers':"<ciphers">}
          ca_certs is required, all other parameters are optional and will
          default to None if not provided, which results in the client using
          the default behaviour - see the paho.mqtt.client documentation.
          Defaults to None, which indicates that TLS should not be used.
    """

    msg = {'topic':topic, 'payload':payload, 'qos':qos, 'retain':retain}
    multiple([msg], hostname, port, client_id, keepalive, will, auth, tls, protocol) 
开发者ID:Tertiush,项目名称:ParadoxIP150v2,代码行数:46,代码来源:publish.py

示例2: get_settings_defaults

# 需要导入模块: from paho.mqtt import client [as 别名]
# 或者: from paho.mqtt.client import MQTTv31 [as 别名]
def get_settings_defaults(self):

		return dict(
			broker=dict(
				url=None,
				port=1883,
				username=None,
				password=None,
				keepalive=60,
				tls=dict(),
				tls_insecure=False,
				protocol="MQTTv31",
				retain=True,
				clean_session=True
			),
			publish=dict(
				baseTopic="octoPrint/",
				eventTopic="event/{event}",
				eventActive=True,
				printerData=False,
				events=dict(server=True,
				            comm=True,
				            files=True,
				            printjob=True,
				            gcode=True,
				            timelapse=True,
				            slicing=True,
				            settings=True,
				            unclassified=True),

				progressTopic="progress/{progress}",
				progressActive=True,

				temperatureTopic="temperature/{temp}",
				temperatureActive=True,
				temperatureThreshold=0.1,

				lwTopic="mqtt",
				lwActive=True
			),
			client=dict(
				client_id=None
			),
			timestamp_fieldname="_timestamp"
		) 
开发者ID:OctoPrint,项目名称:OctoPrint-MQTT,代码行数:47,代码来源:__init__.py

示例3: mqtt_connect

# 需要导入模块: from paho.mqtt import client [as 别名]
# 或者: from paho.mqtt.client import MQTTv31 [as 别名]
def mqtt_connect(self):
		broker_url = self._settings.get(["broker", "url"])
		broker_port = self._settings.get_int(["broker", "port"])
		broker_username = self._settings.get(["broker", "username"])
		broker_password = self._settings.get(["broker", "password"])
		broker_keepalive = self._settings.get_int(["broker", "keepalive"])
		broker_tls = self._settings.get(["broker", "tls"], asdict=True)
		broker_tls_insecure = self._settings.get_boolean(["broker", "tls_insecure"])
		broker_protocol = self._settings.get(["broker", "protocol"])
		client_id = self._settings.get(["client", "client_id"])
		clean_session = self._settings.get_boolean(["broker", "clean_session"])

		lw_active = self._settings.get_boolean(["publish", "lwActive"])
		lw_topic = self._get_topic("lw")

		if broker_url is None:
			self._logger.warn("Broker URL is None, can't connect to broker")
			return

		import paho.mqtt.client as mqtt

		protocol_map = dict(MQTTv31=mqtt.MQTTv31, MQTTv311=mqtt.MQTTv311)
		if broker_protocol in protocol_map:
			protocol = protocol_map[broker_protocol]
		else:
			protocol = mqtt.MQTTv31

		if self._mqtt is None:
			self._mqtt = mqtt.Client(client_id=client_id, protocol=protocol, clean_session=clean_session)

		if broker_username is not None:
			self._mqtt.username_pw_set(broker_username, password=broker_password)

		tls_active = False
		if broker_tls:
			tls_args = dict((key, value) for key, value in broker_tls.items() if value)
			ca_certs = tls_args.pop("ca_certs", None)
			if ca_certs:  # cacerts must not be None for tls_set to work
				self._mqtt.tls_set(ca_certs, **tls_args)
				tls_active = True

		if broker_tls_insecure and tls_active:
			self._mqtt.tls_insecure_set(broker_tls_insecure)

		_retain = self._settings.get_boolean(["broker", "retain"])
		if lw_active and lw_topic:
			self._mqtt.will_set(lw_topic, self.LWT_DISCONNECTED, qos=1, retain=_retain)

		self._mqtt.on_connect = self._on_mqtt_connect
		self._mqtt.on_disconnect = self._on_mqtt_disconnect
		self._mqtt.on_message = self._on_mqtt_message

		self._mqtt.connect_async(broker_url, broker_port, keepalive=broker_keepalive)
		if self._mqtt.loop_start() == mqtt.MQTT_ERR_INVAL:
			self._logger.error("Could not start MQTT connection, loop_start returned MQTT_ERR_INVAL") 
开发者ID:OctoPrint,项目名称:OctoPrint-MQTT,代码行数:57,代码来源:__init__.py


注:本文中的paho.mqtt.client.MQTTv31方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。