Created
April 18, 2014 14:39
-
-
Save tomovwgti/11047563 to your computer and use it in GitHub Desktop.
MQTT subscribe
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
# Copyright (c) 2010-2013 Roger Light <roger@atchoo.org> | |
# | |
# All rights reserved. This program and the accompanying materials | |
# are made available under the terms of the Eclipse Distribution License v1.0 | |
# which accompanies this distribution. | |
# | |
# The Eclipse Distribution License is available at | |
# http://www.eclipse.org/org/documents/edl-v10.php. | |
# | |
# Contributors: | |
# Roger Light - initial implementation | |
# Copyright (c) 2010,2011 Roger Light <roger@atchoo.org> | |
# All rights reserved. | |
# This shows a simple example of an MQTT subscriber. | |
import sys | |
try: | |
import paho.mqtt.client as mqtt | |
except ImportError: | |
# This part is only required to run the example from within the examples | |
# directory when the module itself is not installed. | |
# | |
# If you have the module installed, just use "import paho.mqtt.client" | |
import os | |
import inspect | |
cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(inspect.getfile( inspect.currentframe() ))[0],"../src"))) | |
if cmd_subfolder not in sys.path: | |
sys.path.insert(0, cmd_subfolder) | |
import paho.mqtt.client as mqtt | |
def on_connect(mqttc, obj, rc): | |
print("rc: "+str(rc)) | |
def on_message(mqttc, obj, msg): | |
print(msg.topic+" "+str(msg.qos)+" "+str(msg.payload)) | |
def on_publish(mqttc, obj, mid): | |
print("mid: "+str(mid)) | |
def on_subscribe(mqttc, obj, mid, granted_qos): | |
print("Subscribed: "+str(mid)+" "+str(granted_qos)) | |
def on_log(mqttc, obj, level, string): | |
print(string) | |
# If you want to use a specific client id, use | |
# mqttc = mqtt.Client("client-id") | |
# but note that the client id must be unique on the broker. Leaving the client | |
# id parameter empty will generate a random id for you. | |
mqttc = mqtt.Client() | |
mqttc.on_message = on_message | |
mqttc.on_connect = on_connect | |
mqttc.on_publish = on_publish | |
mqttc.on_subscribe = on_subscribe | |
# Uncomment to enable debug messages | |
#mqttc.on_log = on_log | |
mqttc.connect("HOST NAME", 1883, 60) | |
mqttc.subscribe("message", 0) | |
mqttc.loop_forever() | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment