Selbstbau Raumsensor

Begonnen von djbugs, 16 Oktober 2017, 21:18:27

Vorheriges Thema - Nächstes Thema

djbugs

Hallo FHEM Gemeinde,
ich lese hier schon eine ganze Weile mit und find es Klasse, was ihr bis jetzt mit FHEM auf die Beine gestellt habt.
Daher dachte ich, ich gebe der Community mal etwas zurück und möchte euch mein aktuelles Projekt vorstellen.
Es handelt sich um eine Platine mit einem Bluetooth LE Modul.
Als Sensoren sind ein BME680 ( Temp , Druck, Humidity und VOC ) und ein MAX44009 ( ambient light ) verbaut.
Das ganze wird von einer CR2477 versorgt.
Ich hab mal ein paar Bilder von der ersten Version angehängt.

Was alles schon funktioniert:
- "schlafen" und alle 60s aufwachen
- Messungen: Temp, Hum, Druck und light ( VOC ist komisch, schau ich mir aber noch an )
- Messergebnisse 10s lang über BLE advertisen
- UART für LOG Ausgaben ( final aber abgeschalten um Strom zu sparen )
- 6 MOSFETs (350mA) schalten/PWM, z.B. für LED-Leisten oder so
- 6 weitere GPIOs, z.B. für Pflanzensensor, SPI ...
- SWD Interface
- ein Git Repo für die Firmware basierend auf dem Nordic SDK, muss aber erst mal noch aufgeräumt werden ;-)

Eine V2 hab ich auch schon im Kopf, aber da geht's im Moment erst mal nur um Detail Verbesserungen, die bei der Arbeit mit der V1 aufgefallen sind.

Ich halt euch gern auf dem Laufenden und stell dann auch gern alle nötigen Infos zur Verfügung.
Und wenn wer Fragen hat >> einfach her damit :-D

Grüße, Bugs

P.s.: Falls ich das falsche Unterforum erwischt hab, ein Mod bitte einfach ins Richtige schieben!

PeMue

Hallo Bugs,

Zitat von: djbugs am 16 Oktober 2017, 21:18:27
Als Sensoren sind ein BME680 (Temp , Druck, Humidity und VOC) und ein MAX44009 (ambient light ) verbaut.
dann bin ich doch mal an der Software für den BME680 bzw. am Layout interessiert. Habe momentan eine funktioniertende Hardware (nano LGW, aber die Software ist noch am werden).
Warum nimmst Du BLE? Schickst Du die Daten einfach seriell an FHEM? Welches Modul verwendest Du?

Danke + 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

djbugs

ZitatWarum nimmst Du BLE?
Weil ich den nRF52832 von Nordic toll finde und BLE dafür wie gemacht ist  :P

ZitatSchickst Du die Daten einfach seriell an FHEM?
Die Messwerte sind im Namen enthalten.
Sieht in etwa so aus:

LE Scan ...
CA:74:18:XX:XX:XX 02010988597000033

Da haben wir von links nach rechts:
MAC Addresse, 20,1°C, 988hPa, 59,7%rel, 33 Lux

Das ist aber noch nicht die finale Version, hab 128Bit AES noch geplant.

ZitatWelches Modul verwendest Du?
Auf Linux Seite wird ein Python script laufen und nach den Adverts scannen, die Messwerte extrahieren und über mqtt publishen. Und FHEM kann MQTT^^

Bugs


djbugs

Zitatdann bin ich doch mal an der Software für den BME680 bzw. am Layout interessiert.
Software gibt's hier: https://github.com/BoschSensortec/BME680_driver
Layout?

Zitatfunktioniertende Hardware (nano LGW
Mit den ESPs hab ich letztes Jahr versucht sowas umzusetzen, die brauchen mir aber einfach zu viel Strom...

Bugs

blehnert

Hallo Bugs,
ZitatMit den ESPs hab ich letztes Jahr versucht sowas umzusetzen, die brauchen mir aber einfach zu viel Strom...

Nicht, dass ich zuviel Geld für Strom übrig hätte, aber hier würden mich deine Ergebnisse sehr interessieren.
Würde den Sensor zu gern mit einem Sonoff-whatever und ESPeasy verloben. Das einzige, was bisher geht, ist leider die Erkennung am i2c-bus.

Viel Erfolg bei deinem Projekt, besonders was VOC-Core betrifft,

thx, Bernd

djbugs

#5
Zitateinfach zu viel Strom
im Sinne von: es steht in keinem sinnvollen Verhältnis, nur für die Übertragung von Temperatur und Luftfeuchte pro Raum n Netzteil zu brauchen.

Für VOC plane ich die BSEC Lib von Bosch einzusetzen. Da muss ich aber noch ein paar Versuche machen, die wirft mein Energiekonzept übern Haufen.

ZitatViel Erfolg bei deinem Projekt
Danke, geht aber gut vorran. Senden und auf Serverseite empfangen und decodieren geht schon, der Schritt zu MQTT ist nur noch ein kleiner ;-)

Was Sensor seitig noch fehlt ist die Batterie Messung und die Auswertung vom Giess-o-Mat
https://www.mikrocontroller.net/topic/335407?goto=new#new
Sollte ich ihn evtl in Bluetooth 5 LE Pflanzen-/UmweltSensor umbenennen ?!  ;D

Ach und AES128 Verschlüsselung der gesendeten Daten kommt noch, aber erst mal der Rest.

Bugs

PS.: Das Ansprechen der 6 MOSFETs und der 6 GPIOs dann, wenn alles andere läuft  :P

f-zappa

Zitat von: djbugs am 16 Oktober 2017, 21:42:24
Mit den ESPs hab ich letztes Jahr versucht sowas umzusetzen, die brauchen mir aber einfach zu viel Strom...
Ja, das ist an deinem Ansatz das spannende - ich habe mehrere ESP im Einsatz, aber eben alle mit Netzteil.
Hast du schon Erfahrungen, wie lange dein Sensor mit Batterien durchhält?

djbugs

Zitatwie lange dein Sensor mit Batterien durchhält
Noch nicht, aber das selbst auferlegte Ziel ist min 1 Jahr.
Die genaue Rechnung kann ich erst machen, wenn alles soweit drin ist.
Die VOC/IQA Messung wird aber am meisten verbrauchen ( alle 5min ca 180ms 25mA ).
Aber im Mom siehts schon gut aus, den Ruhestrom hab ich von 500 µA auf unter 20µA gebracht ;-) und da ist noch mehr Spielraum...

Bugs

blehnert

Strom-"verbrauch" spielt bei mir nicht die Rolle, da alle ESPs Sonoffs sind, die eh am Netz hängen. Wie gesagt, ich hoffe, dass ich die mit dem 680er verheiratet bekomme,
Bernd

djbugs

@blehnert
Zitatda alle ESPs Sonoffs
In diesem Thread geht es allerdings nicht um ESPs oder Sonoffs.

Zitatdass ich die mit dem 680er verheiratet bekomme
Daher möcht ich Dich bitten, dafür einen eigenen Thread zu eröffnen.

Zitatwas bisher geht, ist leider die Erkennung am i2c-bus
Ab da sollte es doch eine Kleinigkeit sein, da I2C wohl geht.

Bugs

PS: Die API von Bosch ist unter genanntem Link bei Github verfügbar und funktioniert.
Weiterhin gibt es von Bosch die BSEC Lib auch für den ESP8266 vorcompiliert + Implementierungsbeispielen zum Download.
https://www.bosch-sensortec.com/bst/products/all_products/bsec

maddhin

sieht wirklich super interessant aus, was Du da machst! Ich will wollte etwas ähnliches (meinem Noob-Niveau entsprechend) mit dem CCS811 eCO2/eTVOC Sensor + ESP8266 umsetzen, aber beim CCS811 fehlt einfach die Software um die kurzfristig "wilden" Messwerte zu bändigen und (automatisch!) entsprechende Schlüsse ziehen zu können. Abgesehen von "Notfällen" (ein Eimer Farbe läuft aus...) sind ja eigentlich nur das grundlegende VOC Niveau relevant, so dass man dann bei über 1400 ppm eCO2 zum Fensteröffnen aufgefordert wird, etc. Habe das im Moment noch nicht intelligent hinbekommen. 

Der BME680 scheint ziemlich ideal zu sein. Mal sehen, ob ich mir hier ein breakout besorgen kann...

Frohes Schaffen und schönes WE!

djbugs

Hier ein kleiner Zwischenstand:
- die Bosch lib läuft
- Batt und Bodefeuchte fehlen noch
- python script scannt nach Sensoren und publisht die Werte an mosquitto

Stromaufnahme und geschätzte Batterielaufzeit kommt morgen dran.

Schönen Sonntag noch
Bugs

juergs

Hallo Bugs,
ich arbeite ja parallel an einem BME680-Funksensor-Projekt.
Frage: Wie bist Du auf den "quality"-Wert gekommen ?
Ist es der (angepasste) Widerstandswert des Sensors?

Grüße,
Jürgen

Amenophis86

Zitat von: juergs am 30 Oktober 2017, 09:10:46
ich arbeite ja parallel an einem BME680-Funksensor-Projekt.

Auch per Bluetooth, oder wie übermittelst du die Werte? Finde die Idee hier ziemlich gut, allerdings reicht bei mir die BT Reichweite nicht, dass ich eine Alternative suche.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

djbugs

ZitatWie bist Du auf den "quality"-Wert gekommen ?
Das ist der output der BSCE lib von Bosch.

Zitatallerdings reicht bei mir die BT Reichweite nicht
Desswegen der nRf82832 und später der nRF52840, die könn Bluetooth 5  8)
Der 40er könnte auch jetzt schon long range.

Der nächste Schritt wird BLE Mesh sein, ist mit BT 5 gekommen.
Und da wird Reichweite kein Thema mehr werden ( irgend eine Lampe oder so wird immer in Range und friend von ein paar Sensoren sein und als relay taugen.
Aber das ist noch Zukunft! Nicht all zu fern, aber erst mal das eine...