I got python to subscribe to an MQTT broker from a CentOS 6 box.
First off you need to install the mqtt libraries for python. In this example we use the paho-mqtt libraries.
You don’t use YUM, you use easy_install. Here is the command
easy_install paho-mqtt
After that you can connect via python whether this is a script or in the interpreter
Here is the script scrubbed of usernames and passwords
import paho.mqtt.client as mqtt def on_connect(mqttc, userdata, rc): print('connected...rc=' + str(rc)) mqttc.subscribe(topic='home/message', qos=0) def on_disconnect(mqttc, userdata, rc): print('disconnected...rc=' + str(rc)) def on_message(mqttc, userdata, msg): print('message received...') print('topic: ' + msg.topic + ', qos: ' + str(msg.qos) + ', message: ' + str(msg.payload)) def on_subscribe(mqttc, userdata, mid, granted_qos): print('subscribed (qos=' + str(granted_qos) + ')') def on_unsubscribe(mqttc, userdata, mid, granted_qos): print('unsubscribed (qos=' + str(granted_qos) + ')') mqttc = mqtt.Client() mqttc.on_connect = on_connect mqttc.on_disconnect = on_disconnect mqttc.on_message = on_message mqttc.on_subscribe = on_subscribe mqttc.on_unsubscribe = on_unsubscribe mqttc.username_pw_set('usernamehere', 'passwordhere') mqttc.connect(host='mqttbroker.example.local', port=1883) mqttc.loop_forever()
This was pretty easy for subscribing.
Here is the code that matters, just need to inject what the script will do.
def on_message(mqttc, userdata, msg): print('message received...') print('topic: ' + msg.topic + ', qos: ' + str(msg.qos) + ', message: ' + str(msg.payload))
Was pretty easy to get this subscribe working, not sure how the publish will work.
Larry,
Looks like you are working OT on this project.
Your postings are way over my head, however I really like the results, “IT WORKS”
Hope to see you at next meet up, will be much clearer when described/demonstrated.
Jim