okey schrieb:
> ich bekomme in den mqtt pycharm skript keine Daten mehr.. dafür muss ich
> den Kabel von den esp8266 unplugen und wieder plugen damit es neu
> gestartet wird.. was ja keine optimale Lösung ist..
Naja, wenn du dein Script mit sys.exit() beendest, dann ist es beendet.
Ich frage mich, warum du etwas anderes erwartet hast.
Wenn das Script weiter laufen soll, dann musst du das auch so
programmieren. Auf Mikrocontrollern ist es üblich, dass das
Hauptprogramm aus einer Endlosschleife ohne Abbruch besteht.
Noch was: Wenn du das Programm schon 0,5s nach dem Absetzen einer
Message abbrichst, dann kann es ganz gut sein, dass die Message bis
dahin noch nicht gesendet wurde. Du musst schon warten, bis der
Sende-Puffer leer ist. Leider hat der MQTTClient keine entsprechende
Funktion, mit der man den Puffer kontrollieren kann.
Eventuell hilft es, vor dem exit die disconnect() Funktion vom
MQTTClient aufzurufen. Ich habe im Quelltext gesehen, dass dadurch der
darunter liegende Socket geschlossen wird.