feinstaub
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
feinstaub [2021/04/27 12:53] – varnholt | feinstaub [2021/04/28 09:02] (aktuell) – varnholt | ||
---|---|---|---|
Zeile 21: | Zeile 21: | ||
Ach verflixt... geht natürlich nicht. man muss es in python2 machen, sonst kommen Fehlermeldungen der Art: **TypeError: | Ach verflixt... geht natürlich nicht. man muss es in python2 machen, sonst kommen Fehlermeldungen der Art: **TypeError: | ||
+ | |||
+ | Damit es in python3 geht, muss man das, was man an die serielle Schnittstelle schickt, erst in ein Byte-Array wandeln. Dann kann man natürlich nicht wie bei Springs mit + concatenieren. Abfragen auf einzelne Zeichen müssen dann natürlich auch wieder entweder als Byte abgefragt werden, oder als Zahl. Hier mal die Änderungen zwischen den beiden Dateien. | ||
+ | |||
+ | < | ||
+ | < # | ||
+ | < | ||
+ | | ||
+ | < ret = bytearray() | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < for x in data: | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < #ret = " | ||
+ | 61,62c52 | ||
+ | < # | ||
+ | < | ||
+ | 68,69c58 | ||
+ | < # | ||
+ | < | ||
+ | 74c63 | ||
+ | < while byte != b" | ||
+ | < # | ||
+ | 91c80 | ||
+ | < if d[1] == 0xc0: | ||
+ | > #if d[1] == " | ||
+ | </ | ||
+ | |||
+ | PROBLEM: Schlafen legen des Sensors funktioniert - aber nicht das aufwachen. es wird der korrekte - lange - string gesendet. nach dem wachwerden ' | ||
+ | |||
+ | LÖSUNG: Oh mann, ein paar ser.reset_input_buffer(); | ||
+ | |||
+ | Auch die Ausgabe an MQTT hat nicht funktioniert. Es kam wieder das Problem mit bytes: | ||
+ | TypeError: a bytes-like object is required, not ' | ||
+ | TypeError: a bytes-like object is required, not ' | ||
+ | Und wieder eine Korrektur: | ||
+ | < | ||
+ | child = subprocess.Popen(cmd, | ||
+ | data=json.dumps(jsonrow) | ||
+ | child.communicate(data.encode()) | ||
+ | |||
+ | #with subprocess.Popen(cmd, | ||
+ | # json.dump(jsonrow, | ||
+ | </ | ||
+ | |||
+ | Das Umwandeln der Roh-Werte in AQI macht er mit JavaScript auf [[https:// | ||
+ | |||
+ | |||
+ | Weiter geht es dann mit dem ESP32. mehr Infos dazu hier: https:// | ||
+ | |||
+ | Stand April 2021 |
feinstaub.1619527995.txt.gz · Zuletzt geändert: 2021/04/27 12:53 von varnholt