Forum: Mikrocontroller und Digitale Elektronik MQTT Subscribe Skript in Python funktioniert nicht


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Yann B. (yann)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte GPS-Daten (Länge, Breite und Höhe) anhand eines 
Python-Skripts "subscribe" und auf der der Konsole anzeigen aber ich 
komme immer nicht voran.

Ich habe Mosquitto als MQTT Broker auf meinem Raspberry Pi installiert 
und die GPS-Daten werden von einem ESP8266 publiziert "publish".Ich kann 
die Daten als Mosquitto Client auf dem Pi (weil hier Mosquitto Client 
auch installiert ist)Daten per Kommando bekommen ("subscribe").

Jetzt möchte die Daten nicht mehr per Kommando "subscriben" sondern habe 
ich ein Skript in Python geschrieben, um das zu machen, was ich die 
Daten weiter in Python verarbeiten möchte, was aber bis her nicht 
funktioniert.

Anbei findet ihr den "Subscribe"-Skript und den Fehler (als Screenshot) 
wenn ich den Skript ausführe.

Vielen Dank im Voraus.

von damichl (Gast)


Bewertung
0 lesenswert
nicht lesenswert
client.connect_async("localhost", 1883, 60)
client.loop_start()

Was willst du mit einem blocking call erreichen? Das macht doch gar 
keinen Sinn. Du solltest die komplette Doku durchlesen, nicht nur 
versuchen irgendwelche Beispiele nachzuahmen.

von W. M. (thematsche)


Bewertung
0 lesenswert
nicht lesenswert
damichl schrieb:
> client.connect_async("localhost", 1883, 60)
> client.loop_start()
>
> Was willst du mit einem blocking call erreichen? Das macht doch gar
> keinen Sinn. Du solltest die komplette Doku durchlesen, nicht nur
> versuchen irgendwelche Beispiele nachzuahmen.

Aha, und was hat das blocking/nonblocking mit dem Problem zu tun?

Aber das "localhost" duerfte die Loesung sein. ;)

von Marco H. (damarco)


Bewertung
0 lesenswert
nicht lesenswert
Darf man die Adresse nicht als String übergeben also aufgelöst ?

von Yann B. (yann)


Bewertung
0 lesenswert
nicht lesenswert
damichl schrieb:
> client.connect_async("localhost", 1883, 60)
> client.loop_start()
>
> Was willst du mit einem blocking call erreichen? Das macht doch gar
> keinen Sinn. Du solltest die komplette Doku durchlesen, nicht nur
> versuchen irgendwelche Beispiele nachzuahmen.

Hi,

dke für deine Antwort. Habe den Code so geändert wie du oben geschrieben 
hast aber ich sehe immer Nichts auf dem Bildschirm. Ich erwarte, das 
meine GPS-Daten auf der Konsole angezeigt werden.

von Yann B. (yann)


Bewertung
1 lesenswert
nicht lesenswert
Habe das Problem gelöst, indem ich einfach die neue Mosquitto Version 
(1.4.14) auf dem Raspberry Pi installiert habe. Vorher lief noch die 
alte (0.15).

> damichl (Gast)

Ich hatte noch mit dem alten Code ausprobiert und es läuft ganz gut.

Jetzt möchte ich wissen, wie diesen Thread als "gelöst" marquieren oder 
schließen kann.

Vielen Dank an euch!

: Bearbeitet durch User
von S. R. (svenska)


Bewertung
0 lesenswert
nicht lesenswert
Yann B. schrieb:
> Habe das Problem gelöst,

Das ist gut - und danke für die Rückmeldung mit der Problemlösung.

Als kleinen, nett gemeinten Hinweis für die Zukunft: Bitte poste Code in 
Zukunft nicht als Screenshot, sondern hänge einfach die Quelldatei an 
(und bitte auch nicht als TXT-Datei!). Dieses Forum kann damit umgehen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.