Starterkit: Wetterstation

Features

  • Vollwertige Open Source Wetterstation
  • Misst Temperatur, Luftfeuchtigkeit, Luftdruck und Helligkeit
  • Hohe Präzision und Auflösung
    • z.B. Luftdruck 0,012mbar und Temperatur 0,01°C
  • Steuerung über USB, WLAN und Ethernet oder mit RED Brick und Raspberry Pi
  • Modifizierbar: Mehr Taster, mehr Sensoren und eigene Software
  • Demo-Anwendung verfügbar
  • Internet der Dinge fähig

Beschreibung

Das Starterkit: Wetterstation ist eine vollwertige Open Source Wetterstation. Sie misst Temperatur, Luftfeuchtigkeit, Luftdruck und Helligkeit mit hoher Präzision.

Sie kann per USB von einem (Embedded-) PC gesteuert werden. Auch eine Steuerung per WLAN ist über die WIFI Extension möglich. Alternativ kann die Wetterstation auch mittels einer Ethernet Extension in das lokale Netzwerk eingebunden werden. Für einen Standalone-Betrieb kann ein RED Brick oder ein anderes Embedded Board, wie z.B. das Raspberry Pi, direkt ins Gehäuse eingebaut werden. Auch Internet der Dinge (Internet of Things, IoT) Anwendungen sind somit möglich (siehe z.B. das Xively Beispiel).

Für die Wetterstation sind verschiedene Beispielprojekte verfügbar, so können die Messwerte auf einem 20x4 Zeichen LCD angezeigt, auf einer Webseite oder z.B. auf Xively hochgeladen werden. Über vier Taster auf dem LCD 20x4 Bricklet kann zwischen verschiedenen Modi umgeschaltet werden.

Ein Teil dieser Beispielprojekte ist in einer Demo-Anwendung implementiert worden. Diese ist für Windows, Linux und Mac OS X verfügbar und kann benutzt werden um die Station zu testen.

Das Kit ermöglicht es nach eigenen Wünschen sowohl Soft- als auch Hardware zu gestalten. Das Gehäuse besteht aus bastelfreundlichem PMMA und ist einfach zu bearbeiten. Zusätzlich sind bereits Bohrlöcher für Analog In und IO-4 Bricklets vorhanden. So können auch noch weitere Sensoren (Anemometer, Pluviometer etc.) angeschlossen werden.

Die Wetterstation kann über alle verfügbaren Bindings (C/C++, C#, Delphi/Lazarus, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, Perl, PHP, Python, Ruby, Shell, Visual Basic .NET) programmiert werden. Beispielimplementierungen für viele Programmiersprachen und eine Demo-Anwendung erleichtern den Einstieg in die Programmierung mit Tinkerforge.

Ein kurzes Video über den Zusammenbau und einige Anwendungen gibt es auf Youtube:

Technische Spezifikation

Eigenschaft Wert
Luftdruck 10mbar - 1200mbar in 0,012mbar Schritten
Beleuchtungsstärke 0Lux - 64000Lux in 0,01Lux Schritten
Relative Luftfeuchtigkeit 0% RH - 100% RH in 0,1% RH Schritten
Temperatur -40°C - 85°C in 0,01°C Schritten
   
Abmessungen (B x T x H) 240 x 46 x 100mm (9,45 x 1,81 x 3,94")
Gewicht 376g

Ressourcen

Firmware aktualisieren und erste Tests

Im ersten Schritt sollten die Bricks und Bricklets ausprobiert und die Firmwares ggf. aktualisiert werden.

Dazu müssen der Brick Daemon und der Brick Viewer installiert werden. Schließe alle Bricklets an den Master Brick an und verbinde es per USB mit dem PC. Anschließend kann über den Brick Viewer bestimmt werden, ob alle Firmwares aktuell sind. Falls nicht so sollten diese aktualisiert werden (Bricks aktualisieren, Bricklets aktualisieren):

Wetterstation mittels Brick Viewer aktualisieren

Danach sollten mit dem Brick Viewer alle Sensoren überprüft werden. Dazu klickt man am besten durch die verschiedenen Tabs und überprüft die Sensorwerte. Anschließend ist sichergestellt, dass der Master Brick und alle Bricklets korrekt funktionieren auch nachdem alles in das Gehäuse geschraubt wurde.

Demo Anwendung

Wenn die Hardware korrekt funktioniert kann die Demo Anwendung zum Starterkit: Wetterstation getestet werden. Diese implementiert für Demonstrationszwecke drei der vorgestellten Projekte:

  1. Messwerte auf dem LCD anzeigen
  2. Anzeige von Statistiken mit Umschaltung per Taster
  3. Internet der Dinge / Xively Anbindung

Jedes Projekt besitzt sein eigenes Tab in der Anwendung. Das erste Projekt zeigt nur die gemessenen Werte an. Das zweite Projekt ist komplexer und zeigt Min-, Max- und Durchschnittswerte sowie Graphen der Messungen an. Die Anzeige kann hierbei über die vier Taster des LCD 20x4 Bricklets oder über die Taster in der Anwendung geändert werden. In manchen Modi kann über ein mehrfaches Drücken des Tasters der Sensor geändert werden.

Zum Schluss bietet das Xively Projekt die Möglichkeit die Messwerte hochzuladen. Dazu muss sich auf xively.com registriert werden. Anschließend können dort Feed ID und API Key sowie für jeden Sensor ein Channel angelegt werden (AirPressure, AmbientLight, Humidity und Temperature). Feed ID, API Key und das Upload-Intervall müssen anschließend in der Demo Anwendung konfiguriert werden. Für weitere Informationen siehe die Projektbeschreibung.

Die Demo Anwendung kann aus den Ressourcen heruntergeladen werden.

Screenshot Wetterstation Demo Anwendung

Konstruktion

Es gibt nicht nur eine Art die Wetterstation aufzubauen. Nachfolgend zeigen wir den Aufbau verschiedener Varianten. Das Starterkit: Wetterstation ist einfach zu erweitern und zu modifizieren.

Zum Beispiel können Bricks und Bricklets mittels Abstandsbolzen befestigt werden oder auch direkt angeschraubt werden um Platz zu sparen. Es sind weitere Bohrlöcher vorgesehen um Analog In, Temperature oder IO-4 Bricklets zu befestigen um weitere Sensoren auszulesen.

Das benutzte PMMA Plastik ist einfach zu bearbeiten, so dass falls benötigt eigene Bohrlöcher oder Öffnungen geschaffen werden können.

Hier sind vier verschiedene Aufbauvarianten:

Die Wetterstation kann auch über RS485 oder Ethernet Extension gesteuert werden. Der Aufbau ist hierbei der selbe wie bei "WLAN Wetterstation" beschrieben, es muss nur die WIFI Extension durch eine RS485 oder Ethernet Extension ausgetauscht werden.

Wird die Ethernet Extension mit PoE genutzt, so kann der Stapel auch gleich über das integrierte PoE versorgt werden, so dass Step-Down Power Supply und der DC Jack Adapter nicht mehr notwendig sind.

Projekte

Im Folgenden werden verschiedene Anwendungen für die Wetterstation vorgestellt:

Messwerte auf dem LCD anzeigen

Die offensichtlichste Anwendung für das Starterkit: Wetterstation ist die Anzeige der Umgebungsmesswerte auf dem LCD 20x4 Bricklet. Hierfür gibt es vier Möglichkeiten:

  • USB Verbindung zu einem PC: Installiere den Brick Daemon und die Anwendung auf dem PC und verbinde den Master Brick per USB.
  • WLAN Verbindung zu einem PC: Installiere die Anwendung auf dem PC und Verbinde die Wetterstation direkt per WLAN oder über einen Access Point.
  • RED Brick: Lade die Anwendung mit Hilfe des Brick Viewers auf den RED Brick hoch. Wie dies genau funktioniert ist in der RED Brick Dokumenation im Detail beschrieben.
  • Raspberry Pi oder ein anderes Embedded Board integriert in die Wetterstation: Installiere den Brick Daemon und die Anwendung auf dem Embedded Board und verbinde den Master Brick der Wetterstation per USB.

Die vier Möglichkeiten können das gleiche Programm benutzen.

Beispielanwendungen mit Schritt-für-Schritt Anleitungen existieren für: C, C#, Delphi, Java, PHP, Python, Ruby, Visual Basic .NET.

Internet der Dinge / Xively Anbindung

Xively ist ein Service der die Möglichkeit bietet das "Internet der Dinge" zu analysieren und zu visualisieren. Dieser kann eine Historie der Wetterstationsdaten speichern, sowie nette Graphen zeichnen:

Xively Datastreams als Graph

Eine Beispiel-Implementierung mit Schritt-für-Schritt Instruktionen die die Wetterdaten auf Xively veröffentlicht ist verfügbar in Python.

Die Wetterstation in unserem Labor hat den Xively Feed 125881. Viel Spass beim überprüfen unserer Arbeitsbedingungen ;-)!

Live-Anzeige von Messdaten auf einer Webseite

Eine weitere Anwendung für die Wetterstation ist die Anzeige von Wetterdaten auf eine Webseite:

Messwerte live auf einer Webseite

In diesem Projekt werden wir JavaScript/AJAX nutzen um die Messwerte alle 5 Sekunden auf einer Webseite neu zu laden.

Eine Beispielimplementierung ist in PHP verfügbar.

Anzeige von Statistiken mit Umschaltung per Taster

Da das LCD 20x4 Bricklet über vier Taster verfügt können wir die erste Anwendung um die Anzeige weiterer Daten erweitern indem diese mit den Tastern durchgeschaltet werden.

Verschiedene Modi

Die vier Taster werden in diesem Projekt genutzt um zwischen

  • Standard Wetter Messung,
  • 24h Min/Max/Durchschnitt,
  • 24h Graph und
  • Zeit und Datum.

Eine Beispielimplementierung ist in C# verfügbar.

Smart Home Integration mit openHAB

Die Wetterstation kann in ein openHAB verwaltetes Smart Home integriert werden mittels der openHAB Tinkerforge Bindings.

openHAB example sitemap

Als Beispiel werden wir die nötigen openHAB Konfigurationsschritte für die Integration mit einem RED Brick demonstrieren.

Zusätzlich Erweiterungen

Gerne führen wir hier Mods, Erweiterungen oder Verbesserungen der Wetterstation auf. Bitte gebt uns Bescheid, wir verlinken hier gerne eure Projekte.

Größere Drucktaster

Die Drucktaster des LCD 20x4 Bricklet sind ein wenig fummelig. Als Erweiterung für die Wetterstation bieten wir große Drucktaster mit der Wetterstation Drucktaster-Erweiterung an.

Wetterstation mit großen Drucktastern

Die Erweiterung besteht aus vier großen Drucktastern, einem Ersatzseitenteil für die linke Seite des Gehäuses der Wetterstation und einer rechtwinkligen 2x3 Stiftleiste.

Ein Lötkolben und ein paar Käbelchen werden benötigt um die Drucktaster mit dem LCD 20x4 Bricklet zu verbinden.

Verkabelung der Drucktaster Drucktaster verbunden mit dem LCD 20x4

Änderungen in der Software werden nicht benötigt.

Um einen Taster an das LCD 20x4 Bricklet anzuschließen muss der eine Pin des Tasters mit GND und der andere mit einem Eingang (BTN0-BTN3) verbunden werden. In den vorhergehenden Fotos haben wir eine schwarze Leitung genommen und GND durchzuschleifen und rote Leitungen um jeden Taster mit einem Eingang zu verbinden.

Taster Verdrahtung mit dem LCD 20x4 Bricklet

Als Spaß-Anwendung haben wir einen Demonstrator für ein Spiel wie Guitar Hero in Java geschrieben. Die Anwendung zeigt zufällig erzeugte Balken auf dem LCD an, die sich zu einer Seite bewegen. Über die vier großen Drucktaster lassen sich verschiedene Töne erzeugen und das dafür benutzte Instrument lässt sich aus der General MIDI Definition wählen. Die Logik des Spiels fehlt allerdings komplett.

Dieser Demonstrator soll zeigen, dass auch andere Anwendungen als die typischen Wetterstationsanwendungen möglich sind.

Spieleanwedung auf der Wetterstation

Der Quelltext kann hier herunter geladen werden: Download