Ich habe meine Callback-Funktion in einem anderen Python-Modul definiert. Wie füge ich diesen Callback, der in einem anderen Modul definiert ist, an paho.mqtt Client Callback an? Zum. ZB habe ich eine Datenbank.py, wo ich alle Datenbankoperationen wie Verbindung zur Datenbank und Speichern der Nachrichten in der Datenbank und mqttbroker.py Modul, wo ich eine mqtt.client() - Instanz erstellen und eine Verbindung zum Broker und abonnieren Sie die Themen und einige Callbacks wie on_connect und on_disconnect definieren. Jetzt für Callback on_message mqtt, habe ich die Callback-Funktion in meinem Modul Datenbank.py erstellt. Wie füge ich diesen Rückruf an? Ich habe main.py (mein Client), der das Modul database.py und mqttbroker.py importiert.paho mqtt Callbacks in verschiedenen Klassenmodulen in Python
-2
A
Antwort
0
Definieren Sie die Schnittstelle und rufen Sie diese Schnittstelle im Clientmodul auf und hängen Sie den im Datenbankmodul definierten Rückruf an diese aufgerufene Schnittstelle an.
#mqttbroker.py
def onMessage(self, callback):
self.client.on_message = callback
self.client.loop_forever()
#database.py
def on_message(self,client,userdata, msg)
#store messsages in db
#main.py
import mqqtbroker
import database
client = mqqtbroker()
client.connect(host, port, 60)
client.onMessage(database.on_message)
Verwandte Themen
- 1. MQTT Paho Python zuverlässig wiederverbinden
- 2. Rückgabedaten ON_MESSAGE in Python paho MQTT
- 3. MQTT Verbindungsaufbau zwischen verschiedenen Systemen mit paho-MQTT-pthon:
- 4. MQTT PAHO [CERTIFICATE_VERIFY_FAILED]
- 5. Installiere Paket paho-mqtt
- 6. mqtt paho Netzwerkschleife unnötig?
- 7. MessageArrived MQTT Paho-Bibliothek
- 8. Python Paho MQTT und IBM Watson IoT
- 9. paho-mqtt subscribe check Subskriptionsstatus
- 10. Run paho mqtt Client loop_forever
- 11. Wie paho mqtt Client in Django verwenden?
- 12. MessageID gibt Null in Paho MQtt
- 13. Paho Javascript mqtt komprimierte Nutzlast
- 14. Paho MQTT reagiert nicht mit Docker Container
- 15. Paho (MQTT) -Client kann keine Verbindung herstellen
- 16. MQTT veröffentlicht ein Array von Bytes mit Python und Paho-Mqtt
- 17. Python paho-MQTT-Verbindung mit azurem IoT-Hub
- 18. Paho MQTT on_message eine lustige Nachricht zurückgeben - Python
- 19. Gibt es ähnliche Python-Anfragen 'Sitzungen für Paho MQTT?
- 20. paho-MQTT python: Wie kann die loop_forever subscribe-Nachricht unterstützen?
- 21. Python Paho mqtt laufen Client für x Minuten
- 22. Paho mqtt Rückrufe auf mehrere Abonnement
- 23. Paho MQTT Verbindung zu MQXR Broker
- 24. android - Paho MQTT-Dienst für die Veröffentlichung
- 25. Paho MQTT C++ Verbindung Benutzer und Passwort
- 26. Android MQTT - Paho unterstützt nicht wss: //
- 27. Paho-Mqtt django, on_message() Funktion läuft zweimal
- 28. wie Paho-MQTT Android Studio hinzufügen
- 29. Paho MQTT Javascript-Abonnement für mehrere Themen?
- 30. Abonnieren und lesen MQTT Nachricht mit PAHO
Das bricht die Trennung, die Sie suchten. Verschieben Sie den Rückruf in die Datei "mqttbroker.py" und rufen Sie die Datei "database.py" auf. – hardillb
Bearbeiten Sie auch die Frage, um den Code – hardillb
in Ordnung zu zeigen, danke. Bitte finden Sie den Code unten. Es funktioniert jetzt. – Mythri