Wetterstation: Unterschied zwischen den Versionen
Sst (Diskussion | Beiträge) |
Sst (Diskussion | Beiträge) |
||
Zeile 101: | Zeile 101: | ||
* 16x2 LCD Module [http://www.raspberrypi-spy.co.uk/2012/07/16x2-lcd-module-control-using-python/] | * 16x2 LCD Module [http://www.raspberrypi-spy.co.uk/2012/07/16x2-lcd-module-control-using-python/] | ||
= Software = | = Software und Anwendungsbeispiel = | ||
Es gibt bereits ein Beispielprojekt. Die Besonderheit ist allerdings das zusätzlich zu den Temperatursensoren (DS18B20) noch ein USB-Sensor angeschlossen ist der zyklisch ausgelesen wird. Dieser Messwert wird dann mit einem der Messwerte von den zwei angeschlossenen DS18B20 Sensoren verglichen. | Es gibt bereits ein Beispielprojekt. Die Besonderheit ist allerdings das zusätzlich zu den Temperatursensoren (DS18B20) noch ein USB-Sensor angeschlossen ist der zyklisch ausgelesen wird. Dieser Messwert wird dann mit einem der Messwerte von den zwei angeschlossenen DS18B20 Sensoren verglichen. | ||
Zeile 115: | Zeile 115: | ||
Wenn noch mal Zeit besteht ändere ich die Software so, dass sie einfacher übernommen werden kann. Aber auch dann wird einiges an Wissen vorausgesetzt um eine Station aufbauen zu können. | Wenn noch mal Zeit besteht ändere ich die Software so, dass sie einfacher übernommen werden kann. Aber auch dann wird einiges an Wissen vorausgesetzt um eine Station aufbauen zu können. | ||
Dateien aus dem Archiv | == Dateien aus dem Archiv == | ||
;webseite | ;webseite | ||
:Webseite zur Darstellung der Kurven. Die Javascripte die hierzu eingesetzt werden, dürfen nicht kommerziell verwendet werden. Wenn dies benötigt wird, müssen entsprechende Lizenzen von http://highcharts.com gekauft werden. | :Webseite zur Darstellung der Kurven. Die Javascripte die hierzu eingesetzt werden, dürfen nicht kommerziell verwendet werden. Wenn dies benötigt wird, müssen entsprechende Lizenzen von http://highcharts.com gekauft werden. | ||
Zeile 129: | Zeile 129: | ||
:Shell-Skript zum Upload der Messwerte. In dem Beispiel ist es so, dass die letzte Messung immer per FTP auf einen anderen Webserver hochgeladen wird. Es ist somit nicht notwendig das der Raspberry-Pi über eine dynamische Adresse aus dem Internet zu erreichen ist. | :Shell-Skript zum Upload der Messwerte. In dem Beispiel ist es so, dass die letzte Messung immer per FTP auf einen anderen Webserver hochgeladen wird. Es ist somit nicht notwendig das der Raspberry-Pi über eine dynamische Adresse aus dem Internet zu erreichen ist. | ||
Cronjob | == Cronjob == | ||
Die Cronjobs die in dem Beispielprojekt verwendet werden sehen wie folgt aus: | Die Cronjobs die in dem Beispielprojekt verwendet werden sehen wie folgt aus: | ||
# Temperaturmessung starten | <code> | ||
<nowiki>#</nowiki> Zyklisch Messwerte online stellen | |||
<nowiki>*</nowiki>/15 * * * * $HOME/wetter/upload.sh | |||
<nowiki>#</nowiki> Temperaturmessung starten | |||
@reboot messung_wde1 | @reboot messung_wde1 | ||
</code> | |||
FTP-Konfiguration | == FTP-Konfiguration == | ||
Die Datei ftp.cfg wird von dem Skript ./upload.sh benötigt. Folgendes muss in diese Datei stehen: | Die Datei ftp.cfg wird von dem Skript ./upload.sh benötigt. Folgendes muss in diese Datei stehen: | ||
<code> | |||
host ftp.meinwebspace.de | host ftp.meinwebspace.de | ||
user ftp-benutzer | user ftp-benutzer | ||
pass ftp-kennwort | pass ftp-kennwort | ||
</code> |
Version vom 1. Januar 2015, 16:24 Uhr
Mit Wukos können Daten von einer vorhandenen Wetterstation gelesen werden. Dazu werden Daten von Weather-Underground [1] verwendet. Das hat den Vorteil das man in Wukos immer aktuelle Wetterdaten hat, die für die Region passend sind.
Es gibt aber auch Nachteile. So sind nicht alle Orte verfügbar. Außerdem kann sich das lokale Wetter doch noch unterscheiden. Für uns interessante Informationen wie die Wassertemperatur stehen leider nicht zur Verfügung.
Als Ergänzung zu dem Online-Dienst, kann man eine eigene Wetterstation betreiben. Auf deren Daten kann Wukos dann zugreifen.
Eigene Wetterstation
Diese Seite wird zur Zeit überarbeitet!
Bald wird sie wieder aktuell und vollständig zur Verfügung stehen. Helfe doch mit das Wiki weiter auf zu bauen!
Wukos bietet die Möglichkeit eigene Wetterdaten einzulesen. Hierzu müssen die Werte auf einer Webseite verfügbar sein. Das ganze setzt einiges Wissen voraus, aber die Grundlagen um eine eigene Wetterstation zu betreiben sollen in diesem Wiki-Eintrag vermittelt werden.
Mit der Version 1.6 von Wukos können Adressen für die Luft- und Wassertemperatur von einem Administrator konfiguriert werden. Das heißt diese Werte werden dann nicht mehr über eine offiziell verfügbare Wetterstation eingelesen, sondern können direkt vor Ort gemessen werden.
Wenn sollte Daten schon online existieren, können diese bereits verwendet werden! Über die angegebenen Adressen dürfen jedoch nur die Temperaturen zurück gegeben werden. Wenn dies noch nicht der Fall sein sollte, muss man noch einen Wrapper programmieren, der nur den jeweiligen Wert zurück liefert.
Wenn man noch keine solchen Daten hat, kann man relativ günstig eine eigene Station bauen. Die hier vorgestellte Lösung basiert auf einem Raspberry-Pi. Über günstige Sensoren können Temperaturen eingelesen werden.
Materialliste
Es gibt viele Anbieter bei denen man das Material kaufen kann. Das hier sind nur Beispiele!
Zwingend erforderlich
Das folgende Material braucht man auf jeden Fall, wenn man es nicht schon hat. Was die Temperatursensoren angeht, da kann man sich etwas aussuchen. Das längere Kabel ist vielleicht sinnvoll, wenn man eine Wassertemperatur messen möchte.
Material | Lieferant | Bestellnummer | Preis |
---|---|---|---|
Raspberry Pi B+ | Reichelt | RASPBERRY PI B+ | EUR 29.95 |
Dual-USB-Lader | Reichelt | ANS DUAL MICRO | EUR 6.50 |
Micro SD-Karte 16GB | Reichelt | INTENSO 3423470 | EUR 8.95 |
Temperatursensor DS18B20 (1m Kabel) | Amazon | link | EUR 2.94 |
Temperatursensor DS18B20 (10m Kabel) | Amazon | link | EUR 20.90 |
Gehäuse ¹) |
¹) Gehäuse: Es gibt eine Vielzahl von Gehäusen für Raspberry Pi. Ich denke aber das man für das Projekt nicht unbedingt ein spezielles Raspberry Pi Gehäuse braucht. Möchte man zum Beispiel den USB zu 1-Wire Adapter verwenden, oder ein LC-Display sollten die Bauteile vielleicht auch in das Gehäuse passen. Vielleicht braucht man auch ein spritzwassergeschütztes Gehäuse für Draußen? Wie auch immer, bei Reichelt und anderen Anbietern findet man sicher das Passende.
Vielleicht erforderlich
Material | Lieferant | Bestellnummer | Preis | Zweck |
---|---|---|---|---|
WLAN Adapter (Edimax) | Reichelt | EDIMAX EW-7811UN | EUR 6.90 | Ein Anschluss über LAN-Kabel ist beim Raspberry Pi B und B+ möglich. Will man ihn aber über WLAN anbinden, braucht man einen Adapter. |
USB zu 1wire Adapter ²) | www.raspiprojekt.de | 37011 | EUR 24.95 | Bei größeren Kabellängen zu empfehlen! Man braucht nur einen Adapter, an dem können 10 Sensoren anschlossen werden. |
LC-Display 16x2 | Reichelt | LCD 162C LED | EUR 6.50 | Temperaturen können dann auch direkt am Raspberry Pi angezeigt werden. Ein passender Einbaurahmen ist dann auch zu empfehlen. |
Widerstand 560 Ohm | Reichelt | 1/4W 560 | EUR 0.10 | Wird als Vorwiderstand für das LC-Display benötigt. |
²) USB zu 1wire Adapter: Auch ein Selbstbau eines Adapters ist möglich. Eine Variante ist bei [2] beschrieben.
Projekte
Aktive Wetterstationen
Grundlagen für die Wetterstation
Die hier aufgeführten Projekte haben alle ihren Teil beigetragen und liefern noch weitere Hintergrundinformationen.
- 16x2 LCD Module [3]
Software und Anwendungsbeispiel
Es gibt bereits ein Beispielprojekt. Die Besonderheit ist allerdings das zusätzlich zu den Temperatursensoren (DS18B20) noch ein USB-Sensor angeschlossen ist der zyklisch ausgelesen wird. Dieser Messwert wird dann mit einem der Messwerte von den zwei angeschlossenen DS18B20 Sensoren verglichen.
Die Software hierzu steht unter http://salich.de/temperatur/wetterstation.zip zur Verfügung!
Folgene Informationen stellt diese Station zur Zeit zur Verfügung:
- Temperatur 1: http://salich.de/temperatur/index.php?temperatur=1
- Temperatur 2: http://salich.de/temperatur/index.php?temperatur=2
- Webseite mit Kurven: http://melmac.nsupdate.info/
Man sollte sich erst mal die Grundlagen für die Wetterstation ansehen. Die zur Verfügung gestellte Software muss in jedem Fall angepasst werden! Wahrscheinlich steht kein USB-Sensor zur Verfügung und die Adressen für die DS18B20 Sensoren werden sich unterscheiden.
Wenn noch mal Zeit besteht ändere ich die Software so, dass sie einfacher übernommen werden kann. Aber auch dann wird einiges an Wissen vorausgesetzt um eine Station aufbauen zu können.
Dateien aus dem Archiv
- webseite
- Webseite zur Darstellung der Kurven. Die Javascripte die hierzu eingesetzt werden, dürfen nicht kommerziell verwendet werden. Wenn dies benötigt wird, müssen entsprechende Lizenzen von http://highcharts.com gekauft werden.
- skripte/db_create.sh
- Shell-Skript um zu Beginn einmal die Datenbank anzulegen. Dies wird nur einmal manuell ausgeführt, dann wird eine Round-Robin-Datenbank angelegt, in der maximal die Werte von 8 Temperatursensoren gespeichert werden können.
- skripte/gettemp.py
- Python-Skript zum Lesen der Temperaturen der DS18B20 Sensoren. Am Anfang der Datei befindet sich ein Konfigurationsabschnitt. Dort sind die Adressen der Sensoren einzutragen. Außerdem befindet sich darin ein Abschnitt in dem der mit dem USB-Sensor (WDE1) gemessene Wert mit dem ersten Messwert der DS18B20 Sensoren verglichen wird. Es wird immer der geringere Messwert verwendet. Dies kann vermutlich entfallen. Ebenso kann die Ausgabe auf dem LC-Display entfallen, wenn keins verwendet werden soll.
- skripte/lcd.py
- Python-Skript für Ausgaben auf dem LC-Display.
- skripte/messung_wde1
- Skript zum zyklischen Lesen der Messwerte. Wenn ein USB-Sensor (WDE1) verwendet wird, wird automatisch zyklisch gemessen. Andernfalls muss das Skript abgeändert werden und zyklisch über einen Cronjob aufgerufen werden.
- skripte/upload.sh
- Shell-Skript zum Upload der Messwerte. In dem Beispiel ist es so, dass die letzte Messung immer per FTP auf einen anderen Webserver hochgeladen wird. Es ist somit nicht notwendig das der Raspberry-Pi über eine dynamische Adresse aus dem Internet zu erreichen ist.
Cronjob
Die Cronjobs die in dem Beispielprojekt verwendet werden sehen wie folgt aus:
# Zyklisch Messwerte online stellen
*/15 * * * * $HOME/wetter/upload.sh
# Temperaturmessung starten
@reboot messung_wde1
FTP-Konfiguration
Die Datei ftp.cfg wird von dem Skript ./upload.sh benötigt. Folgendes muss in diese Datei stehen:
host ftp.meinwebspace.de
user ftp-benutzer
pass ftp-kennwort