def setup(self, hostname, port): mq = Mosquitto(self.name) mq.connect(hostname, port, 60) mq.subscribe('chat') mq.subscribe('rates/AUDUSD') mq.subscribe('rates/USDCHF') mq.subscribe('rates/EURUSD') mq.subscribe('rates/PLNUSD') mq.subscribe('rates/GBPUSD') mq.on_message = self.message mq.on_connect = connect_cb mq.on_subscribe = subscribe_cb mq.on_unsubscribe = unsubscribe_cb mq.on_publish = publish_cb #mq.on_message = message_cb mq.on_disconnect = disconnect_cb self.mq = mq Clock.schedule_interval(lambda *x: mq.loop(), .01)
def __init__(self, client_id): client = Mosquitto(client_id, False, self) client.will_set(DAEMON_STATUS, OFF, qos=2, retain=True) def on_connect(client, self, rc): logging.info("MQTT Connected") client.publish(DAEMON_STATUS, ON, qos=2, retain=True) client.subscribe('home/#') def on_disconnect(client, self, rc): logging.info("MQTT Disconnected") def on_message(client, self, message): if self.onMessage is not None: self.onMessage(message.topic, message.payload) client.on_connect = on_connect client.on_disconnect = on_disconnect client.on_message = on_message self.client = client self.publish_queue = Queue() self.onMessage = None
def on_connect(mosq, obj, rc): mosq.subscribe("8dev/response", 0) print("rc: "+str(rc)) def on_message(mosq, obj, msg): print("response:"+msg.topic+" "+str(msg.qos)+" "+str(msg.payload)) def on_publish(mosq, obj, mid): print("mid: "+str(mid)) def on_subscribe(mosq, obj, mid, granted_qos): print("Subscribed: "+str(mid)+" "+str(granted_qos)) def on_log(mosq, obj, level, string): print(string) mqttc = Mosquitto() 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("test.mosquitto.org", 1883, 60) mqttc.connect("192.168.101.96", 1883, 60) while True: mqttc.loop(1, 1) cmd = raw_input("Enter command for remote: ") mqttc.publish("8dev/cmd", cmd) mqttc.loop(1, 2)