AirQualityMultiSensor (Temp, Hum, CO2, Voc, Lux, Press, IAQ) SpinOff: BME680

Begonnen von juergs, 09 Februar 2019, 13:36:23

Vorheriges Thema - Nächstes Thema

juergs

Hallo Zusammen,

aus @herrmannj Projekt ergibt sich die Möglichkeit den Airquality-Sensor mit verschiedenen Hardware-Zusammenstellungen zu betreiben.
Um den Original Thread nicht unnötig aufzublähen, habe ich diesen hier mit der Integration des BME680 erstellt.

Im Wesentlichen dreht es sich um die Synergie zweier Projekte "UniversalSensor-BME680" und dem "Raum(-luft)sensor"
und TFT-Erweiterungen. Desweiteren kommt noch eine JavaScript-Graph-WebSeite hinzu.

Herrmanj hat dankenswerterweise die Kommunikations-Ebene mit FHEM mittels ESP8266 UDP und seinen Protokoll-Modulen auf der FHEM-Seite
die Datenübertragung massiv erleichert. Damit spart man sich den "Umweg" über die LaCrosseGateway oder MQTT.

Diese erste Stufe besteht erst mal aus der Zusammenführung der beiden Code-Strecken.
Ich habe für die erste Variante noch eine OLED-ANzeige gewählt, allerdings eine andere LIB-Version, um noch mehr Anzeige-Möglichkeiten nutzen zu können.
Als zukünftige Erweiterung  werde ich noch TFT-Displays (1,8" und/oder 2,4")  mit einführen, wenn der funktionale Hardware-Code steht.

Den Code dazu pflege ich hier: AirQualityMultiSensorESP_VS.

Ist aber noch im Moment noch "in der Entstehung" = nicht lauffähig, also noch etwas Geduld bis zum lauffähigen Code ...  :'(
Die Hardware etc. vorerst noch identisch mit dem "Raum(-luft)sensor". Erweiterungen sind aber in der Planung.  ;)

Prerequisiten:

Hardware:

Wemos D1 oder NodeMCU
BME680-Breakout-Board (OSH) oder besser PeMues-Kombi: BME680+BH1750 Breakout
OLED Display: "0,96 Zoll I2C IIC 12864 128X64 Pixel OLED LCD Display Modul SSD1306 Chip 4 Pin"
TFT_1:  "ST7735 128x160" (Sainsmart) "1.8 SPI TFT LCD Display Module 128x160 Chip ST7735/ILI9341"
TFT_2:  WEMOS TFT 2.4 Touch Shield (hier) 320 × 240 Pixel, TFT-Treiber IC: ILI9341
TFT_3:  ePaper-Hat 2,7 inch, 274x176 Pixel, "Tri-Color 2.7 inch E-Ink Display Module"
Platine von PapaRomeo
MH-Z19 (Ali) + iAQcore (AMS) + BME680 (Reichelt)

Arduino Libraries:

ESP8266(Wemos) TFT_eSPI
BSEC-Installation, siehe z.B. hier: HowTo und hier BSEC-Arduino-library
BME_680_Driver: BoschSensortec
EEPROM-Lib
ESP8266core (WiFi)
MH-Z19-Lib

3D-Druck-Gehäuse:

Todo


Anbei mal der erste Wurf als Programmier-Konzept.

sash.sc

Hallo Jürgen.

Scheint sehr interessant zu sein.
Habe mir im github mal die. Ino Datei angeschaut. Man kann dort ein rfm69cw aktivieren.
Hast du einen Schaltplan wo welcher Sensor und Sender an welchen Prozessor angeschlossen wird?

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

juergs

Hallo Sacha,

ist leider noch etwas verfrüht, aber wenn Du am RFM69CW interessiert bist kannst Du
auch den BME680_LaCrosse_UniversalSensor anschauen. Die Anschaltung dafür steht dort im Code-Header  ;)

ZitatMan kann dort ein rfm69cw aktivieren.
Habe es mal der Vollständigkeit halber mit in den Code genommen, ist aber bei Aktivierung WiFi und UDP eigentlich nicht mehr notwendig.
Außerdem benötigtst Du zum Empfang des Protokolls die LaCrosseGateway in der Version 1.32 mit UniversalSensor.

Hier in diesem Projekt muss ich erst alles Stückweise aufbauen, dann kann ich auch einen Schaltplan dazu liefern ...  ;)

Als erste Orientierung, sie Anhang.
Die Platine von PapaRomeo lässt sich bis auf den TFT-Anschluss 1:1 benutzen.
Für die RFM69CW-Anbindung kannst Du Dich auch an PeMues Nano_LaCrosse_Gateway orientieren.

Grüße,
Jürgen

sash.sc

Danke für deine Infos.

Ein LaCrosse Gateway mit v1. 32 habe ich schon am laufen. Für meine LaCrosse Sensoren.

Aber für einen batteriebetrieb ist das nicht ausgelegt, oder?

Gruß Sascha


Gesendet von meinem SM-T560 mit Tapatalk
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

juergs

ZitatAber für einen batteriebetrieb ist das nicht ausgelegt, oder?
Nein, mit dem ESP mit WLAN nicht wirklich ...  :(

PeMue

Zitat von: sash.sc am 10 Februar 2019, 15:53:30
Aber für einen batteriebetrieb ist das nicht ausgelegt, oder?
Nein, aber wie wäre das mit einem Atmel644P und dem Homematic Protokoll? Ich denke da an die HB-UNI-644 als Testplatine und langfristig an ein Upgrade von Dirk's Innensensor.

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

sash.sc

Ich muss mal schauen. Hier im Forum gibt es ja auch sogar wie einen universal Sensor auf hm Basis. Ist aber nicht der aus dem Wiki....

Gruß Sascha

Gesendet von meinem SM-T560 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

juergs

Hallo Peter,
danke für das Beisteuern von neuen Ideen ...
Atmel 644 kein Problem. Homematic setze ich (noch) nicht ein.
https://wiki.fhem.de/wiki/Universalsensor#Innensensor
muss ich mir auch mal genauer anschauen ... (Thema: Batterie-Betrieb)

HM wäre dann CC1101 @868MHz ?
Was für eine Gateway, CUL?

/edit: https://github.com/alexreinert/PCB#hb-uni-644-rev-2 sieht interessant aus.
Muß ich mal genauer untersuchen ...

Für WLAn ist der ESP aber schon eher die erste Wahl, kann mir aber auch sowas wie ein reiner WLAN-Protokoll-Prozessor (C3-PO)
mit serieller Anbindung und DeepSleep vorstellen ...   ;D

Grüße,
Jürgen

sash.sc

Ja, HM ist ein cc1101 mit 868Mhz. Als Gateway ein cul.

Ich muss sagen, dass bis dato HM und LaCrosse am besten laufen.
ESP8266 auch sehr gut, da sehr flexibel.
Aber da kommt dann auch der Gedanke an Mysensors! Die arbeiten viel mit den rfm69.

Gruß Sascha

Gesendet von meinem SM-T560 mit Tapatalk
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

juergs

Ok, bei schon bestehender HM-Infrastruktur macht es natürlich Sinn den BME680 dort noch mit einzubinden zu wollen.
Da spricht meiner Meinung nach aber nichts dagegen, das mittels Anbindung über das QY-MCUBME680V1 serielle Interface
einfach an einen Node mit dem Arduino-Nano mit CC1101und ASKSin-Integration anzubinden?
Dann ist das BSEC-Gedöns nicht mit dem Atmel644 erforderlich => neues Projekt!

Fanavity

Würde mich freuen, wenn es ein Projekt auf Homematic basis geben wird :) sowas in die Richtung fehlt noch :)

Starsurfer

Ich klinke mich hier auch Mal ein. Bei mir läuft das ganze momentan mit einem BME280, Max40009, Mh-z19 und TFT.
FHEM Server: Fujitsu Esprimo q920 + LaCrosseGateway + HM-MOD-RPI-PCB WLAN + ConBee
HomeMatic HM-CC-RT-DN - Sonoff Tasmota
LaCrosse TX29DTH - Innr SP120 - Osram Smart+ Plug
Arduino Mega - MQTT - Pluggit 300
https://www.diy-robot-lawn-mower.com


Starsurfer

Ist dass das oben verlinkten? Bin auf das Endergebnis gespannt.
FHEM Server: Fujitsu Esprimo q920 + LaCrosseGateway + HM-MOD-RPI-PCB WLAN + ConBee
HomeMatic HM-CC-RT-DN - Sonoff Tasmota
LaCrosse TX29DTH - Innr SP120 - Osram Smart+ Plug
Arduino Mega - MQTT - Pluggit 300
https://www.diy-robot-lawn-mower.com

juergs

Habe die Daten oben mit eingetragen.

Muss noch die freien Pins berücksichtigen, ein Schaltungslayout dazu habe ich noch nicht gefunden ...
Der Touch benötigt auch noch Pins. XPT2046_Touchscreen. Funktioniert, allerdings ohne setRotation.