Funksensor mit Bosch sensortec BME680 / Luftgüte

Begonnen von juergs, 28 Oktober 2017, 18:05:43

Vorheriges Thema - Nächstes Thema

HCS

Zitat von: juergs am 07 November 2017, 21:18:14
Das macht nur Sinn wenn die Werte generell vergleichbar wären. Ich glaube [ppm] ist da Aussage-kräftiger.
Ja, wenn wir wüssten, wie sich der Widerstand in ppm umrechnet.
Aber vielleicht ist das ja gar nicht möglich, siehe unten.

Zitat von: juergs am 07 November 2017, 21:18:14
Worauf basiert Deine Lösung?
https://www.bosch-sensortec.com/bst/products/all_products/bsec

Zitat von: juergs am 07 November 2017, 21:18:14
Wegen dem CSV-Format würde ich für einen Standard plädieren, sonst muss man jedesmal umbauen ... oder Skripte dafür schreiben...  :'(
Ich kenne mindestns zwei, die das ins Log-Format von FHEM bringen wollen, das klappt mit dem aktuellen Format und dem PeMue-Script prima.

Wenn mir jemand einen Vorschlag für das "Standard-Format" macht, dann mache ich gerne auch eine zweite Version, die die Daten in diesem Format liefert.

Zitat von: juergs am 07 November 2017, 21:18:14
dazu muss ich es schaffen den Resistance-Wert des BMEs zu glätten
Ich würde vorerst nichts glätten. Die realen Werte sind erst mal interessanter. Hatte gerade zu Beginn vom Lüften einen heftigen IAQ-Peak nach oben (also schlechter) und so etwas sollte man erst mal sehen und verstehen und nicht glattrechnen.

Dieser Satz aus der Bosch-Doku gibt mir zu denken:
ZitatIndoor-air-qualiy estimate [0-500]. Indoor-air-quality (IAQ) gives an indication of the relative change in ambient TVOCs detected by BME680.
Will Bosch uns hier mitteilen, dass es gar keinen Absolutwert gibt sondern nur die Information, ob es besser oder schlechter wird?

Und:
ZitatNote
The IAQ scale ranges from 0 (clean air) to 500 (heavily polluted air). During operation, algorithms automatically calibrate and adapt
themselves to the typical environments where the sensor is operated (e.g., home, workplace, inside a car, etc.).This automatic background calibration ensures that users experience
consistent IAQ performance. The calibration process considers the recent measurement history (typ. up to four days) to ensure that IAQ=25 corresponds to typical good air and IAQ=250 indicates typical polluted air.
Somit ist dann IAQ=25 der beste und IAQ=250 der schlechteste reale Wert, der in den vier Tagen zufällig auftrat, was auch immer das dann konkret war?
Wenn ich das jetzt nicht völlig falsch interpretiere, dann ist die Aussagekraft der IAQ sehr begrenzt, um es mal Bosch-freundlich zu formulieren.

Anbei wie versprochen das binary.

Und das Chart mit dem Rest des heutigen Tages. Das gibt mir auch Rätsel auf.
Aber es kann ja noch realistisch werden, wenn die vier Tage rum sind  :)


juergs

#91
ZitatWenn mir jemand einen Vorschlag für das "Standard-Format" macht, dann mache ich gerne auch eine zweite Version, die die Daten in diesem Format liefert.
Dachte da eher an Excel-freundlich als Rohdaten ohne redundante String-Info ...

Aber kein Problen, dann wndle ich die CSV-Daten vorher um ...  ;)

ZitatUnd das Chart mit dem Rest des heutigen Tages. Das gibt mir auch Rätsel auf.
Dann brauchen wir auch noch eine Meßwert-Interpretationsliste ...

Aber wie beim iAQ-core. Hohe Flankensteilheit der Temperaturwerte, sowohl nach oben als auch nach unten sind Gift für die Messungen
bzw. Kompensation  ...

Bei mir ist lange etwa gleiches Temperaturverhalten bis zum Gradienten, dann reagiert der iAQ wieder etwas sensibel
und braucht recht lange um sich aus der Situation zu erholen (fast 1 Stunde !).
Der BME aber komischerweise nicht so stark wie bei Dir, abgesehen von den Ausreißern, die noch beseitigt werden müssen ...


blehnert

Hallo Zusammen,
@HCS: zunächst mal danke für die FWs.
anbei mal drei (unaufbereitete) Logs der BME680 mit den FWs von HCS.

bme680Sensor_war_neu_FW_HCS20171020.txt : seinerzeit jungfräulicher Sensor mit der HCS-FW vom 30.10., Sensor lief ca sechs Tage ohne Unterbrechung.
bme680Sensor_alt_FW_HCS20171107.txt : derselbe Sensor nun mit der HCS-FW vom 07.11. (läuft jetzt seit einer Std)
bme680Sensor_neu_FW_HCS20171107.txt : jungfräulicher Sensor mit HCS-FW vom 07.11. (zeitgleich gestartet mit dem zweiten)

Bemerkenswert für mich die Korrelation zwischen 2. und 3. betr. Temp, Hum und Pressure, zum Rest kann ich nix sagen.
Werde die Sensoren mal drei/vier Tage ununterbrochen laufen lassen und die Logs dann anhängen.

Hoffe, ich kann so ein bisschen helfen,

danke,

Bernd

juergs

Hallo Bernd,

anbei erstmal (..aus Zeitmangel), meine fhem-log-Datei (leider noch mit Ausreißer) .
Der bearbeitete Rest folgt noch ...

Grüße,
Jürgen

PeMue

Zitat von: HCS am 07 November 2017, 22:09:16
Anbei wie versprochen das binary.
Vielen Dank, rennt seit ca. 20 Minuten (TS: 1140) und hängt die Daten an die vorigen ran. Irgendwie hat mein gplot noch Schwierigkeiten mit der Feuchte, warum auch immer. Gestern ist auch das BlueDot Modul gekommen. Ich gehe mal davon aus, dass die Firmware keinen RFM69CW braucht, um zu laufen, oder?
Aber jetzt muss ich erst mal Leiterplatten eintüten  ???

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

blehnert

Hallo PeMue,
habe die FW einfach auf meine NodeMCU Dev V2 geflashed. Sie logen munter über den USB Anschluss (virtueller COM) zum Raspberry (57600),

Bernd

juergs

#96
Hallo PeMue,

ha, auch BlueDot? !  ;D :D
ZitatSo far I didn't manage to calculate the IAQ index (Indoor Air Quality), based on the measured gas resistances.
Die haben einfach die CO2-Messung in Ihrem Beispiel zur  Lib weggelassen!
float readGas(void);
  void calculateHotPlateRes(void);
  void calculateHotPlateTime(void);
  void setHotPlateProfile(void);

ist aber im Header vorhanden.

Habe es gerade bei mir in ein nodeMCU eingebunden bekommen.
War doch etwas verwirrt, wo auf dem ESP jetzt endlich I2C heraus kommt, wenn der Standard-Konstruktur ohne Parameter verwendet wird.
In der Doku sind meist verschiedene Ports erwähnt (D-Ports oder GPIOs)   ....
Beim NodeMCU ist es letztendlich doch D1 (SCL) / D2 (SDA) zuständig. Manchmal kommt in der Doku auch D4/D5 vor ....
Dann ist beim Bluedot die Doku noch auf Stand BME280 ...  >:(
Ob nun bei High auf CS die Adresse 0x76 oder 0x77 erscheint... ist auch widersprüchlich angegeben...

Diese Frage beschäftigt mich auch:
ZitatIch gehe mal davon aus, dass die Firmware keinen RFM69CW braucht, um zu laufen, oder?
Ich vermute HCS hat die LaCrosseGateway-Konfiguration genommen mit D1=SCL und D2=SDA ?
Da ich noch kein RFM angeschlossen habe, funktioniert da bei mir noch nichts ...  :'(

Dann werde ich dann doch mein ESP-Compile am Wochenende glattziehen müssen ...
Das Watchdog-Problem lässt sich wirklich durch mehr oder weniger geschickte Platzierung von yield() vermeiden  :)

Dann mache ich mal den Steckbrettaufbau RFM-tauglich, reicht da ein RFM Modul aus?


@blehnert
ZitatNodeMCU Dev V2 ?


Heute komme ich da nicht weiter .... doch zu viele Baustellen ...

Grüße,
Jürgen


PS: Anbei die BIN  mit dem Output der BlueDot-Lib mit CO2.
D1 = SCL
D2 = SDA
nodeMCU-Belegung. Analog zum ESP12E-Modul.

 

HCS

Zitat von: juergs am 08 November 2017, 21:45:44
Die haben einfach die CO2-Messung in Ihrem Beispiel zur  Lib weggelassen!
Wie alle anderen auch ...

Zitat von: juergs am 08 November 2017, 21:45:44
Ich vermute HCS hat die LaCrosseGateway-Konfiguration genommen mit D1=SCL und D2=SDA ?
Richtig vermutet, er hat.
Und ein RFM69 ist nicht erforderlich.

juergs

@HCS
ich kann zwar die I2C Zugriffe sehen, aber es kommt nichts über die Serielle  :-\
115200 und 57600 Baud als Bitrate, kommen keine Werte ...

blehnert




Zitat von: juergs am Heute um 21:45:44

Ich vermute HCS hat die LaCrosseGateway-Konfiguration genommen mit D1=SCL und D2=SDA ?


Richtig vermutet, er hat.
Und ein RFM69 ist nicht erforderlich.

Und fürs Bluedot mit HCS-FW gilt:

SCL=SCK=D1
SDA=SDI=D2
CS=high (enable i2c)
SD0=low (0x76)

so läufts jedenfalls bei mir,

Bernd



juergs

#100
Hallo Bernd,

Die Adresse 0x76 ist der Knackpunkt gewesen....  ;)
Beim BlueDot kann man CS für high unbeschalten lassen.
Im Code hätte man nachschauen können..... Schade, hätte Zeit sparen können.  :'(


Danke!
Jürgen

hdgucken

Zitat von: juergs am 09 November 2017, 06:56:46

Die Adresse 0x76 ist der Knackpunkt gewesen....  ;)
Beim BlueDot kann man CS für high unbescholten lassen.
Hab von Anfang an den BlueDot gehabt, war bei mir auch das ,,Problem" mit der Adresse 0x76,
die Doku hatte mich aber schnell drauf gebracht. Hab gestern noch 2 Stück von A...n dazu bekommen.
Im Moment versuche ich, die Bibliotheken in Arduino einzubinden um das ganze mal mit z.B. dem CustomSensor Protokoll über einen RFM69 zu versenden. KeyValueProtokoll geht ja nur seriell am LGW.
Hab nur recht begrenzt Zeit  :(

blehnert

kleiner Zwischenstand nach zwei Tagen:

BME680"alt":
TS: 170040 T: 21.6 H: 46.2 P: 985.9 Gas: 156250 IAQ: 242 HT: 320 HD: 197 AC: 3
TS: 170100 T: 21.6 H: 46.1 P: 985.9 Gas: 156396 IAQ: 242 HT: 320 HD: 197 AC: 3
TS: 170160 T: 21.6 H: 46.2 P: 985.9 Gas: 155093 IAQ: 246 HT: 320 HD: 197 AC: 3
TS: 170220 T: 21.7 H: 46.2 P: 985.8 Gas: 155959 IAQ: 242 HT: 320 HD: 197 AC: 3
TS: 170280 T: 21.7 H: 46.2 P: 985.8 Gas: 154094 IAQ: 249 HT: 320 HD: 197 AC: 3
TS: 170340 T: 21.7 H: 46.1 P: 985.9 Gas: 155669 IAQ: 243 HT: 320 HD: 197 AC: 3

BME680"neu":
TS: 169860 T: 21.5 H: 44.7 P: 985.6 Gas: 96653 IAQ: 230 HT: 320 HD: 197 AC: 3
TS: 169920 T: 21.5 H: 44.7 P: 985.5 Gas: 97725 IAQ: 224 HT: 320 HD: 197 AC: 3
TS: 169980 T: 21.6 H: 44.7 P: 985.6 Gas: 96821 IAQ: 229 HT: 320 HD: 197 AC: 3
TS: 170040 T: 21.6 H: 44.8 P: 985.5 Gas: 95879 IAQ: 233 HT: 320 HD: 197 AC: 3
TS: 170100 T: 21.7 H: 44.7 P: 985.5 Gas: 96209 IAQ: 232 HT: 320 HD: 197 AC: 3
TS: 170160 T: 21.7 H: 44.6 P: 985.5 Gas: 96933 IAQ: 228 HT: 320 HD: 197 AC: 3


IAQ scheinen sich einander anzupassen, Gas auch ein wenig...
schaun wir mal weiter.
Sensoren sind unmittelbar nebeneinander,

Bernd

HCS


blehnert

dachte, ich soll vier Tage garnix machen  :P

also Lüften startet "alt" TS:174240 und endet 174720 ("neu" hat TS Offset von -180):

alt:
TS: 174240 T: 21.9 H: 47.1 P: 985.5 Gas: 157129 IAQ: 218 HT: 320 HD: 197 AC: 3
TS: 174300 T: 21.9 H: 47.1 P: 985.5 Gas: 158019 IAQ: 215 HT: 320 HD: 197 AC: 3
TS: 174360 T: 21.6 H: 47.2 P: 985.6 Gas: 162464 IAQ: 202 HT: 320 HD: 197 AC: 3
TS: 174420 T: 20.3 H: 48.1 P: 985.5 Gas: 183864 IAQ: 140 HT: 320 HD: 197 AC: 3
TS: 174480 T: 19.3 H: 49.3 P: 985.5 Gas: 196906 IAQ: 101 HT: 320 HD: 197 AC: 3
TS: 174540 T: 19.0 H: 49.6 P: 985.5 Gas: 208367 IAQ: 67 HT: 320 HD: 197 AC: 3
TS: 174600 T: 18.5 H: 50.7 P: 985.5 Gas: 213361 IAQ: 54 HT: 320 HD: 197 AC: 3
TS: 174660 T: 18.4 H: 50.9 P: 985.5 Gas: 214613 IAQ: 48 HT: 320 HD: 197 AC: 3
TS: 174720 T: 18.7 H: 50.2 P: 985.5 Gas: 217160 IAQ: 43 HT: 320 HD: 197 AC: 3
TS: 174780 T: 18.9 H: 49.9 P: 985.4 Gas: 217160 IAQ: 43 HT: 320 HD: 197 AC: 3
TS: 174840 T: 19.2 H: 49.2 P: 985.4 Gas: 215737 IAQ: 47 HT: 320 HD: 197 AC: 3
TS: 174900 T: 19.5 H: 48.4 P: 985.5 Gas: 217734 IAQ: 43 HT: 320 HD: 197 AC: 3
TS: 174960 T: 19.9 H: 47.7 P: 985.5 Gas: 216020 IAQ: 49 HT: 320 HD: 197 AC: 3

neu:
TS: 174060 T: 21.9 H: 45.5 P: 985.2 Gas: 97611 IAQ: 218 HT: 320 HD: 197 AC: 3
TS: 174120 T: 21.9 H: 45.6 P: 985.2 Gas: 97725 IAQ: 217 HT: 320 HD: 197 AC: 3
TS: 174180 T: 21.7 H: 45.9 P: 985.2 Gas: 100420 IAQ: 203 HT: 320 HD: 197 AC: 3
TS: 174240 T: 20.5 H: 46.2 P: 985.2 Gas: 120504 IAQ: 110 HT: 320 HD: 197 AC: 3
TS: 174300 T: 19.6 H: 47.2 P: 985.0 Gas: 134107 IAQ: 49 HT: 320 HD: 197 AC: 3
TS: 174360 T: 19.1 H: 47.9 P: 985.2 Gas: 143654 IAQ: 16 HT: 320 HD: 197 AC: 3
TS: 174420 T: 18.7 H: 48.8 P: 985.2 Gas: 150494 IAQ: 5 HT: 320 HD: 197 AC: 3
TS: 174480 T: 18.5 H: 49.3 P: 985.1 Gas: 152550 IAQ: 11 HT: 320 HD: 197 AC: 3
TS: 174540 T: 18.7 H: 48.7 P: 985.1 Gas: 152273 IAQ: 25 HT: 320 HD: 197 AC: 3
TS: 174600 T: 18.9 H: 48.3 P: 985.1 Gas: 150901 IAQ: 32 HT: 320 HD: 197 AC: 3
TS: 174660 T: 19.2 H: 47.6 P: 985.1 Gas: 151859 IAQ: 30 HT: 320 HD: 197 AC: 3
TS: 174720 T: 19.6 H: 46.9 P: 985.1 Gas: 150224 IAQ: 36 HT: 320 HD: 197 AC: 3
TS: 174780 T: 19.8 H: 46.3 P: 985.1 Gas: 147968 IAQ: 44 HT: 320 HD: 197 AC: 3