BME680-Sensor als Plugin in aktueller ESPEasy Version einbinden (MQTT, InfluxDB)

Begonnen von juergs, 19 März 2021, 08:17:00

Vorheriges Thema - Nächstes Thema

juergs

Hi,

anbei die Wemos-D1-Version: V1
P119 = V1
P219 = org. ESPEasy Resistance-Version.
Auf die I2C-Adresse achten.
Also vor der Bme680 Definition ein I2C-Scan machen und prüfen.

Flasher

/Edit: Temperatur-Offset ist nur in der Übertragung über SLINK an FHEM wirksam.
Ansonsten über EasyFormula

Übertragung an FHEM geht auch über EspEasy-Controller an die ESPEasyBridge (Anleitung).

Grüße,
Jürgen

Jewe

Hallo Jürgen, vielen Dank. Jetzt habe ich den Sensor zu laufen bekommen. Jens

juergs

Habe versucht ESPEasy neu zu kompilieren.

Allerdings verschaffen einem die Lib-Updates ein plötzlich total verändertes Szenario in VSCode,
mit vielen Fehlermeldung aus allen möglichen "Ecken" sprich: Envs. Das macht richtig Mühe!

Bei der ESPEasy-Version ESP_Easy_mega_20210508 konnte ich nur das ENV: "normal_ESP8266_4M1M  SUCCESS   00:01:24.794" zu einem vollständigen Kompilieren überzeugen.
Damit nicht alle (gefühlt) hunderte Envs kompiliert werden, nur obiges Env in der Statusleiste auswählen (siehe ScreenShot).

Anbei die aktuellste Version der V1 mit ein paar Schönheitskorrekturen, u.A. in der Debugausgabe beim SLINK-UDP-Versenden:

Zitat60725plugin_119_BME680-Read: use_slink= true!
T:IAQC;FW:1.0;ID:AAA40E;IP:192.168.178.158;R:-39;F:THPV;T:23.32;H:35.38;AH:0.00;D:0.00;P:1006.2;V:0;R:1073685114;DB:1073685096;DF:0;DR:1;
   ++++
      plugin_119_BME680-Read: SLINK: sent bme680Msg!
   ++++

Anmerkung: die Offset-Korrekturen der Temperaturen spiegelt sich nur im FHEM-SLINK-Device wieder!
Nicht in der ESPEasy-Anzeige des Devices.   

Jewe

Hallo Jürgen,
habe Deine Version (ESP_Easy_mega_20210320_normal_ESP8266_4M1M.bin) nun seit ein paar Tagen am laufen. Das Ganze habe ich noch auf einem breadboard aufgebaut.
Als komponenten habe ich:
https://www.aliexpress.com/item/32832024575.html?spm=a2g0s.9042311.0.0.4d264c4dxbK44c
https://www.amazon.de/gp/product/B07Y26XB68/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1

Es funktioniert eine weile ganz gut und dann kommen keine Werte mehr von dem BE680. Wenn ich einen Scan nach I2C devices starte wird dieser nicht mehr gefunden, ebenso nach einem reboot.
Wenn ich das ganze spannungslos mache und einen Moment warte geht es wieder.

Hast Du eine Idee dazu?

Grüsse, Jens

juergs

Hallo Jens,
als Standard-Antwort würde ich sagen: Netzteil tauschen, weil evtl. zu schwach?
ESP_Easy_mega_20210508_normal_ESP8266_4M1M.bin versuchen?
Kannst Du was im ESPEasy-Log sehen, wenn Du den Loglevel hochsetzt?

Prüfe mal auch die Pullup- I2C-Widerstände. Es sollten 1K5 Typen sein.
https://www.homotix.it/articoli/introduzione-all-uso-del-sensore-bme680
Schematic_BME680-Breakout.jpg
https://forum.arduino.cc/t/bericht-i2c-pullup/441924

Anmerkung: Wahnsinn, wie die Preise nach oben geschossen sind!

Grüße,
Jürgen

Papa Romeo

Zitat von: Jewe am 13 Mai 2021, 16:00:32
Es funktioniert eine weile ganz gut und dann kommen keine Werte mehr von dem BE680. Wenn ich einen Scan nach I2C devices starte wird dieser nicht mehr gefunden, ebenso nach einem reboot.
Wenn ich das ganze spannungslos mache und einen Moment warte geht es wieder.

... scheint an den BME680ern selber zu liegen. Ich hab meinen an einem Kannix dran und auch immer wieder mal nach längeren Laufzeiten die selben Probleme.
Irgendann nix mehr oder nur teilweise Daten ... nach Reboot immer noch nicht besser ... Spannung weg ... Spannung dran ... geht wieder.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

juergs

Zitat von: Papa Romeo am 13 Mai 2021, 19:59:49
... scheint an den BME680ern selber zu liegen. Ich hab meinen an einem Kannix dran und auch immer wieder mal nach längeren Laufzeiten die selben Probleme.
Irgendann nix mehr oder nur teilweise Daten ... nach Reboot immer noch nicht besser ... Spannung weg ... Spannung dran ... geht wieder.

LG
Papa Romeo

Bei mir habe ich das Phänomen gar nicht. Auch nicht mit den selbst SMD-Gelöteten Platinen.
Ich glaube, bei mir läuft ein Sensor seit mindestens 3+ Jahren durch.

Am Besten, sich mal die I2C-Signale + Vcc mal am Oszi anschauen. Vielleicht wäre ein 100nF beim BME680-Modul und ein 4,7 µF  Stützkondensator hilfreich.
Ich vermute die 10K PullUp-R sind zu wenig, je nach Leitungslänge (theoretisch, Glaskugel wenn man den Aufbau nicht kennt ;) )?
Evtl. mal mit einem 2. Modul gegenchecken?
Schwierig, per Ferndiagnose ...  vielleich mal das "normale" ESPEasy mit dem P106 oder P119 Modul flashen und schauen ob das Verhalten ebenso stattfindet?
https://github.com/letscontrolit/ESPEasyPluginPlayground/blob/master/_P119_BME680.ino diese Version nehmen.
Dass es an der FW liegt, glaube ich weniger. Also wirklich mal Varianten ausprobieren. Wenn es immer noch auftauchen sollte, ist es die Platine.

Für Fortgeschrittene:https://github.com/juergs/ESP32_LogicAnalyzer


Papa Romeo

...ich schrieb absichtlich BME680ern.  Alles schon gemacht ... anderer Sensor...statt Kannix nen WEMOS oder nen ESP01 oder nen Nano oder....oder ...oder
...auch Pullups von 1 bis 10 kOhm ... irgendwann steigen sie aus.

Daher kann ich nur die BME selber vermuten ... denke sind auch alle aus einer Serie ... und die BME/BMP 280 laufen ohne Probleme

Ist aber nicht so wichtig, da ich die Dinger nicht fest verbaue und nur immer zum Testen der Datenübertragung und Sensorerkennung nutze.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

juergs

Hallo PapaRomeo,
woher ist Deine Quelle?

Ali, Rei***t oder fertige Module?

Papa Romeo

... kann ich dir nicht mehr sagen ... hab die Dinger schon ne ganze Weile ...

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

juergs

Ah, interessanterweise auch die CJMCU-680-Module!
Die habe ich nicht in Benutzung.... vielleicht die Levelshifter (umgehen) ?

Evtl. die I2C-Bustaktrate heruntersetzen, von 100KHz auf 40KHz?

Wie bei ESPEasy, dem BH1750-Modul?


Grüße,
Jürgen


Jewe

Habe das Netzteil mal getauscht von 1A auf 1,5A denke aber doch das auch das 1A reichen sollte. Des weiteren habe ich den Sensor an 5V angeschlossen, zuvor war an an 3,3V angeschlossen. Werde das nun wieder eine Weile beobachten und hoffe auch dass es nicht ein grundsätzliches Problem des Sensors ist wie Papa Romeo geschrieben hat...

Die Pullups sind 10KOhm. Der Auftau ist noch auf einem Breadboard :-)

Danke für die Unterstützung, Jens

Jewe

Zitat von: juergs am 13 Mai 2021, 21:53:34
Evtl. die I2C-Bustaktrate heruntersetzen, von 100KHz auf 40KHz?

Oh, die Busrate steht bei mir auf 400KHz. Das ist vielleicht dann auch zu viel des guten :-)

juergs

@Jewe:

Achtung: der Sensor ist 3V3-only  deshalb würde ich nicht die 5V Versorgung des ESPs nehmen.
Das wirkt negativ auf die ggf. 5V intoleranten ESP-Pins .... :o

Also VCC des Sensors auf die 3V3 setzen!

Jürgen

Jewe

Ja, habe mir eben den Schaltplan des Boards nochmal angeschaut und auch gesehen dass es keinen unterschied bzgl. der Pullups macht dieses mit 5V zu betreiben.