Klima Monitor - ein RaspberryPi-Projekt
Zitat von Dogcrafter am 1. Dezember 2017, 22:09 UhrHallo,
heute möchte ich Euch meine Wetterstation vorstellen, welche bei entsprechender Stromversorgung auch mobil im Tipi genutzt werden kann.
Grüße Dogcrafter
Klima Monitor - Teil 1 - Einkaufsliste
Das Projekt "Klima Monitor" ist eine Wettervorhersage basierend auf dem GrovePi+ und dem RaspberryPi B+.
Es werden mittels Sensoren Temperatur, Luftfeuchtigkeit und Luftdruck gemessen und eine Vorhersage berechnet.
Das Projekt besteht aus zwei Teilen:
- Teil 1 ist das Wordpress Plugin "Klima Monitor " zur Darstellung der Werte und der Wettervorhersage
- Teil 2 ist die Erfassung der Werte und deren Verarbeitung
Was ist das Ziel dieses Projektes?
Der Klima Monitor soll automatisiert Daten zu unserem Wetter liefen. Diese Daten sollen öffentlich lesbar sein und in Form eines Liniendiagrammes dargestellt werden. Gespeichert werden die Messdaten in einer SQL-Datenbank.
Um die Daten erfassen zu können, müssen wir nun auf Einkaufstour gehen.
Benötigt werden:
- 1 x RaspberryPi B+
- 1 x GrovePi+ Shield (Link)
- 1 x Grove Temperatur und Luftfeuchtigkeitssensor Pro (Link)
- 1 x Grove Barometer Sensor (Link)
- Verbindungskabel in der Länge 30 und 50cm
Das GrovePi+ Shield und die Sensoren habe ich bei EXP Tech (Link) gekauft.
Hallo,
heute möchte ich Euch meine Wetterstation vorstellen, welche bei entsprechender Stromversorgung auch mobil im Tipi genutzt werden kann.
Grüße Dogcrafter
Klima Monitor - Teil 1 - Einkaufsliste
Das Projekt "Klima Monitor" ist eine Wettervorhersage basierend auf dem GrovePi+ und dem RaspberryPi B+.
Es werden mittels Sensoren Temperatur, Luftfeuchtigkeit und Luftdruck gemessen und eine Vorhersage berechnet.
Das Projekt besteht aus zwei Teilen:
- Teil 1 ist das Wordpress Plugin "Klima Monitor " zur Darstellung der Werte und der Wettervorhersage
- Teil 2 ist die Erfassung der Werte und deren Verarbeitung
Was ist das Ziel dieses Projektes?
Der Klima Monitor soll automatisiert Daten zu unserem Wetter liefen. Diese Daten sollen öffentlich lesbar sein und in Form eines Liniendiagrammes dargestellt werden. Gespeichert werden die Messdaten in einer SQL-Datenbank.
Um die Daten erfassen zu können, müssen wir nun auf Einkaufstour gehen.
Benötigt werden:
- 1 x RaspberryPi B+
- 1 x GrovePi+ Shield (Link)
- 1 x Grove Temperatur und Luftfeuchtigkeitssensor Pro (Link)
- 1 x Grove Barometer Sensor (Link)
- Verbindungskabel in der Länge 30 und 50cm
Das GrovePi+ Shield und die Sensoren habe ich bei EXP Tech (Link) gekauft.
Zitat von Dogcrafter am 7. Dezember 2017, 11:30 UhrKlima Monitor - Teil 2 - Zusammenbau der Hardware
Der Zusammenbau der Hardware ist recht einfach. Die Sensoren verfügen über einfache Steckverbindungen, mit denen sie mit dem GrovePi+ Shield verbunden werden können.
Als erstes muss der RaspberryPi mit dem Befehl
sudo shutdown -h 0heruntergefahren und vom Stromnetz getrennt werden.
Nun wird das GrovePi+ Shield rechtsbündig auf die GPOI-Pins gesteckt. Der DHT22 Sensor wird am Port D7 und der Barometer-Sensor am Port I2C-1 angeschlossen. Es können auch andere Ports genutzt werden, das Coding muss dann entsprechend angepasst werden.
Ist alles angeschlossen, wird der RaspberryPi wieder mit dem Stromnetz verbunden.
Es sollte nun so aussehen:
Klima Monitor - Teil 2 - Zusammenbau der Hardware
Der Zusammenbau der Hardware ist recht einfach. Die Sensoren verfügen über einfache Steckverbindungen, mit denen sie mit dem GrovePi+ Shield verbunden werden können.
Als erstes muss der RaspberryPi mit dem Befehl
sudo shutdown -h 0
heruntergefahren und vom Stromnetz getrennt werden.
Nun wird das GrovePi+ Shield rechtsbündig auf die GPOI-Pins gesteckt. Der DHT22 Sensor wird am Port D7 und der Barometer-Sensor am Port I2C-1 angeschlossen. Es können auch andere Ports genutzt werden, das Coding muss dann entsprechend angepasst werden.
Ist alles angeschlossen, wird der RaspberryPi wieder mit dem Stromnetz verbunden.
Es sollte nun so aussehen:
Zitat von Dogcrafter am 7. Dezember 2017, 11:33 UhrKlima Monitor - Teil 3a - Installation der Software
Damit der RaspberryPi und das GrovePi+ Shield zusammen funktionieren, wird jede Menge Software benötigt.
Installation der GrovePi-Software
Zu Beginn muss die Software in ein Verzeichnis Deiner Wahl kopiert werden .
git clone https://github.com/DexterInd/GrovePi.git
Nun wechselt man in das Verzeichnis "GrovePi" und macht die Datei "install.sh" ausführbar.cd GrovePi/Script sudo chmod +x install.shJetzt das Script ausführen und GrovePi installieren.
sudo ./install.shNach einem Reboot kann geprüft werden, ob das GrovePi+ Shield korrekt installiert wurde.
sudo i2cdetect -y 1Wenn die Ausgabe eine 04 zeigt, wurde GrovPi+ am Raspberry erkannt.
Klima Monitor - Teil 3a - Installation der Software
Damit der RaspberryPi und das GrovePi+ Shield zusammen funktionieren, wird jede Menge Software benötigt.
Installation der GrovePi-Software
Zu Beginn muss die Software in ein Verzeichnis Deiner Wahl kopiert werden .
git clone https://github.com/DexterInd/GrovePi.git
Nun wechselt man in das Verzeichnis "GrovePi" und macht die Datei "install.sh" ausführbar.
cd GrovePi/Script sudo chmod +x install.sh
Jetzt das Script ausführen und GrovePi installieren.
sudo ./install.sh
Nach einem Reboot kann geprüft werden, ob das GrovePi+ Shield korrekt installiert wurde.
sudo i2cdetect -y 1
Wenn die Ausgabe eine 04 zeigt, wurde GrovPi+ am Raspberry erkannt.
Zitat von Dogcrafter am 7. Dezember 2017, 11:34 UhrKlima Monitor - Teil 3b - Installation der Software
Nachdem das GrovePi+Shield erfolgreich installiert wurde, muss man auf dem RaspberryPi einige Python Bibliotheken installieren, damit das Progamm "Klima Monitor" ausführbar ist.
Dies macht man mit den folgenden Befehlen:
sudoapt-get install python python-dev libmysqlclient-dev
curl -O https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.py sudo python distribute_setup.py sudo rm distribute_setup.py sudo easy_install pipeasy_install MySQL-python
Klima Monitor - Teil 3b - Installation der Software
Nachdem das GrovePi+Shield erfolgreich installiert wurde, muss man auf dem RaspberryPi einige Python Bibliotheken installieren, damit das Progamm "Klima Monitor" ausführbar ist.
Dies macht man mit den folgenden Befehlen:
sudoapt-get install python python-dev libmysqlclient-dev
curl -O https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.py sudo python distribute_setup.py sudo rm distribute_setup.py sudo easy_install pipeasy_install MySQL-python
Zitat von Dogcrafter am 7. Dezember 2017, 11:35 UhrKlima Monitor - Teil 4 - Installation des Wordpress Plugin
Für den nächsten Schritt ist eine funktionierende Wordpress Installation Voraussetzung. Wie man Wordpress installiert möchte ich hier nicht beschreiben, da genügend Artikel hierzu im Netz zu finden sind.
Im Plugin Bereich geht man in das Menü Installieren und sucht das Plugin "Klima Monitor".
Dieses Plugin wird nun installiert und aktiviert.
Eine Beschreibung der Funktionalität folgt in einem späteren Beitrag, da das System erst lauffähig aufgesetzt sein sollte.
Klima Monitor - Teil 4 - Installation des Wordpress Plugin
Für den nächsten Schritt ist eine funktionierende Wordpress Installation Voraussetzung. Wie man Wordpress installiert möchte ich hier nicht beschreiben, da genügend Artikel hierzu im Netz zu finden sind.
Im Plugin Bereich geht man in das Menü Installieren und sucht das Plugin "Klima Monitor".
Dieses Plugin wird nun installiert und aktiviert.
Eine Beschreibung der Funktionalität folgt in einem späteren Beitrag, da das System erst lauffähig aufgesetzt sein sollte.
Zitat von Dogcrafter am 7. Dezember 2017, 11:36 UhrKlima Monitor - Teil 5 - Installation der "Klima Monitor" Software auf dem Raspberry
Die Software zur Berechnung der Wettervorhersage und Auslesen der Sensordaten ist schnell installiert. Dies wird mit folgendem Befehl ausgeführt:
git clone https://github.com/Dogcrafter/klimamonitorBeachtet aber bitte die jeweiligen Release Informationen!
Um das Verzeichnis ausführbar zu machen, muss folgender Befehl eingegeben werden:
sudo chmod +x klimamonitor
Anschließend müssen an der Datei main.py ein paar Anpassungen vorgenommen werden. Hierzu benötigt man den Namen der Tabelle, welche durch das Wordpress Plugin angelegt wurde. Dies findet man im Menü Einstellungen-Allgemein der Wordpress Installation ganz am Ende.
Auf dem RaspberryPi im Vereichnis "klimamonitor" liegt das Python Script "main.py". Dies wie folgt angepasst werden.
cd klimamonitor sudo nano main.pyDie Felder databaseUsername, databasePassword, databaseName und databaseTable werden entsprechend Deiner Wordpress Installation angepasst. Im Feld dataBaseTable wird der oben ermittelte Name eingetragen. Anschließend mit ^o speichern und ^x beenden.
Je nach Speicherort der Wordpress Installation muss gegebenfalls noch ein SSH-Tunnel aufgebaut werden. Bei mir war dies so, da meine Wordpress Installation bei einem Hoster installiert ist. Bei Fragen hierzu könnt Ihr mich gerne kontaktieren.
Meine Installation sieht folgendermaßen aus:
Liegt die Wordpress Installation auch auf dem Raspberry ist alles funktionsbereit.
Nun muss nur noch ein Eintrag in der crontab vorgenommen werden, damit das Programm periodisch gestartet wird:
0,30 * * * * python /home/pi/klimamonitor/main.pyDer Eintrag 0,30 bedeutet, dass das Programm alle halbe Stunde gestartet wird.
Manchmal erhält man den Fehler “import grovepi ImportError: No module named grovepi” während der Code ausgeführt wird. Dann ist folgendes zu tun.
cd GrovePi/Software/Python
sudo python setup.py install
Klima Monitor - Teil 5 - Installation der "Klima Monitor" Software auf dem Raspberry
Die Software zur Berechnung der Wettervorhersage und Auslesen der Sensordaten ist schnell installiert. Dies wird mit folgendem Befehl ausgeführt:
git clone https://github.com/Dogcrafter/klimamonitor
Beachtet aber bitte die jeweiligen Release Informationen!
Um das Verzeichnis ausführbar zu machen, muss folgender Befehl eingegeben werden:
sudo chmod +x klimamonitor
Anschließend müssen an der Datei main.py ein paar Anpassungen vorgenommen werden. Hierzu benötigt man den Namen der Tabelle, welche durch das Wordpress Plugin angelegt wurde. Dies findet man im Menü Einstellungen-Allgemein der Wordpress Installation ganz am Ende.
Auf dem RaspberryPi im Vereichnis "klimamonitor" liegt das Python Script "main.py". Dies wie folgt angepasst werden.
cd klimamonitor sudo nano main.py
Die Felder databaseUsername, databasePassword, databaseName und databaseTable werden entsprechend Deiner Wordpress Installation angepasst. Im Feld dataBaseTable wird der oben ermittelte Name eingetragen. Anschließend mit ^o speichern und ^x beenden.
Je nach Speicherort der Wordpress Installation muss gegebenfalls noch ein SSH-Tunnel aufgebaut werden. Bei mir war dies so, da meine Wordpress Installation bei einem Hoster installiert ist. Bei Fragen hierzu könnt Ihr mich gerne kontaktieren.
Meine Installation sieht folgendermaßen aus:
Liegt die Wordpress Installation auch auf dem Raspberry ist alles funktionsbereit.
Nun muss nur noch ein Eintrag in der crontab vorgenommen werden, damit das Programm periodisch gestartet wird:
0,30 * * * * python /home/pi/klimamonitor/main.py
Der Eintrag 0,30 bedeutet, dass das Programm alle halbe Stunde gestartet wird.
Manchmal erhält man den Fehler “import grovepi ImportError: No module named grovepi” während der Code ausgeführt wird. Dann ist folgendes zu tun.
cd GrovePi/Software/Python
sudo python setup.py install
Zitat von Dogcrafter am 7. Dezember 2017, 11:38 UhrKlima Monitor - Teil 6 - Bedienungsanleitung: Wordpress Plugin "Klima Monitor"
Dieses Plugin ermöglicht die Darstellung einer Wettervorhersage, welche mit dem RaspberryPi berechnet wurde. Die notwendigen Daten werden durch Sensoren am GrovePi+ Shield ermittelt.
Aktuell werden Temperatur, Luftfeuchtigkeit und Luftdruck gemessen. Die gemessenen und berechneten Daten, werden in der Wordpress Datenbank gespeichert und sind durch Liniendiagramme darstellbarMenü - Einstellungen Allgemein
Im Menü Einstellungen ->Allgemein erscheint nach Installation des Plugins folgende Einträge:
Die Information des Namens der Datenbanktabelle wird für das Python Script auf dem RaspberryPi benötigt. Die "Datenbanktabellen -Version" und "Plugin-Version" werden für eventuelle spätere Upgrades hier abgelegt.
Das Flag "Datenbanktabelle löschen" steuert, was mit der Tabelle nach Deaktivierung des Plugins geschehen soll. Ist es angekreuzt, wird die Tabelle und deren Inhalt unwiderruflich gelöscht.
Darstellung der Wettervorhersage
Die Wettervorhersage ist durch den Shortcode darstellbar.
Berechnet wird der aktuelle Wettertrend der nächsten 4 Stunden. Dieser wird als Bild dargestellt wird.
Erweiterung des Menübandes
Das Menüband der Beiträge und Seiten wird um den Button erweitert.
Mit diesem Button kann der Shortcode erzeugt werden, welcher zur Darstellung der Liniendiagramme benötigt wird. Erzeugt wird immer folgendes Template:
Der Shortcode besitzt folgende Einstellmöglichkeiten:
- title - Definition des Titels z.B.: title="Dies ist ein Titel"
- trendline - "yes" , "no"; default ist "no"
- chart - Definition der Anzeige, z.B.: chart="temp"
- temp - zeigt nur die Temperaturen
- temphum - zeigt Temperatur und Luftfeuchte
- hum - zeigt nur die Luftfeuchte
- press - zeigt den Luftdruck
- dew - zeigt den Taupunkt
- hums - zeigt die spez. Feuchte und die Sättigungsfeuchte
- forecast - zeigt den Verlauf der Vorhersage
- day - Definition des Anzeigebereichs: "Today", "Yesterday", "Week", "Month", "Year"
z.B.: day="Week" Anzeige der Daten der letzten 7 Tage- v_title - Definition der y-Achsen Beschriftung
Beispiel
Um dieses Liniendiagramm zu erzeugen, ist folgender Shortcode notwendig:
Es würde mich freuen, wenn ihr mir einen Link auf Eure Wetterstation senden würdet.
Klima Monitor - Teil 6 - Bedienungsanleitung: Wordpress Plugin "Klima Monitor"
Dieses Plugin ermöglicht die Darstellung einer Wettervorhersage, welche mit dem RaspberryPi berechnet wurde. Die notwendigen Daten werden durch Sensoren am GrovePi+ Shield ermittelt.
Aktuell werden Temperatur, Luftfeuchtigkeit und Luftdruck gemessen. Die gemessenen und berechneten Daten, werden in der Wordpress Datenbank gespeichert und sind durch Liniendiagramme darstellbar
Menü - Einstellungen Allgemein
Im Menü Einstellungen ->Allgemein erscheint nach Installation des Plugins folgende Einträge:
Die Information des Namens der Datenbanktabelle wird für das Python Script auf dem RaspberryPi benötigt. Die "Datenbanktabellen -Version" und "Plugin-Version" werden für eventuelle spätere Upgrades hier abgelegt.
Das Flag "Datenbanktabelle löschen" steuert, was mit der Tabelle nach Deaktivierung des Plugins geschehen soll. Ist es angekreuzt, wird die Tabelle und deren Inhalt unwiderruflich gelöscht.
Darstellung der Wettervorhersage
Die Wettervorhersage ist durch den Shortcode darstellbar.
Berechnet wird der aktuelle Wettertrend der nächsten 4 Stunden. Dieser wird als Bild dargestellt wird.
Erweiterung des Menübandes
Das Menüband der Beiträge und Seiten wird um den Button erweitert.
Mit diesem Button kann der Shortcode erzeugt werden, welcher zur Darstellung der Liniendiagramme benötigt wird. Erzeugt wird immer folgendes Template:
Der Shortcode besitzt folgende Einstellmöglichkeiten:
- title - Definition des Titels z.B.: title="Dies ist ein Titel"
- trendline - "yes" , "no"; default ist "no"
- chart - Definition der Anzeige, z.B.: chart="temp"
- temp - zeigt nur die Temperaturen
- temphum - zeigt Temperatur und Luftfeuchte
- hum - zeigt nur die Luftfeuchte
- press - zeigt den Luftdruck
- dew - zeigt den Taupunkt
- hums - zeigt die spez. Feuchte und die Sättigungsfeuchte
- forecast - zeigt den Verlauf der Vorhersage
- day - Definition des Anzeigebereichs: "Today", "Yesterday", "Week", "Month", "Year"
z.B.: day="Week" Anzeige der Daten der letzten 7 Tage - v_title - Definition der y-Achsen Beschriftung
Beispiel
Um dieses Liniendiagramm zu erzeugen, ist folgender Shortcode notwendig:
Es würde mich freuen, wenn ihr mir einen Link auf Eure Wetterstation senden würdet.
Zitat von Seemann am 12. Dezember 2017, 21:37 UhrMein lieber Dogcrafter,
es ist schon interessant was du da zauberst und sicher auch toll wenn man sich so vor Ort exakte Wetterdaten erstellen lassen kann, aber ich will ganz ehrlich sein, ICH versteh kein Wort und bin weit davon entfernt mir so etwas bauen zu können. Ich hab nicht mal ein Smartfone!!!
Gruß"Seemann"
Mein lieber Dogcrafter,
es ist schon interessant was du da zauberst und sicher auch toll wenn man sich so vor Ort exakte Wetterdaten erstellen lassen kann, aber ich will ganz ehrlich sein, ICH versteh kein Wort und bin weit davon entfernt mir so etwas bauen zu können. Ich hab nicht mal ein Smartfone!!!
Gruß"Seemann"