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)
示例#2
0
    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
示例#3
0
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)