添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
The Eclipse Foundation is home to the Eclipse IDE, Jakarta EE, and hundreds of open source projects, including runtimes, tools, specifications, and frameworks for cloud and edge applications, IoT, AI, automotive, systems engineering, open processor designs, and many others. The Eclipse Foundation is an international non-profit association supported by our members, including industry leaders who value open source as a key enabler for their business strategies. Whether you intend on contributing to Eclipse technologies that are important to your product strategy, or simply want to explore a specific innovation area with like-minded organizations, the Eclipse Foundation is the open source home for industry collaboration. The Eclipse community consists of individual developers and organizations spanning many industries. Stay up to date on our open source community and find resources to support your journey. The Eclipse Foundation provides our global community of individuals and organizations with a mature, scalable, and vendor-neutral environment for open source software collaboration and innovation.

Python Client

The Paho Python Client provides a client class with support for MQTT v5.0, MQTT v3.1.1, and v3.1 on Python 3.7+. It also provides some helper functions to make publishing one off messages to an MQTT server very straightforward.

Features

The Python client can be downloaded and installed from PyPI using the pip tool:

pip install paho-mqtt

Building from source

The project can be installed from the repository as well. To do this:

git clone https://github.com/eclipse/paho.mqtt.python.git
cd paho.mqtt.python
pip install -e .

Documentation

Reference documentation is online here.

Getting Started

There are example clients in the examples directory of the repository.

Here is a very simple example that subscribes to the broker $SYS topic tree and prints out the resulting messages:

import paho.mqtt.client as mqtt
# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, flags, reason_code, properties):
    print(f"Connected with result code {reason_code}")
    # Subscribing in on_connect() means that if we lose the connection and
    # reconnect then subscriptions will be renewed.
    client.subscribe("$SYS/#")
# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
    print(msg.topic+" "+str(msg.payload))
mqttc = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
mqttc.on_connect = on_connect
mqttc.on_message = on_message
mqttc.connect("mqtt.eclipseprojects.io", 1883, 60)
# Blocking call that processes network traffic, dispatches callbacks and
# handles reconnecting.
# Other loop*() functions are available that give a threaded interface and a
# manual interface.
mqttc.loop_forever()