Ich versuche, mein MQTT Paho Python-Skript in Verbindung zu bleiben (und erneut verbinden, wenn es getrennt wird). Leider bin ich mir nicht sicher, wie ich das anstellen soll.MQTT Paho Python zuverlässig wiederverbinden
Das heißt, die Maschine ist durch WiFi verbunden, so dass im Falle, dass das Signal ausfällt oder der USB-Dongle verpatzt wird, ich nicht möchte, dass der Code auf mir ausbricht, also versuche ich alle Ausnahmen abzudecken/Fehler.
Hier ist das ein Stück des Codes Ich versuche, mit zu arbeiten:
mqttc = mqtt.Client(machine_id, clean_session=False)
mqttc.username_pw_set(machine_id, mqtt_pwd)
mqttc.connect(mqtt_host, mqtt_port)
mqttc.subscribe(machine_id, qos=1)
def on_disconnect(client, userdata, rc):
if rc != 0:
print "Unexpected MQTT disconnection. Attempting to reconnect."
try:
mqttc.reconnect()
except socket.error:
??????
mqttc.on_connect = on_connect
mqttc.on_message = on_message
mqttc.on_disconnect = on_disconnect
mqttc.loop_forever()
ich nicht in der Lage war viel weiter zu kommen, weil ich weiß nicht, wie ich bekommen kann, es wieder zu verbinden? Es sei denn, es ist in der Lage, das erste Mal wieder zu verbinden, ich kann nicht scheinen, eine richtige Reconnecting-Schleife zu gehen.
Jede Beratung wäre wirklich hilfreich!
Danke!
'loop_forever()' startet keinen Thread, das ist falsch. Es blockiert jedoch wie du sagst. – ralight
Dank @ralight. Du hast den Kunden geschrieben. Weitere Korrekturen sind willkommen – Kiran