LaCrosseGateway und BME680

Begonnen von HCS, 17 Oktober 2017, 21:48:38

Vorheriges Thema - Nächstes Thema

HCS

Hier findet die Diskussion zur Implementierung des environmental sensor BME680 von Bosch im LaCrosseGateway statt.
Sensor siehe hier: https://www.bosch-sensortec.com/bst/products/all_products/bme680

Aktueller Stand: Experimentierstadium

Der BME680 misst: Temperatur, relative Luftfeuchte, Luftdruck und VOC (Volatile Organic Compounds)

Die FHEM-Module 36_LaCrosseGateway.pm und 36_LaCrosse.pm sind bereits vorbereitet für den neuen Wert IAQ

Angehängt ist eine Testfirmware (kein LGW) die einfach auf der seriellen Konsole die gemessenen Werte rausloggt (siehe log unten)
Einfach auf einen ESP8266 flashen an dem per I2C ein BME680 angeschlossen ist.
Die Werte unten stammen von einem NanoLGW (danke an PeMue) auf dem ein BME680 sitzt.
Format einer Zeile (z.B. 40 T:23.7 H:59 P:995.4 G:19752)
40 Sekunden seit Programmstart
23.7 °C
59% rH
995.4 hPa (nicht auf NN normalisiert)
Widerstand des gas-sensors 19752 Ohm

Je geringer der Widerstand umso schlechter die Luft.

Momentan ist noch unklar, wie man den aus dem Sensor ausgelesenen Widerstandswert in die von Bosch propagierte IAQ (Indoor Air Quality) umrechnet.
Ich habe die Messreihe kommentiert (feste scrollen), was jeweils gerade passiert ist. Man sieht deutlich, wie der Sensor reagiert.
Die Temperatur ist natürlich NanoLGW-Konstruktionsbedingt drastisch zu hoch.
@PeMue: hast ihn wohl doch nicht geplättet  ;)

Im Anhang noch ein Plot von einem ersten LGW-Prototyp, der den Widerstandswert / 10 übermittelt (von einem anderen Sensor auf einem breakout, nicht dem NanoLGW, darum nicht vergleichbar mit der Messreihe unten).
Die Beschriftung IAQ stimmt nicht, es ist der ausgelesene Widerstand geteilt durch 10 (weil nur ein word dafür im Protokoll)
Um 07:00 wurden die Fenster zum Lüften aufgerissen
Um 11:00 scheinbar auch
Um 19:00 wurde bei offener Tür zu dem Raum, in dem das LGW steht, gekocht (mit Bratpfanne und so)

Kalt gestartet
--------------
  Starting
  BME680 found
  5  T:23.0 H:60 P:995.4 G:808370
  10 T:23.1 H:60 P:995.3 G:21518
  15 T:23.1 H:60 P:995.4 G:20055
  20 T:23.2 H:60 P:995.3 G:20055
  25 T:23.3 H:60 P:995.3 G:19979
  30 T:23.4 H:59 P:995.4 G:19808
  35 T:23.5 H:59 P:995.4 G:19903
  40 T:23.7 H:59 P:995.4 G:19752
  45 T:23.8 H:58 P:995.4 G:19734
  50 T:24.0 H:58 P:995.4 G:19623
  55 T:24.2 H:58 P:995.4 G:19549
  60 T:24.3 H:58 P:995.4 G:19423
  65 T:24.5 H:57 P:995.4 G:19423
  70 T:24.7 H:57 P:995.4 G:19209
  75 T:24.8 H:57 P:995.4 G:19209
  80 T:25.0 H:57 P:995.4 G:19244
  85 T:25.1 H:57 P:995.4 G:19104
  90 T:25.3 H:56 P:995.4 G:19034
  95 T:25.5 H:56 P:995.4 G:18914
  100 T:25.6 H:56 P:995.4 G:18812
  105 T:25.8 H:56 P:995.4 G:18778
  110 T:25.9 H:56 P:995.4 G:18744
  115 T:26.0 H:56 P:995.4 G:18628
  120 T:26.2 H:56 P:995.4 G:18628
  125 T:26.3 H:55 P:995.4 G:18529
  130 T:26.5 H:55 P:995.4 G:18463
  135 T:26.6 H:55 P:995.4 G:18318
  140 T:26.8 H:55 P:995.4 G:18286
  145 T:26.9 H:55 P:995.4 G:18238
  150 T:27.0 H:55 P:995.4 G:18222
  155 T:27.2 H:55 P:995.4 G:18128
  160 T:27.3 H:54 P:995.4 G:18050
  165 T:27.4 H:54 P:995.4 G:18019
  170 T:27.5 H:54 P:995.4 G:17880
  175 T:27.6 H:54 P:995.4 G:17850
  180 T:27.7 H:54 P:995.4 G:17819
  185 T:27.8 H:54 P:995.4 G:17759
  190 T:27.9 H:54 P:995.4 G:17729
  195 T:28.0 H:54 P:995.4 G:17669
  200 T:28.1 H:54 P:995.4 G:17639
  205 T:28.2 H:53 P:995.3 G:17536
  210 T:28.3 H:53 P:995.3 G:17462
  215 T:28.4 H:53 P:995.4 G:17492
  220 T:28.5 H:53 P:995.3 G:17419
  225 T:28.6 H:53 P:995.4 G:17361
  230 T:28.7 H:53 P:995.4 G:17332
  235 T:28.8 H:53 P:995.3 G:17233
  240 T:28.9 H:53 P:995.4 G:17289
  245 T:28.9 H:53 P:995.4 G:17176
  250 T:29.0 H:52 P:995.3 G:17148
  255 T:29.1 H:52 P:995.3 G:17162
  260 T:29.2 H:52 P:995.3 G:17092
  265 T:29.3 H:52 P:995.4 G:17009
  270 T:29.3 H:52 P:995.3 G:16926
  275 T:29.4 H:52 P:995.4 G:16926
  280 T:29.5 H:52 P:995.3 G:16912
  285 T:29.5 H:52 P:995.4 G:16885
  290 T:29.6 H:52 P:995.3 G:16844
  295 T:29.7 H:52 P:995.3 G:16844
  300 T:29.7 H:51 P:995.4 G:16750
  305 T:29.8 H:51 P:995.3 G:16790
  310 T:29.8 H:51 P:995.3 G:16683
  315 T:29.9 H:51 P:995.4 G:16670
  320 T:30.0 H:51 P:995.4 G:16723
  325 T:30.0 H:51 P:995.3 G:16643
  330 T:30.1 H:51 P:995.3 G:16657
  335 T:30.1 H:51 P:995.3 G:16617
  341 T:30.2 H:51 P:995.3 G:16525
  346 T:30.2 H:51 P:995.3 G:16499
  351 T:30.3 H:51 P:995.3 G:16551
  356 T:30.3 H:51 P:995.3 G:16512
  361 T:30.4 H:50 P:995.3 G:16434
  366 T:30.4 H:50 P:995.3 G:16409
  371 T:30.5 H:50 P:995.3 G:16370
  376 T:30.5 H:50 P:995.3 G:16306
  381 T:30.6 H:50 P:995.3 G:16306
  386 T:30.6 H:50 P:995.3 G:16357
  391 T:30.7 H:50 P:995.3 G:16268
  396 T:30.7 H:50 P:995.3 G:16218
  401 T:30.8 H:50 P:995.3 G:16218
  406 T:30.8 H:50 P:995.3 G:16205
  411 T:30.9 H:50 P:995.3 G:16243
  416 T:30.9 H:49 P:995.3 G:16168
  421 T:31.0 H:49 P:995.3 G:16143
  426 T:31.0 H:49 P:995.3 G:16143
  431 T:31.0 H:49 P:995.3 G:16143
  436 T:31.1 H:49 P:995.3 G:16118
  441 T:31.1 H:49 P:995.3 G:16118
  446 T:31.1 H:49 P:995.3 G:16106
  451 T:31.2 H:49 P:995.3 G:16069
  456 T:31.2 H:49 P:995.3 G:16069
  461 T:31.3 H:49 P:995.3 G:16020
  466 T:31.3 H:49 P:995.3 G:15958
  471 T:31.3 H:49 P:995.3 G:15971
  476 T:31.4 H:49 P:995.3 G:15995
  481 T:31.4 H:49 P:995.3 G:15971
  486 T:31.4 H:48 P:995.3 G:15910
  491 T:31.5 H:48 P:995.3 G:15946
  496 T:31.5 H:48 P:995.3 G:15898
  501 T:31.5 H:48 P:995.3 G:15922
  506 T:31.5 H:48 P:995.3 G:15922
  511 T:31.6 H:48 P:995.3 G:15910
  516 T:31.6 H:48 P:995.3 G:15910
  521 T:31.6 H:48 P:995.3 G:15874
  526 T:31.7 H:48 P:995.3 G:15874
  531 T:31.7 H:48 P:995.3 G:15838
  536 T:31.7 H:48 P:995.3 G:15754
  541 T:31.7 H:48 P:995.3 G:15754
  546 T:31.7 H:48 P:995.3 G:16131

Raus ins Freie
--------------
  551 T:31.8 H:43 P:995.2 G:17684
  556 T:31.8 H:39 P:995.3 G:18034
  561 T:31.9 H:37 P:995.2 G:17834
  566 T:31.9 H:36 P:995.2 G:18191
  571 T:31.9 H:35 P:995.2 G:18480
  576 T:31.9 H:34 P:995.2 G:18778
  581 T:31.9 H:33 P:995.2 G:19209
  586 T:31.9 H:33 P:995.2 G:19297
  591 T:31.8 H:32 P:995.2 G:19586
  596 T:31.8 H:32 P:995.1 G:19660
  601 T:31.7 H:32 P:995.1 G:19790
  606 T:31.6 H:32 P:995.2 G:19940
  611 T:31.5 H:33 P:995.1 G:19979
  616 T:31.4 H:33 P:995.1 G:20036
  621 T:31.3 H:33 P:995.1 G:20055
  626 T:31.2 H:33 P:995.1 G:20036
  631 T:31.1 H:33 P:995.1 G:20288
  636 T:31.0 H:33 P:995.1 G:20328
  641 T:30.8 H:34 P:995.1 G:20567
  646 T:30.7 H:34 P:995.1 G:20507
  651 T:30.5 H:34 P:995.1 G:20608
  656 T:30.4 H:35 P:995.1 G:20669
  661 T:30.2 H:35 P:995.1 G:20792
  666 T:30.1 H:35 P:995.1 G:20730
  671 T:30.0 H:36 P:995.1 G:20833
  676 T:29.8 H:36 P:995.1 G:20979
  681 T:29.7 H:36 P:995.1 G:20896
  686 T:29.6 H:36 P:995.1 G:20938
  691 T:29.5 H:37 P:995.1 G:20710
  696 T:29.4 H:37 P:995.1 G:20669
  701 T:29.4 H:36 P:995.1 G:20628
  706 T:29.4 H:36 P:995.1 G:20427

Wieder rein
-----------
  711 T:29.4 H:35 P:995.1 G:15766
  716 T:29.3 H:36 P:995.1 G:18159

Mit Zigarettenrauch eingenebelt
-------------------------------
  721 T:29.3 H:36 P:995.1 G:11111
  726 T:29.3 H:37 P:995.1 G:14470
  731 T:29.3 H:37 P:995.1 G:9556
  736 T:29.3 H:38 P:995.1 G:4365
  741 T:29.3 H:37 P:995.1 G:4233
  746 T:29.3 H:36 P:995.1 G:4398
  751 T:29.3 H:36 P:995.1 G:2497
  756 T:29.4 H:37 P:995.1 G:4335
  761 T:29.6 H:35 P:995.1 G:4520
  766 T:29.7 H:36 P:995.1 G:4405
  771 T:29.8 H:36 P:995.1 G:5463





PeMue

Zitat von: HCS am 17 Oktober 2017, 21:48:38
@PeMue: hast ihn wohl doch nicht geplättet  ;)
Dafür war der auch zu teuer  ;D
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

HCS

Zitat von: PeMue am 17 Oktober 2017, 21:56:17
Dafür war der auch zu teuer  ;D
Ja, eigentlich ist das PVDS auf dem Nano.
Aber die hotplate braucht fast nicht zu heizen, ein NanoLGW im Stick-Gehäuse erreicht die 200 °C  Messtemperatur schon fast so  ;D ;D ;D

HCS

@PeMue: wie machen wir hier denn jetzt weiter?
Testest Du mal, ob Du Werte bekommst und eine Idee hast, wie wir die Widerstandswerte interpretieren sollten?
Und ob die Widerstandswerte der realen Situation folgen?

hdgucken

Hallo Ihr fleißigen Entwickler  ;)
Besitze jetzt auch ein BME680 Breakout Board und zwar das von BlueDot. Wirkt qualitativ sehr hochwertig.
Wäre toll, wenn der irgendwann auf dem LGW einsetzbar wäre. Habt Ihr vielleicht schon eine LGW-Firmware zum testen ?
Würde gern helfen, ist aber zeitlich leider nicht ganz einfach.

Gruß Thomas

HCS

Zitat von: hdgucken am 29 Oktober 2017, 12:31:23
Hallo Ihr fleißigen Entwickler  ;)
Oh, Pluralis Majestatis  :)

Zitat von: hdgucken am 29 Oktober 2017, 12:31:23
Wäre toll, wenn der irgendwann auf dem LGW einsetzbar wäre.
So generell ist er im LGW implementiert. Nur die Berechnung der IAQ fehlt. Da fehlt mir schlicht noch die Formel.
Ich könnte aber mal eine Version rausgeben, die anstatt IAQ den Widerstandswert liefert. Der entspricht ja der Schadstoffkonzentration.

PeMue

#6
Hallo HCS,

meiner zeigt schon gewisse Grundreflexe, ich scheine meinen BME680 dann auch nicht geschrottet zu haben. Mit der LGW Software wird das Radio sauber erkannt, d.h. das Ding sollte auch Sensoren empfangen können. Bilder vom Aufbau folgen im nanoLGW Thread:
20 T:38.5 H:14 P:988.2 G:2051
25 T:38.4 H:14 P:988.2 G:2298
30 T:38.4 H:14 P:988.2 G:2521
35 T:38.3 H:14 P:988.2 G:2742
40 T:38.2 H:14 P:988.2 G:3084
45 T:38.0 H:14 P:988.2 G:3331
50 T:37.9 H:14 P:988.2 G:3622
55 T:37.7 H:14 P:988.2 G:3892
60 T:37.5 H:14 P:988.2 G:4158
65 T:37.2 H:15 P:988.2 G:4478

Die Temperatur steigt ziemlich schnell, aber das wissen wir ja schon.
Nebenbei: Die Baudrate sollte 57600 baud sein.

Ich hänge ihn mal eine Weile an meinen Test Raspberry Pi und logge in eine Datei mit und plotte mal.

Hallo Thomas,
Zitat von: hdgucken am 29 Oktober 2017, 12:31:23
Wäre toll, wenn der irgendwann auf dem LGW einsetzbar wäre.
hardwareseitig kann die LGW Platine den BME680 schon  ;) Du musst ihn nur noch auflöten  ;D

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

HCS

Zitat von: PeMue am 29 Oktober 2017, 17:26:17
meiner zeigt schon gewisse Grundreflexe
Das sieht schon mal gut aus.
Bist Du bei 20 Sekunden an die frische Luft gegangen, weil die Temperatur sinkt und die Luft besser wird?


hdgucken

@HCS: eine Version mit R-Werten wär doch schon mal was, könnte man sich ja "profisorisch" in was schöneres umrechnen  ;D

@PeMue: das wär mal ne "Löt-Herausforderung", ich glaub, ich bleib erst mal beim BreadBord  :D

Ich werd mal versuchen, meinem Schätzchen was zu entlocken  :)

Bis später ...

HCS

Zitat von: hdgucken am 29 Oktober 2017, 17:58:14
@HCS: eine Version mit R-Werten wär doch schon mal was, könnte man sich ja "profisorisch" in was schöneres umrechnen  ;D
Ja, ich werde kommende Woche eine Beta machen, die den Widerstand liefert.

Zitat von: hdgucken am 29 Oktober 2017, 17:58:14
@PeMue: das wär mal ne "Löt-Herausforderung"
Das kann er wohl voll und ganz bestätigen  ;) ;D

hdgucken

Zitat von: HCS am 29 Oktober 2017, 18:15:37
Ja, ich werde kommende Woche eine Beta machen, die den Widerstand liefert.
Das wäre toll, würde gern mal testen  :D


Zitat von: HCS am 29 Oktober 2017, 18:15:37
Das kann er wohl voll und ganz bestätigen  ;) ;D
Ich weiß, er hat schon mit Erfolg einen auf die Platine gebacken  ;D   

hdgucken

#11
@HCS: hab eben mal Deine Testfirmware auf eine NodeMCU hochgeladen,
            musste nur den SDO auf Masse legen, um die Adresse 0x76 einzustellen, läuft  :D

PeMue

Zitat von: hdgucken am 29 Oktober 2017, 20:25:51
Ich weiß, er hat schon mit Erfolg einen auf die Platine gebacken  ;D   
Nein, es waren schon zwei. Und >10 BME280  ;D ;D ;D
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

PeMue

#13
So und jetzt ein paar Ergebnisse:
- Im ersten Plot ist die Temperatur und die Feuchte aufgetragen.
- Im Zweiten Plot der Widerstand.

Am Anfang stand der PC (mit HTerm) kurz im Wohnzimmer und wanderte dann ins Arbeitszimmer. Bei t=8000 habe ich den nanoLGW kurz aus dem Fenster gehängt, bei t=22000 habe ich ihn zweimal kurz angeblasen, bei zwischen t=43000 und 51000 war er wieder draußen (durch das gekippte Fenster), bei t=58000 ist das Ganze wieder ins Wohnzimmer gewandert.
Wenn ich jetzt mal interpretieren soll, wäre die Luft im Arbeitzimmer "dicker" als im Wohnzimmer und draußen ganz "dick". Es sei denn, es ist umgekehrt und ein hoher Widerstand heißt "gute Luft"  :o :o :o
Das Ganze ist ggf. auch mit Vorsicht zu genießen, denn der BME680 hat eine Verpolung (durch das falsche Layout) überlebt, dabei ist aber ein Spannungsregler auf dem WeMos D1 mini hinübergegangen. Die Temperatur- bzw. Feuchtewerte scheinen aber plausibel.

Gruß PeMue

Edit:
Und hier noch die Unix Befehle für den Raspberry Pi (nano LGW hängt an /dev/ttyUSB1):
sudo stty -F /dev/ttyUSB1 57600
sudo cat /dev/ttyUSB1 > /tmp/bme680.txt &

RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

HCS

Zitat von: PeMue am 30 Oktober 2017, 11:23:39
Es sei denn, es ist umgekehrt und ein hoher Widerstand heißt "gute Luft"
Ja, niedriger Widerstand = schlechte Luft.

Irgendwie ist es mühsam, das alles in zwei Threads zu verhackstücken.
Vielleicht sollten wir die Grundlagenforschung erst mal nur dort machen: https://forum.fhem.de/index.php/topic,78619.msg706880.html#msg706880
Da gibt es auch gerade neue Erkenntnisse.
Wenn die Grundlagen durch sind, komme ich dann hier zuück für die Implementierung im LGW.