Funksensor mit Bosch sensortec BME680 / Luftgüte

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

Vorheriges Thema - Nächstes Thema

juergs

#30
ZitatJetzt wäre zu klären, was wir eigentlich als Ergebnis wollen. Mir schwebt da eher die reine Schadstoffkonzentration vor.
Einen Wohlfühlwert kann man dann in FHEM immern noch aus VOC, rH und Temperatur berechnen, sofern man will.

Ja, wäre der übernächste Schritt (nach Funkanbindung). Auch die PPM-Angabe wäre interessant, da sie konkreter zu schein scheint
wie der IAQ-Wert. (kaum hat man den IAQ-Wert, schon will man mehr...  ;) )   

Hatte aus Zeitmangel, nicht intensiver in Euer  ESP-LGW-Projekt geschaut.
D.h. muss mich mit dem ESP erst mal (wieder) im Info-Dchungel dazu orientieren
und baue mir ein neues ESP-System auf. Mein NodeMCU scheint nicht reagieren zu wollen.

Zur Klarheit, für mich als ESP-(Wieder-)Einsteiger:

Nodemcu Firmware-Programmer auf Dev-Kit1:

1.) die "Test680.bin"-Datei auf Adresse 0x00000 flashen
2.) mit folgenden Einstellungen:  Bitrate 115200, Flashsize 4M, Flashspeed 80MHz, SPImode DIO


Kommen die Debug-Ausgaben über eine andere Serielle?

Bin mir nicht sicher, ob vorher noch nodemcu.bin geflasht werden muss oder nicht... 

Da mein System keine Ausgaben mehr danach macht.
Habe allerdings den Sensor noch nicht angeschlossen. Also fange ich erst mal mit "Blink" an. :'(


juergs

#31
Zitat//
... //--- globales Objekt
   movingAvg IAQ;
....

---hier der gleitende Mittelwert in loop()
IAQ.reading(bme680.getGasResistance());
Serial.print(IAQ.getAvg());  // int
Serial.println();

Anbei die angepasste Lib.

Ah, ... und die Includes nicht zu vergessen:
#include "utility\movingAvg.h"

hdgucken

@juergs: meine NodeMCU wollte mit der zweiten Firmware von HCS auch erst nicht so richtig, nach dem dritten flashen gings dann.
               Einfach zwei drei mal probieren. Im NodeMCU Flasher alles auf "standard" lassen, die *.bin ab Adresse 0x00000 laden
               bei "default" ist die Baudrate 230400, Speed 40MHz, müsste aber auch mit 115200 und 80 MHz gehen.

PeMue

#33
Hallo Jürgen,

Zitat von: juergs am 31 Oktober 2017, 09:25:27
1.) die "Test680.bin"-Datei auf Adresse 0x00000 flashen
2.) mit folgenden Einstellungen:  Bitrate 115200, Flashsize 4M, Flashspeed 80MHz, SPImode DIO

Passt, siehe auch das angehängte Bild.

Zitat von: juergs am 31 Oktober 2017, 09:25:27
Kommen die Debug-Ausgaben über eine andere Serielle?
Nein, aber ggf. den NodeMCU stromlos machen.

Zitat von: juergs am 31 Oktober 2017, 09:25:27
Bin mir nicht sicher, ob vorher noch nodemcu.bin geflasht werden muss oder nicht... 
Nein, ist nicht notwendig. Falls der NodeMCU schon öfter geflasht wurde, lohnt es sich, den Speicher komplett zu löschen.

Zitat von: juergs am 31 Oktober 2017, 09:25:27
Da mein System keine Ausgaben mehr danach macht.  Habe allerdings den Sensor noch nicht angeschlossen. Also fange ich erst mal mit "Blink" an. :'(
Ich denke, dann kommt auch nichts über die serielle Schnittstelle. Also Sensor anschließen und nochmal probieren.

Sind denn momentan alle BME680 breakout boards verkauft  :o?

Gruß Peter

Edit:
Angehängt die Ergebnisse von gestern bis heute morgen. Man sieht, wann das Wohnzimmer (radikal) gelüftet wurde. Ich komme immer mehr zu dem Schluss, dass der BME680 doch noch funktioniert  ;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

juergs

#34
Vielen Dank an alle ! :D

Hatte den ESP doch schon etwas länger vernachlässigt ...  :'(
Hatte auch die Buttonlogik noch außen vor gelassen (Flash + Reset). 

Zitatden Speicher komplett zu löschen
mit INTERNAL://BLANK vermutlich....

ZitatSind denn momentan alle BME680 breakout boards verkauft?
Uuups !!!  ???

Ich habe mir das Octopus-Board als Alternative bestellt:
https://www.tindie.com/products/FabLab/iot-octopus-badge-for-education-and-innovation/
Allerdings für 35,50 € teurer als das Breakboard aber mit BME680 + BME280 on board ....  :'(
Der Lieferant sitzt übrigends in Stuttgart ...   ;)

Wollte nicht warten, deshalb läuft der Lötkolben heiß ...  ;D

Oder die OSH-Park-Platinen #1 + #2 selbst bestücken, woher bekommt man die BME-Chips in kleineren Stückzahlen? 
Wobei die #1-Variante eine "von Hand" Lötbarkeit suggeriert?

HCS

Zitat von: juergs am 31 Oktober 2017, 11:29:52
mit INTERNAL://BLANK vermutlich....
ich würde es mit
epstool --port COM3 erase_flash
machen

Mit der seltsamen NodeMCU-Software hat es kürzlich schon mal jemand nicht richtig leer bekommen.

juergs

#36
NodeMCU_V1-I2C-Pinout: 
Zitat
    I2C Backpack to NodeMCU Connections

    I2C Backpack GND Pin to NodeMCU GND Pin

    I2C Backpack VSS Pin to NodeMCU 5Vin / 5V    3V3 Pin

    I2C Backpack SCL Pin to NodeMCU D1 Pin

    I2C Backpack SDA Pin to NodeMCU D2 Pin
?

ZitatThe default pins are defined in variants/nodemcu/pins_arduino.h as SDA=4 and SCL=5, but those are not pins number but GPIO number, so since the pins are D1=5 and D2=4.
Anyway, you can also choose the pins yourself using the I2C constructor Wire.begin(int sda, int scl);
?

Wire.begin(); also Default-Belegung.


hdgucken

#38
@juergs: NodeMCU_V1-I2C-Pinout:   ?
               Ja, D1 ist SCL, D2 ist SDA.

@PeMue:
Zitat von: PeMue am 31 Oktober 2017, 10:22:07
Sind denn momentan alle BME680 breakout boards verkauft  :o?
Ja, scheint so. Wollte auch noch ein zwei BlueDot's bestellen, ausverkauft  :'(

juergs

#39
Zitat von: juergs am 31 Oktober 2017, 12:39:56
NodeMCU_V1-I2C-Pinout:   ?
               Ja, D1 ist SCL, D2 ist SDA.

Ja, I2C (mit HCSs + meinem Compile) läuft (bekanntes Signalbild, aber "schlechter" als beim Nano), aber es kommen (noch) keine seriellen Ausgaben über USB ...

PeMue

#40
Zitat von: juergs am 31 Oktober 2017, 13:47:43
... aber "schlechter" als beim Nano), aber es kommen (noch) keine seriellen Ausgaben ...
Ich vermute mal, Du hast sie dran, aber prüfe lieber noch mal, ob Du die zwei 4,7 k PullUp Widerstände irgendwo drauf hast ...

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

juergs

#41
Zitat von: PeMue am 31 Oktober 2017, 14:34:23
Ich vermute mal, Du hast sie dran, aber prüfe lieber noch mal, ob Du die wzei 4,7 k PullUp Widerstände irgendwo drauf hast ...

Gruß PeMue

Hallo Peter,
auf dem Watterot-Breakoutboard sind Level-Shifter mit jeweils 2*Rs und FET gegen 3V3. Auf dem NANO waren 5V mit TTL-Level gegen den den BME.
Eigentlich sollten die Pullups reichen ...  5V und 3V3 Betrieb sind möglich. Bei 3V3 muss dessen Spannungsregler aber wirklich LowDrop sein...

https://github.com/watterott/BME680-Breakout/blob/master/hardware/BME680-Breakout_v10.pdf

juergs

#42
Hallo Zusammen,

... tja, kleine Ursache ... große Wirkung. Für alle die auch suchen sollten...

Die Arduino-Ide stand noch auf "Generic ESP" und nicht auf "nodeMCU", dann passt das Pin-Mapping nicht.
Ebenso funktioniert dann auch die Serielle via USB nicht. Aua!

Hat mich heute doch etwas Zeit gekostet, bin dafür wieder im ESP eingearbeitet, wenn auch nicht gerade freiwillig  ;)

Dann werde ich mich wieder dem Thema zuwenden können. ;-)

Vielen Dank für die Hilfe.
Grüße
Jürgen 

juergs

#43
@HCS:
dann müssten wir noch klären für welche HW-Konfiguration Deine Bin-Datei kompiliert wurde...
Bzw. welche Settings?

Momentan habe ich die wdt-Outputs wie hier
... ich wusste, warum mir der ESP nicht so behagt....

Grüße,
Jürgen

juergs

#44
Im Moment will die FW noch nicht so richtig auf dem ESP:
Opening port
Port open

ets Jan  8 2013,rst cause:4, boot mode:(1,6)
wdt reset

rll��|�l�| ...

Setup bevor bsec_init ...

Setup nach bsec_init ...

ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vf6d232f1
~ld

Setup bevor bsec_init ...
Setup nach bsec_init ...


Werde noch mal die gesamte Konfiguration prüfen ...  :'(