Demo for Mbed Connect Cloud board and an MQTT Python Broker/Client

Dependencies:   C12832 MQTT

View the tutorial for this demo here.

Committer:
Jenny Plunkett
Date:
Fri Nov 17 16:02:20 2017 -0600
Revision:
4:cc36d40e9bf5
Parent:
2:9265bf2d9c37
Added MQTTNetwork

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jenny Plunkett 2:9265bf2d9c37 1 import paho.mqtt.client as paho
Jenny Plunkett 2:9265bf2d9c37 2 import socket
Jenny Plunkett 2:9265bf2d9c37 3
Jenny Plunkett 2:9265bf2d9c37 4 # https://os.mbed.com/teams/mqtt/wiki/Using-MQTT#python-client
Jenny Plunkett 2:9265bf2d9c37 5
Jenny Plunkett 2:9265bf2d9c37 6 # MQTT broker hosted on local machine
Jenny Plunkett 2:9265bf2d9c37 7 mqttc = paho.Client()
Jenny Plunkett 2:9265bf2d9c37 8
Jenny Plunkett 2:9265bf2d9c37 9 # Settings for connection
Jenny Plunkett 2:9265bf2d9c37 10 host = "IP_ADDRESS_HERE"
Jenny Plunkett 2:9265bf2d9c37 11 topic= "Mbed/#"
Jenny Plunkett 2:9265bf2d9c37 12
Jenny Plunkett 2:9265bf2d9c37 13 # Callbacks
Jenny Plunkett 2:9265bf2d9c37 14 def on_connect(self, mosq, obj, rc):
Jenny Plunkett 2:9265bf2d9c37 15 print("Connected rc: " + str(rc))
Jenny Plunkett 2:9265bf2d9c37 16
Jenny Plunkett 2:9265bf2d9c37 17 def on_message(mosq, obj, msg):
Jenny Plunkett 2:9265bf2d9c37 18 print("[Received] Topic: " + msg.topic + ", Message: " + str(msg.payload) + "\n");
Jenny Plunkett 2:9265bf2d9c37 19
Jenny Plunkett 2:9265bf2d9c37 20 def on_subscribe(mosq, obj, mid, granted_qos):
Jenny Plunkett 2:9265bf2d9c37 21 print("Subscribed OK")
Jenny Plunkett 2:9265bf2d9c37 22
Jenny Plunkett 2:9265bf2d9c37 23 def on_unsubscribe(mosq, obj, mid, granted_qos):
Jenny Plunkett 2:9265bf2d9c37 24 print("Unsubscribed OK")
Jenny Plunkett 2:9265bf2d9c37 25
Jenny Plunkett 2:9265bf2d9c37 26 # Set callbacks
Jenny Plunkett 2:9265bf2d9c37 27 mqttc.on_message = on_message
Jenny Plunkett 2:9265bf2d9c37 28 mqttc.on_connect = on_connect
Jenny Plunkett 2:9265bf2d9c37 29 mqttc.on_subscribe = on_subscribe
Jenny Plunkett 2:9265bf2d9c37 30 mqttc.on_unsubscribe = on_unsubscribe
Jenny Plunkett 2:9265bf2d9c37 31
Jenny Plunkett 2:9265bf2d9c37 32 # Connect and subscribe
Jenny Plunkett 2:9265bf2d9c37 33 print "Your IP address is:", socket.gethostbyname(socket.gethostname())
Jenny Plunkett 2:9265bf2d9c37 34 print("Connecting to " + host + "/" + topic)
Jenny Plunkett 2:9265bf2d9c37 35 mqttc.connect(host, port=1883, keepalive=60)
Jenny Plunkett 2:9265bf2d9c37 36 mqttc.subscribe(topic, 0)
Jenny Plunkett 2:9265bf2d9c37 37
Jenny Plunkett 2:9265bf2d9c37 38 # Loop forever, receiving messages
Jenny Plunkett 2:9265bf2d9c37 39 mqttc.loop_forever()
Jenny Plunkett 2:9265bf2d9c37 40
Jenny Plunkett 2:9265bf2d9c37 41 print("rc: " + str(rc))