Funksensor mit Bosch sensortec BME680 / Luftgüte

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

Vorheriges Thema - Nächstes Thema

PeMue

#450
Hallo zusammen,

ich würde jetzt mal mit einem solchen breakout board ins Rennen gehen (siehe BME680_BH1750_breakout_v1.0_top.png).
Leider ohne Schraubenlöcher, aber m.E. braucht es das auch nicht, da die Platine so klein ist (9x7,5 mm), dass sie keine Schrauben braucht.

Anbindung ist über einen 1.27 mm Pinheader, der am nanoLGW per SMD gelötet wird, so dass das breakout board oben aus dem Gehäuse schauen kann (die Höhe kann über das Einlöten justiert werden).

Beim LGW habe ich das ganze in Durchsteck relalisiert, so dass das breakout board auf der Seite aus dem Gehäuse rausschauen kann.

Irgendwelche Verbesserungsvorschläge? Wenn nicht, schaue ich, dass ich Platinen bestelle.

Gruß Peter
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

juergs

#451
Hallo Peter,

super!  Nehme auf alle Fälle einen Posten ab ... :D

Bei den OSH-Breakouts habe ich mich mit einem BME680 und einem in einem Schraubstock eingespannten Bügeleisen
versucht. Was soll ich sagen, bin mit dem Ergebnis zufrieden und es funktioniert sogar!
Die Sensor-Größe ist wirklich grenzwertig .... Ebenso die 0403 4K7-R's (hatte nur 0604 da..)
Ist die kostengünstigste Variante  ;D

Danke + Grüße!
Jürgen

PeMue

Hallo,

habe jetzt mal die Breakouts, LGW v1.4 und nanoLGW v1.6 bestellt, mal sehen, ob die noch vor dem chinesischen Neujahr gefertigt werden.

Zitat von: juergs am 28 Januar 2019, 18:15:04
Bei den OSH-Breakouts habe ich mich mit einem BME680 und einem in einem Schraubstock eingespannten Bügeleisen
versucht. Was soll ich sagen, bin mit dem Ergebnis zufrieden und es funktioniert sogar!
da hätte ich gerne mal ein Bild gesehen  ;)

Gruß Peter
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

juergs

#453
So, ich habe mal versucht nach einem ESP8266-SDK-Upgrade, die BOSCH-BSEC-Lib mit der 
Zitathardware\esp8266\2.5.0-beta2\tools\sdk\lib
zu konfigurieren:

Die Anleitung galt ja für die V2.4.0:

############################################
# Einbinden der BSEC Software für ESP8266: #
# Stand: 09.01.2018                        #
# ESP8266 Paket V2.4.0                     #
# BSEC V1.4.5.1                            #
############################################
https://github.com/BoschSensortec/BSEC-Arduino-library


1. Die Lib "[b]libalgobsec.a[/b]" muss nach "[b]\Users\[Benutzername]\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0\tools\sdk\lib\[/b]" kopiert werden !
    Das ist die "precompiled Lib" von Bosch Sensortec.

2. Die Linker Datei "hardware\esp8266\2.4.0\tools\sdk\ld\eagle.app.v6.common.ld" muß angepasst werden:
    nach der Zeile "*libm.a:(.literal .text .literal.* .text.*)" , die Zeile "*libalgobsec.a:(.literal .text .literal.* .text.*)" einfügen.

3. Als letztes muss noch ein Parameter in der Datei [b][i]"hardware\esp8266\2.4.0\platform.txt"[/i][/b] hinzugefügt werden:
    am Ende der Zeile "compiler.c.elf.libs= ... -lm -lgcc" folgendes anfügen " -lalgobsec" .


Änderungen:

1.) Die "libalgobsec.a" muss nach "\Users\[Benutzername]\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0-beta2\tools\sdk\lib\" kopiert werden !
    Das ist die "precompiled Lib" von Bosch Sensortec.

2.) in die Linker Datei
eagle.app.v6.common.ld.h
im Verzeichnis
Zitat"hardware\esp8266\2.5.0-beta2\tools\sdk\ld\


... nach der Zeile
"*libm.a:(.literal .text .literal.* .text.*)"

die Zeile

"*libalgobsec.a:(.literal .text .literal.* .text.*)"

einfügen.

3. Als letztes muss noch ein Parameter in der Datei "hardware\esp8266\2.5.0-beta2\platform.txt" hinzugefügt werden:
    am Ende der Zeile "compiler.c.elf.libs= ... -lm -lgcc" folgendes anfügen " -lalgobsec" .

Dann sollte bei einem Compile + Linkerlauf, ähnlich diesem Beispiel-Output folgende Info stehen:

Zitat"C:\Users\<user>\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9/bin/xtensa-lx106-elf-gcc" -Wl,-Map
"-Wl,C:\Users\<user>\AppData\Local\Temp\arduino_build_984070/bsec_iot_example.ino.map" -g -Wall -Os -nostdlib -Wl,--no-check-sections -u app_entry -u _printf_float -u _scanf_float -Wl,-static
"-LC:\Users\<user>\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0-beta2/tools/sdk/lib" "-LC:\Users\<user>\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0-beta2/tools/sdk/ld"
"-LC:\Users\<user>\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0-beta2/tools/sdk/libc/xtensa-lx106-elf/lib"
"-Teagle.flash.4m.ld" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read  -o "C:\Users\<user>\AppData\Local\Temp\arduino_build_984070/bsec_iot_example.ino.elf"
-Wl,--start-group "C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\sketch\bme680.c.o" "C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\sketch\bme680_calculations.c.o"
"C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\sketch\bsec_integration.c.o" "C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\sketch\RFMxx.cpp.o"
"C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\sketch\SensorBase.cpp.o" "C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\sketch\bsec_iot_example.ino.cpp.o"
"C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\libraries\Wire\Wire.cpp.o" "C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\libraries\SPI\SPI.cpp.o"
"C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\libraries\Adafruit_GFX\glcdfont.c.o" "C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\libraries\Adafruit_GFX\Adafruit_GFX.cpp.o"
"C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\libraries\Adafruit_GFX\Adafruit_SPITFT.cpp.o" "C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp.o"
"C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\libraries\AS_BH1750\AS_BH1750.cpp.o" "C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\libraries\AS_BH1750\AS_BH1750A.cpp.o"
"C:\Users\<user>\AppData\Local\Temp\arduino_build_984070\core\core.a" -lhal -lphy -lpp -lnet80211 -llwip2-536-feat -lwpa -lcrypto -lmain -lwps -lbearssl -laxtls -lespnow -lsmartconfig -lairkiss
-lwpa2 -lstdc++ -lm -lc -lgcc  -lalgobsec -Wl,--end-group 
"-LC:\Users\<user>\AppData\Local\Temp\arduino_build_984070"

juergs

#454
Hallo Peter,
sorry, brauchte den BME680 für ein weiteres Breakout!
Aber dafür die Bilder...  ;)

Das IR-Thermometer wollte nicht so recht...
Vielleicht doch besser mit NiCr-Ni-Thermoelement und SolidState-Relais-Steuerung.
Nicht so die Profi-Thermokurve, aber es geht.
Vorher mit Flussmitteldispenser und Lötzinn benetzt, dann nach einem, oder zwei Kaffe (!!!) ::)
den BME positioniert....  ;D ;) :)

Hoffe, dass der BME nicht an Hitze-Schlag stirbt....

Zitat... und nicht gerade zur Nachahmung empfohlen!!!
Falls es  jemand noch nicht wissen sollte, die Dinger werden so richtig heiß!
Verbrennungsgefahr!


Apropos, gibt es etwas Neues zu Deinen neuen Breakouts?
Grüße,
Jürgen

PeMue

Zitat von: juergs am 17 Februar 2019, 11:35:44
Apropos, gibt es etwas Neues zu Deinen neuen Breakouts?
still in production, ich habe aber gerade auf der Elecrow Webseite freundich nach dem Status gefragt. Was lernen wir: entweder deutlich vorher bestellen oder danach, zwischendrin ist suboptimal. Wenn ich sehe, dass Papa Romeo schon 200 Platinen bei JLCPCB liegen hat  :o.

Gruß Peter
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

juergs


juergs

... und geht!
[797602.00] P: 1031.3| T: 23.78| rH: 30.40| IAQ: 27.71 (1)| Static IAQ: 26.18| CO2e: 0.00| bVOC: 0.00| Gas: 8552.00| UBat: 3.3V

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

PeMue

#459
Aktueller Status für die Neugierigen:

Zitat2019-02-25 09:00 Frankfurt Main, Germany, Flight landed
Zitat2019-02-26 16:00 Destination Clearance Facility, EU, Cleared by customs
Zitat2019-02-28 04:13 FRANKFURT/M, Germany, Arrived at facility
Zitat2019-03-01 14:07 xxx, Germany, Successfully delivered

Gruß Peter
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

tobias.gj

#460
Hi zusammen,
Letzte Woche kam mein Lieferung BME680 von AliExpress.
Ich habe sie mit einem ESP8266 (WEMOS D1 mini) und ESPEasy über das neue MQTT Modul von Rudolf in Fhem eingebunden.
Läuft super.
Das BME680 Modul ist nicht im normalen Repository von ESPEasy. Es liegt im Playground und muss vor dem kompilieren in das ESPEasy Quellverzeichnis kopiert werden.
Das Display ist ein OLED SSD1306.

Im Anhang ist noch ein Bild von einem Versuchsaufbau mit MHZ-19 (CO2), BH1750 und BME280. Das Gehäuse ist aber noch nicht optimal.
Anbei der Link zum Projekt https://www.thingiverse.com/thing:3385002
Cubietruck mit cubien, HUE, HMLAN, Onkyo, Sonos
EMGZ,EMWZ,HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-LC-Sw1PBU-FM,HM-RC-KEY3-B,HM-SEC- KEY,HM-SEC-RHS,HM-SEC-WDS, KS300,S300TH, fs20piri,fs20st, hms10

juergs

#461
Hallo tobias.gj,

das espeasy-Modul liefert Dir über die Adafruit-Lib nur :
UserVar[event->BaseVarIndex + 3] = bme.gas_resistance / 1000.0;
Den Widerstandswert, der nicht dem VOC-Wert entspricht, geschweige denn PPM.
Hier führt nur der Weg über die statische BSEC-Lib, die einige Anforderungen
an die Laufzeitumgebung stellt. Ob das über die ESPEasy-Umgebung laufen würde ?
Evtl. die Anpassung von Jörg: https://forum.fhem.de/index.php/topic,96241.0.html
könnte Dir da weiterhelfen (ohne BSEC).

Viel Spaß mit dem Modul und neue Erkenntnisse über CO2 ;)

Grüße,
Jürgen

tobias.gj

Das ist richtig, bin gerade dabei ein alternatives Modul reinzufummeln um das Problem zu lösen und auch die IAQ Werte zu bekommen.
Cubietruck mit cubien, HUE, HMLAN, Onkyo, Sonos
EMGZ,EMWZ,HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-LC-Sw1PBU-FM,HM-RC-KEY3-B,HM-SEC- KEY,HM-SEC-RHS,HM-SEC-WDS, KS300,S300TH, fs20piri,fs20st, hms10

PeMue

Hallo zusammen,

die Platinen sind da, mal sehen, ob ich die kleinen Dinger bestückt bekomme  ::) ::) ::).
Nur zur Info: Die Pfostenstecker sind im RM1,27 mm.

Gruß Peter
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

#464
Hallo Jürgen,

Zitat von: juergs am 29 Dezember 2018, 11:55:03
PS: Die BME680 mit STM32F051k8-Sensoren sind heute gekommen ... :D
hast Du irgendwo einen Schaltplan für diese Teile gefunden? Meiner ist gestern gekommen ...

Danke + Gruß

Peter
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