Demo for Mbed Connect Cloud board and an MQTT Python Broker/Client
Fork of MQTT-Python-Demo by
broker/broker.py@2:9265bf2d9c37, 2017-11-17 (annotated)
- Committer:
- Jenny Plunkett
- Date:
- Fri Nov 17 15:59:59 2017 -0600
- Revision:
- 2:9265bf2d9c37
Blank main for tutorial, and working main
Who changed what in which revision?
User | Revision | Line number | New 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)) |