Client in Python
Setup
Install paho
pip install paho-mqtt
Create project directory
mkdir python-mqtt && cd python-mqtt
Publisher
Client
import paho.mqtt.client as mqtt
mqttClient = mqtt.Client("python_pub") # name of publisher
Connect Callback
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("CONNACK OK")
else:
print("CONNACK KO code=", rc)
Connect (non-TLS)
Connect to machbase-neo via MQTT plain socket.
mqttClient = mqtt.Client("python_pub", clean_session=True)
mqttClient.on_connect = on_connect
mqttClient.connect("127.0.0.1", port=5653, keepalive=10, clean_session=True)
mqttClient.loop_start()
Disconnect
mqttClient.disconnect()
mqttClient.loop_stop()
Publish Callback
def on_publish(client, userdata, mid):
print("PUBACK mid=",mid)
Publish
mqttClient.on_publish = on_publish
mqttClient.publish("db/append/example", """[
["temperature",1677033057000000000, 21.1],
["humidity", 1677033057000000000, 0.53]
]""", qos=1)
Full source code
import paho.mqtt.client as mqtt
import time
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("CONNACK OK")
else:
print("CONNACK KO code:", rc)
def on_publish(client, userdata, mid):
print("PUBACK mid:",mid)
mqttClient = mqtt.Client("python_pub", clean_session=True)
mqttClient.on_connect = on_connect
mqttClient.on_publish = on_publish
mqttClient.connect("127.0.0.1", port=5653, keepalive=10)
mqttClient.loop_start()
mqttClient.publish("db/append/example", """[
["temperature",1677033057000000000, 21.1],
["humidity", 1677033057000000000, 0.53]
]""", qos=1)
time.sleep(1)
mqttClient.disconnect()
mqttClient.loop_stop()
Last updated on