Wetterdaten mit dem Pi Temperatur Sentinel (PiTS) aufzeichnen und darstellen

  • Ich möchte an dieser Stelle kurz eines meiner jüngsten Projekte vorstellen, den Pi Temperatur Sentinel mit der PiTS-It! Management Software.


    Bei der PiTS-It! Management Software handelt sich um eine smarte Anwendung für den Raspberry Pi, die ich zur Aufzeichnung und Langzeitarchivierung von Wetterdaten (wie Temperatur, Luftdruck und -feuchtigkeit) verwende. Es lassen sich aber auch andere Anwendungsbeispiele mit der Software realisieren. So ist damit ebenso eine Temperaturüberwachung in Serverräumen möglich

    wie auch ein Einsatz bei der Regelung von Heizungsanlagen vorstellbar ist. Darüber hinaus kann die Software als Datenlogger von GPIO Signalen verwendet werden.


    Die PiTS-It! Management Software unterstützt viele verschiedene Sensoren


    • 1-Wire Temperatursensoren, wie DS18B20
    • I2C-Temperatursensoren, wie BME/BMP280
    • die Sensoren (Temperatur/Licht) des Enviro pHAT
    • analoge Sensoren über SPI AD-Wandler (MCP3008/MCP3208)
    • interne SOC-Temperatur des Raspberry Pi

    und bietet mit der universellen Ereignissteuerung die Möglichkeit zum individuellen, temperaturabhängigen Auslösen von Ereignissen (GPIOs, E-Mail oder Shell-Befehle).


    Optional bietet die Software auch eine Anbindung an Apple’s HomeKit über die Integration der von PiTS-It! erfassten Sensoren via Homebridge-Plugin. Näheres dazu auf Twitter.


    Weitere Informationen zu Hard- und Software findet man auf pits.tgd-consulting.de.


    Hier noch als weiterführendes Beispiel die neueste Erweiterung für PiTS:
    Ein remote Sensormodul für die Temperatur-, Luftfeuchte- und Luftdruckmessung per Funk auf Basis des ESP8266 und eines BME280-Sensors. Das Sensormodul ist mit dem entsprechenden Gehäuse auch für den Außeneinsatz geeignet und besteht aus nur wenigen Komponenten. Verwendet habe ich die ESP-01 Variante und den BME280-Sensor vom China-Händler meines Vertrauens.


    Neben dem HLK-PM03 Step-Down-Converter, welcher für die Stromversorgung verwendet wird, sind nur ein paar Stütz- und Glättungskondensatoren verbaut, um einen ungewollten Reset des ESP zu vermeiden.
    Beim Anschluss des BME280 an den ESP8266 ist es wichtig, dass man die I2C-Schnittstelle mit den richtigen PullUp Widerständen abschließt. Ich verwende je einen 4k7 Widerstand bei GPIO0 (SDA) und GPIO2 (SCL) am ESP-01. Sowohl bei größeren Widerständen als auch bei reiner Verwendung von Software-PullUps wurde der BME280 nie am I2C-Bus erkannt.
    Der ESP8266 ist als normaler DHCP-Client mit dem lokalen WiFi-AP im LAN verbunden. In der Grundeinstellung wird der BME280 alle 10 Minuten vom ESP gepollt. Die Übertragung der Messwerte des BME280 erfolgt dann per HTTP-Get Request an das Webserver-Modul von PiTS-It!. Zur Absicherung der Kommunikation wird noch ein Verbindungstoken verwendet, dass der Seriennummer des RPi entsprechen muss. Ansonsten werden solche Requests vom Webserver als ungültig verworfen.
    Zusätzlich wird beim HTTP-Request auch die Uptime des ESP als Parameter übergeben. So kann man am Raspberry Pi bei Bedarf manuell überprüfen wie lange der ESP seit dem letzten Reboot gelaufen ist.


    Der passende Sketch für den ESP ist auf Github veröffentlicht. Vielleicht inspiriert der Sketch oder die Abbildungen hier zum Nachbau oder zur Adaption in eigene Projekte.


    VG
    TGD

  • Das Projekt PiTS geht weiter. Die Entwicklung eines Innenraum-Sensormoduls für die Temperatur-, Luftfeuchte- und Luftdruckmessung per Funk schreitet voran. Das erste Ergebnis eines Sketch-Entwurfes für den ESP8266 mit SSD1306 OLED-Display sieht man hier:


    [IMG:http://www.tgd-consulting.de/PiTS/PiTS-ESP8266-SSD1306_anim.gif]


    Bitte nicht wundern, dass keine reale Temperatur dargestellt wird. Es wurde zunächst kein BME280-Sensor am I2C-Bus angeschlossen, um mögliche Fehlerquellen während der Implementierung der Display-Ansteuerung zu vermeiden.


    Wer möchte kann sich das Video auch auf YT in HD anschauen. Wenn das Innenraum-Sensor-Modul mit OLED-Display komplett fertig gestellt ist, wird der zu gehörige Sketch für den ESP auf Github veröffentlicht.

  • Die Programmierarbeiten am Sketch für den ESP8266 gehen weiter. Hier das Ergebnis der letzten Beta-Version:


    Neben der Versorgungsspannung Vcc des ESP wird nun auch dessen IP-Adresse nach erfolgreichem einbuchen ins WLAN auf dem Display angezeigt. Der Sketch nutzt übrigens zur Ansteuerung des OLED-Displays die geniale Library von Daniel Eichhorn (squix78).

  • Zwischenzeitlich habe ich den ersten smarten Funk-Innenraumsensor für das PiTS-Projekt fertiggestellt. Als OLED-Display wird nun das etwas größere 1,3“ SH1106 Modul verwendet, da die Breite dieses Displays fast genau mit den Lüftungsschlitzen im Gehäuse übereinstimmt und so einen leichteren Einbau ohne viel sägen und fräsen ermöglicht. Insgesamt liegen die Materialkosten für den Innenraumsensor bei knapp 15,- Euro, wobei das Steckergehäuse davon den „Löwenanteil“ ausmacht.

    Hier die Stückliste für alle die es selbst nachbauen möchten:
    1 x Steckergehäuse SG951 mit angespritzten Euro-Stecker
    1 x HLK-PM03 Step-Down-Converter
    1 x ESP-01
    1 x GY-BME280 Sensor-Modul
    1 x SH1106 OLED-Display
    2 x 4,7k Pull-Up Widerstände für den I²C-Bus
    1 x etwas größerer Elko (1500μF) zum „Abfedern“ von Stromspitzen
    2 x 100nF Kerkos zur weiteren Spannungsglättung/Entstörung am ESP8266
    1 x Buchsenleiste 2x5 pol. als „Sockel“ für den ESP-01
    4 x Dupontkabel (Buchse zu Buchse) zum Anschluss von Display und BME280
    1 x kleines Stück Europlatine als „Backplane“

    Der ESP-01 ist über die Buchsenleiste gesockelt und ermöglicht so einen leichteren Austausch bei Defekt oder zum Einspielen von Sketch-Updates. Genauso flexibel sind das OLED-Display und das BME280-Modul nur über die Verbindungskabel angeschlossen.

    Der passende Sketch für den ESP ist auf Github erhältlich. Hier noch ein paar Bilder vom fertigen PiTS-Innenraum-Sensormodul mit Display. Neben den vom BME280 ausgelesen Messgrößen (Temperatur, Luftdruck, relative Luftfeuchte) werden auch weitere daraus abgeleitete relevante Wetterdaten (Tageshöchst-/Tiefsttemperatur,Taupunkt, absolute Feuchte) vom ESP auf dem I²C-Display dargestellt.

    VG
    TGD

    Einmal editiert, zuletzt von TGD ()

  • Eine neues Release der Software ist verfügbar, bei dem die Messdaten ausgewählter Sensoren im Rahmen von OpenData auf openSenseMap.org automatisch online gestellt werden.




    Die aktuellen Wetterdaten meiner PiTS-Wetterstation können hier online betrachtet werden.


    Hier ein kurzer Ausblick auf das nächste Release:
    Demnächst wird es noch ein weiteres Upgrade der PiTS-It! Management Software geben, bei dem dann auch Umweltdaten zur Feinstaubbelastung erfasst werden können. Die Feinstaubmessung (Particulate Matter) erfolgt über einen Sensor von PLANTOWER. Ich verwende den PMS7003, der sich einfach und nahtlos ins System über die serielle Schnittstelle integrieren lässt. Der Sensor zur Feinstaubmessung ist nicht besonders groß und kann Partikelgrößen PM10, PM2.5 und PM1 erkennen.


    So sieht aktuell mein Versuchsaufbau mit diesem Sensor aus.

  • …der PLANTOWER PMS7003 Feinstaubsensor arbeitet sehr zuverlässig. Die Messwerte zur Feinstaubbelastung wurden beim Versuchsaufbau in einer Büroumgebung bisher zuverlässig aufgezeichnet. Hier als Beispiel die Verlaufsgrafiken der jeweiligen Partikelgrößen (PM10 = rot, PM2.5 = blau, PM1 = gelb). Die Min-/Max- und Durchschnittswerte beziehen sich auf PM10:

     




    Jetzt fehlt nur noch die Implementation für die automatische Übertrag der Feinstaubmesswerte an luftdaten.info, dann ist das neueste Release der PiTS-It! Management Software vollständig.


    VG

    TGD

  • Im Folgenden führe ich aus, wie in der PITs Software das Senden von IP-Telegrammen eingestellt wird und vom GIRA Homeserver empfangen und ausgewertet werden.


    Die Anbindung der PiTs Software an den Gira-Homeserver ist unkompliziert umsetzbar.


    Zunächst wird auf seiten der PiTs Software auf dem RaspberryPi die Adresse und der Inhalt des IP-Telegramms festgelegt. Die Optionsdatei .PiTSIt.SmartHome wird mit dem Befehl cd /home/pi/pits && nano .PiTSIt.SmartHome angelegt.

    Dort werden diese zwei Zeilen eingetragen

    Code
    1. tcp://192.178.166.10:4321 (die Netzwerkadresse des Homeservers gefolgt vom Port)
    2. "77" Temperatursensor-enviropHAT "29" Illumination

    Nun sendet der Raspberry Ip-Telegramme in den gewünschten Zeitintervallen, welche in der PITs-Browseroberfläche unter Systemeinstellungen - Messrate angegeben werden können.

    Ich habe 300sec. gewählt. In der Experten-Software des Gira Homeservers wird bei Ip-Telegramme/ Empfang zunächst der Telegramm-Typ TCP, der zuvor in der PiTs Datei definierte Port und die Netzwerkadresse des RasperryPi angegeben.

    Im Reiter Empfang (einfaches Telegramm) werden folgende Datenblöcke definiert:

    Code
    1. Beliebige Anzahl an Daten
    2. Text "Illumination"
    3. Beliebige Anzahl an Daten
    4. Text (mit dem Trennungszeichen | Pipe)
    5. Wert als Klartext (hier wird der Helligkeitswert in eine Gruppenadresse eingesetzt)
    6. Text |
    7. Wert als Klartext (hier wird der RGB-Wert in die Gruppenadresse gesetzt)
    8. Beliebige Anzahl an Daten

    Die Vorgehensweise beim Empfang der anderen Sensordaten ist die gleiche.







    Nach diesem Vorgehen gelangen die Werte unmittelbar nach der Erfassung der PiTs auf den heimischen Bus. Besonders gut dabei ist die Möglichkeit, einzustellen, wie häufig die IP-Telegramme gesendet werden, um so zu bestimmen, wie groß die Datenmenge wird.


    Die Installation der Software ist leicht und im täglichen Betrieb sehr zuverlässig.

    Einmal editiert, zuletzt von Zooast ()

  • Das aktuelle Release der PiTS-It! Management Software wurde nun dahingehend ergänzt, dass neben seriellen Feinstaubsensoren, wie dem PLANTOWER PMS7003, nun auch auch VOC-Sensoren, wie der Figaro TGS2600, zur zuverlässigen und langzeitstabilen Überwachung der Luftqualität genutzt werden können.


    Der Anschluss der analogen VOC-Sensoren erfolgt über einen I²C-ADS1015 AD-Wandler an den Raspberry Pi. Neben einzelnen ADS1015-Modulen kann auch der ADS1015 ADC des Enviro pHAT verwendet werden.


    [IMG:http://www.tgd-consulting.de/P…nschlussplan-TGS2600x.jpg]


    Der AD-Wandler verfügt über vier analoge Kanäle, so dass auch Messwerte von bis zu vier VOC-Sensoren erfasst werden können.

    Die 12bit Auflösung des AD-Wandlers ist hinreichend genau, um selbst kleinste Änderungen von flüchtigen organischen Verbindungen in der Raumluft oder der Außenluft als Spannungsdifferenz bei der Messung erkennen zu können.


    [IMG:http://www.tgd-consulting.de/PiTS/PiTS-VOC_chart-TGS2600.png]


    Wer obige Verlaufskurve "lesen" kann, erkennt sogar die Anwesenheit von Personen im Raum.


    Im Rahmen von Citizen Science kann somit jeder leicht und kostengünstig die Messung flüchtiger organischer Verbindungen oder der Feinstaubkonzentration zur Bewertung der Luftqualität eigenständig durchführen. Dies geht mit dem Raspberry Pi und pits.tgd-consulting.de einfach und effektiv.


    Hier die Stückliste für alle die selbst eine Analyse der Luftgüte durchführen möchten:

    1 x VOC-Sensor vom Typ Figaro TGS2600

    1 x I²C-ADS1015 AD-Wandler

    1 x 1k Vorwiderstand (erforderlich pro VOC-Sensor)

    4 x Dupontkabel (Buchse zu Buchse) zum Anschluss je eines Sensors


    VG

    TGD

  • Aktuell wird die PiTS-It! Management Software um einen weiteren Sensortyp ergänzt. Bald kann man dann mit PiTS auch Radioaktivität messen, um so beispielsweise den Verlauf der natürlichen Hintergrundstrahlung erfassen zu können.


    Zur Zeit ist experimentell ein Geiger-Müller Zählrohr als komplettes DIY-Modul-Kit aus China anschlussfertig kalibriert mit einem GPIO des Raspberry Pi verbunden. Der unten abgebildete Versuchsaufbau tickt und zählt nun so munter vor sich hin. Das verwendete Zählrohr kann sowohl Beta- als auch Gamma-Strahlung erkennen. Es wird mit einer Spannung von mehr als 400V betrieben, daher ist ein sorgsamer Umgang mit dem Modul-Kit erforderlich.




    Näheres erfährt man natürlich zuerst auf Twitter oder unter pits.tgd-consulting.de.


    VG

    TGD

  • Kurze Info an alle Interessierten:

    Das PiTS-Projekt mit der PiTS-It! Management Software wurde beim ersten Digitalisierungspreis „Best of Digital.SH“ ausgezeichnet und belegte in der Preiskategorie „Open Data“ den 2.Platz.


    Vorgestellt wurden die Anwendungsmöglichkeiten der Hard- und Software zusammen mit dem Feinstaubsensor sowie dem Geiger-Müller-Zählrohr-Kit zur Messung von Radioaktivität.


    Das war mal eine besondere Gelegenheit, um die Vielseitigkeit des Raspberry Pi einem anderen Publikum näher zu bringen.


    VG

    TGD

    Einmal editiert, zuletzt von TGD ()