Feinstaubsensor bauen (luftdaten.info)

Begonnen von igami, 08 Februar 2017, 06:23:27

Vorheriges Thema - Nächstes Thema

vbs

Hm, eigentlich eine tolle Sache. Aber das mit dem Netzteil ist für mich leider ein No-Go :( Wenn die Dinger nicht WLAN aber dafür per 433 MHz oder 868 (wie Homematic) senden würden und dann vielleicht per Batterie zu betreiben wären, dann wärs super.

Quant

Das Problem ist wahrscheinlich weniger das WLAN, sondern eher, dass das nötige Volumen per Lüfter durch den Sensor geschleust werden muss.

igami

Ich wollte bei mir dann auch mal eine Messsteckdose dazwischen hängen um zu gucken wie viel Strom das Teil so braucht.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

reibuehl

Zitat von: cfi am 24 Februar 2017, 18:15:07
Ich habe es mit HTTPMOD und Regex hinbekommen :). Hier kann man den JSON String mit Regex sehr gut testen https://regex101.com/.

#SDS011
define SDS011 HTTPMOD http://feinstaubsensor-<chipid>.local/data.json 60
attr SDS011 userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex requestHeader stateFormat
attr SDS011 reading01Name temperature
attr SDS011 reading01Regex "temperature","value":"(0|\d*\.\d+)"}.*
attr SDS011 reading02Name humidity
attr SDS011 reading02Regex "humidity","value":"(0|\d*\.\d+)"}.*
attr SDS011 reading03Name BMP_temperature
attr SDS011 reading03Regex "BMP_temperature","value":"(0|\d*\.\d+)"}.*
attr SDS011 reading04Name BMP_abs_pressure
attr SDS011 reading04Regex "BMP_pressure","value":"(0|\d*+)"}.*
attr SDS011 reading05Name software_version
attr SDS011 reading05Regex "software_version": "(.*?)".*
attr SDS011 requestHeader Content-Type: application/json
attr SDS011 room Wetter
attr SDS011 stateFormat {sprintf("Temp: %.1f °C / ",ReadingsVal("SDS011","temperature",0)).sprintf("Press: %.1f mbar", ReadingsVal("SDS011","relpressure",0))}\

attr SDS011 userReadings relpressure { ReadingsVal("SDS011","BMP_abs_pressure",0)/100+25.7;; }
attr SDS011 verbose 1


Hier noch die Settings für den SDS011 Sensor:

attr SDS011 userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex requestHeader stateFormat
attr SDS011 reading06Name pm100
attr SDS011 reading06Regex "SDS_P1","value":"(0|\d*\.\d+)"}.*
attr SDS011 reading07Name pm25
attr SDS011 reading07Regex "SDS_P2","value":"(0|\d*\.\d+)"}.*
attr SDS011 stateFormat {sprintf("PM10: %.1f µg/m³ / ",ReadingsVal("SDS011","pm100",0)).sprintf("PM2.5: %.1f µg/m³ / ",ReadingsVal("SDS011","pm25",0)).sprintf("Temp: %.1f °C / ",ReadingsVal("SDS011","temperature",0)).sprintf("Hum: %.1f %%", ReadingsVal("SDS011","humidity",0))}
Reiner.

Icinger

Hab heute auch meinen SDS011 bekommen.

Der gibt ja eh serielle Daten aus, lässt sich also leicht auch an nen Arduino anschließen.

Nachdem ich den Sensor eh in der Zuluft meines Pool-Technikraumes unterbringen will (wobei der Technikraum bzw. der ganze Pool erst in 14 Tagen gemauert wird), kann ich den ja auch direkt an meinen AdruinoMega, der die Poolsteuerung übernimmt, anklemmen :)

Werde den dann vermutlich im Stundentakt an/ausschalten für jeweils 5 Minuten. Muss mich da mal herantasten, was sinnvoll ist.
Der Laser da drinnen hat ja leider nur eine ca-Lebensdauer von 8000 Stunden, also im Dauerbetrieb nichtmal ein ganzes Jahr.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

igami

Ich bin momentan dabei für Luftdaten.info ein Modul zu schreiben. Man sollte kein HTTP Mod verwenden um den Sensor  lokal auszulesen, wenn er auch an die Server für die Map sendet.
Wenn die Abfrage und das senden zusammen Fallen blockiert der Sensor, da der RAM nicht ausreicht, und muss neugestartet werden.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

jnewton957

Zitat von: Icinger am 01 April 2017, 11:30:29

Der gibt ja eh serielle Daten aus, lässt sich also leicht auch an nen Arduino anschließen.

Wenn du da weiter kommst und das Teil in betrieb hast, würden wir uns sicherlich über die Bauanleitung freuen.
Gerne auch mal ein Foto und eben Infos über script, cfg etc. etc.

Danke
Jörg
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

reibuehl

Zitat von: igami am 01 April 2017, 12:46:23
Ich bin momentan dabei für Luftdaten.info ein Modul zu schreiben. Man sollte kein HTTP Mod verwenden um den Sensor  lokal auszulesen, wenn er auch an die Server für die Map sendet.
Wenn die Abfrage und das senden zusammen Fallen blockiert der Sensor, da der RAM nicht ausreicht, und muss neugestartet werden.

Welche Alternative zu HTTP_mod schwebt Dir vor, um die Daten zu lesen?
Reiner.

igami

Zitat von: reibuehl am 01 April 2017, 13:05:40
Welche Alternative zu HTTP_mod schwebt Dir vor, um die Daten zu lesen?
Ein eigenes Modul welches die Daten von http://api.luftdaten.info/v1/sensor/<SensorID> holt. Zusätzlich soll es die Daten auch lokal abfragen können.
Als Readings werden dann bei remote:
latitude, longitude, PM10, PM2.5, temperature und humidity bereitgestellt
und bei lokal:
WiFiSignal, signalQuality, PM10, PM2.5, temperature und humidity.

Ich denke, dass ich eine erste Version davon im lauf der Woche bereitstellen kann.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

reibuehl

Reiner.

fh168

#25
Danke für die vielen Infos.

Ich habe ein kleines Gehäuse für den SDS011 Nova Sensor entworfen.
Kostenlos runterladen bei Thingiverse: http://www.thingiverse.com/thing:2219718

Mehr Infos in meinem Blog: https://blog.moneybag.de/sds011-feinstaubsensor-fuer-fhem/

LG
/robin
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

igami

Weiß jemand was es mit diesen Daten auf sich hat:

{"value_type":"samples","value":"284269"},{"value_type":"min_micro","value":"184"},{"value_type":"max_micro","value":"20404"}

die werden beim lokalen json request als "sensordatavalues" zurückgegeben.

Ansonsten macht das Modul grade Fortschritte :)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

igami

Könnte mir bitte jemand das json von "http://<ip>/data.json" schicken? Ich habe selbst noch kein SDS011 und weiß daher auch nicht wie das geparsed werden muss.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

igami

#28
So, anbei die erste Version des Moduls.

Einfach auf http://maps.luftdaten.info/ die Sensor id Raussuchen und dann mittels

define <name> LuftdatenInfo <SensorID>

anlegen.
Ich würde mich über FeedBack freuen, besonders wenn Fehler auftreten.

Edit: neue Version weiter hinten im Thread
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

igami

Zitat von: Icinger am 01 April 2017, 11:30:29
Werde den dann vermutlich im Stundentakt an/ausschalten für jeweils 5 Minuten. Muss mich da mal herantasten, was sinnvoll ist.
Der Laser da drinnen hat ja leider nur eine ca-Lebensdauer von 8000 Stunden, also im Dauerbetrieb nichtmal ein ganzes Jahr.
Bei der Version von Luftdaten.info wird der Sensor in jeder Minute für 15 Sekunden eingeschaltet.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED