Wetterstation (mit Feinstaubsensor) in Grafana

Jetzt wo Grafana gut mit der InfluxDB läuft möchte ich endlich meine Wetterstation (mit Feinstaubsensor) in Grafana fertigstellen. Aufgrund der guten Beschreibung, kleinen Abmessungen und guten Möglichkeiten zur Anbindung habe ich mich für die Komponenten und Software vom http://luftdaten.info/ Projekt entschieden.

Zusammenbau der Station

Man benötigt folgende Komponenten (alles sehr gut auf der Projektseite dokumentiert):

  • NodeMCU ESP8266-Microcontroller ESP-12F (ich habe einen v2 genommen, v3 geht aber auch; ~6€) (* Affiliatelink)
  • Nova PM Sensor SDS011 (Feinstaubsensor; ~30€) (* Affiliatelink)
  • GY-BME280 (Temperatur, Luftfeuchtigkeit und Luftdruck; ~8€) (* Affiliatelink)
  • Jumper-Kabel (hatte ich noch von Raspi-Spielereien übrig; 40St. 20cm ~3€) (* Affiliatelink)
  • Micro-USB Kabel (später nur als Ladekabel, zum flashen allerdings als Datenkabel)
  • Steckernetzteil USB (aktuell noch zwei 2600mAh Powerbank, später dann Solar, dazu aber in einem anderen Beitrag mehr)
  • Kabelbinder
  • Schlauch, möglichst nicht transparent, Innen-Durchmesser 6 mm, Länge abhängig von eurem Gehäuse; ich habe temporär die Isolierung eines NYM 3×1,5 verwendet

Preis alles in allem ca. 50€ (da ich nicht in China sondern in Deggendorf bei AZDelivery bestellt habe was ich sehr empfehlen kann), ein Kabel und Netzteil hat man ja oft noch zuhause, die Käbelchen hatte ich noch von anderen Projekten.

Konfiguration

Auf der Projekt-Homepage findet man die Anleitung (auch als Video) um den NodeMCU zu flashen und eine sehr selbsterklärende Oberfläche zu installieren die per WLAN-Hotspot zu erreichen ist.

Dort werden alle Einstellungen zu den verwendeten Komponenten vorgenommen und der Sensor neu gestartet:

  • WLAN-Login
  • Messintervall (ich nehme 150 Sekunden um den Feinstaub-Sensor zu schonen)
  • Dauer Routermodus (wenn das WLAN nicht gefunden wird, wird ein Funknetz mit dem darüber stehenden Namen für diese Zeit aufgespannt)
  • Sensoren (bei mir SDS011 und BME280)
  • API an die ihr Daten senden wollt

Bitte bindet euren Sensor ans Projekt an um eine Landkarte mit Feinstaubwerten zu erhalten!

https://deutschland.maps.sensor.community

Anbindung an InfluxDB

Ich habe den Sensor an meine InfluxDB angebunden um die Werte in Grafana zu visualisieren. Dazu die Server-IP und die Datenbank angeben (die man vorher manuell anlegen muss!) in die geschrieben werden soll.

Speichern und neu starten und unter „Aktuelle Werte“ sollten die entsprechenden Daten (wie konfiguriert) angezeigt werden.

InfluxDB anlegen

# mit influx verbinden
influx
# Datenbank erstellen
CREATE DATABASE "feinstaub"

Die Daten sollten nach kurzer Zeit in der Datenbank ankommen. Da ich nur alle 150 Sekunden einen Wert ermitteln lasse habe ich natürlich auch nur alle 2,5 Minuten einen Messwert in der Datenbank.

Für eine Wetterstation sollte das aber auch ausreichen, so schnell ändert sich das Wetter ja auch nicht 😉

Dashboard Wetterstation (mit Feinstaubsensor) in Grafana

Damit ist meine Wetterstation (mit Feinstaubsensor) in Grafana fertig 🙂

5 Kommentare

  • Moin,
    vielen Dank für deine Beschreibung! Ich habe InfluxDB 2 als Docker laufen, leider bin ich hier absoluter Neuling. Kannst du evtl. etwas genauer erklären, wie man in Influx eine Datenbank anlegt und diese dann mit der Wetterstation verbindet?

    Das wäre Super!

    Antworten
    • Hallo. Also wenn du die gleiche Firmware wie ich verwendest (NRZ-2020-133/DE (Nov 29 2020)) solltest du einfach unter „Konfiguration“ -> „API“ den Haken bei „senden an InfluxDB“ setzen und die Infos ausfüllen:
      Server: 192.168.2.120 (deine IP, Hostname sollte auch klappen)
      Pfad: /write?db=feinstaub
      Port: 8086 (ist der Standard-Port, kann aber anders sein, je nach dem wie dein Container konfiguriert ist)
      Benutzer: (zum testen vielleicht erst mal leer, sollte aber nicht leer sein ;))
      Passwort: (dito ;))
      Messung: feinstaub

      Die Datenbank muss vorher angelegt werden (Befehle siehe oben) wozu du dich mit dem Terminal von dem Docker Container verbinden musst.

      Grüße
      Simon

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.