Aus Raspberry Pi Geek 05/2015

Eigene Wetterstation mit Online-Daten auf einem RasPi aufsetzen (Seite 2)

TIPP

Mit pi4j --? gibt das Programm einen Überblick über die Optionen und zeigt einige Aufrufe.

Ausflug in die IDE-Welt

Beim Entwickeln von Software führen stets mehrere Wege zum Ziel. Das fängt schon bei der Entwicklungsumgebung (Integrated Development Environment, IDE) an. Für kleinere Projekte genügen Editoren wie Vim oder Nano auf der Konsole. Fallen die Projekte umfangreicher aus, wird das Arbeiten damit jedoch schnell unübersichtlich.

Das Projekt im Beispiel reicht in den Bereich der etwas komplexeren Programme hinein. Hier ist es sinnvoll, eine echte Java-IDE wie Eclipse oder Intellij IDEA zu verwenden. Beide stehen kostenfrei zur Verfügung; von Intellij IDEA gibt es zwar auch eine kostenpflichtige Version, aber die ist für dieses Projekt nicht nötig.

Beide Programme haben allerdings einen gravierenden Nachteil: Sie arbeiten viel zu langsam, wenn Sie sie direkt auf dem RasPi starten. Ein Weg aus diesem Dilemma: Sie entwickeln auf einem leistungsfähigeren PC und übertragen die Dateien von dort aus mithilfe eines Versionskontrollsystems wie Git oder schlicht via Rsync auf den Mini-PC.

API

Die Online-Plattform Wetter.com bietet eine kostenlose Schnittstelle an, um die Daten von Vorhersagen per XML herunterzuladen. Sie liefert diese für den aktuellen Tag sowie die folgenden zwei Tage. Die Vorhersagen liefern Daten für vier Zeitpunkte: morgens, mittags, abends und nachts.

Zusätzlich erhalten Sie die Durchschnittswerte für den jeweiligen Tag; das Testprogramm beschränkt sich auf diesen Wert. Da er sich nicht so oft ändert, genügt es, ihn einmal pro Stunde zu aktualisieren. Damit bleiben Sie weit unter der Obergrenze der kostenfrei möglichen Zugriffe (maximal 10000).

Um das Angebot zu nutzen, melden Sie sich einmalig an (Abbildung 1). Um auf die Seite mit der API-Beschreibung zu gelangen, klicken Sie auf Apps & mehr | openweather API [5]. Hier finden Sie eine detaillierte Aufschlüsselung der API.

Abbildung 1: Vor dem Programmieren legen Sie ein Projekt für die Openweather-API an. So erhalten Sie Zugriff auf die kostenlose Schnittstelle, über die Sie die Wetterdaten abrufen.

Abbildung 1: Vor dem Programmieren legen Sie ein Projekt für die Openweather-API an. So erhalten Sie Zugriff auf die kostenlose Schnittstelle, über die Sie die Wetterdaten abrufen.

Nachdem Sie erfolgreich ein Projekt angelegt haben, sehen Sie es in der Übersicht. Wichtig hierbei ist der Ihnen zugewiesene Projekt API Key: Ihn benötigen Sie später, um sich gegen die Schnittstelle zu authentifizieren.

Display ansteuern

Um das Nokia-Display anzusteuern, gibt es zwar verschiedene C-Bibliotheken im Netz, aber im Test ließ sich keine einzige für Java finden. Daher kam im Test die vorhandene freie C-Bibliothek zum Einsatz, die nach Java übersetzt wurde [6]. Sie liegt auf der Heft-DVD im Verzeichnis LU/wetter/.

Die Bibliothek ist nur so weit übersetzt, wie für das kleine Projekt erforderlich. Das Original bietet einiges mehr an Funktionen. Der nicht übersetzte Quellcode ist auskommentiert, aber in der Bibliothek noch vorhanden. Falls Sie eine dieser Funktionen verwenden möchten, übersetzen Sie sie einfach noch einmal in Java.

Die Hardware für das Ansteuern des Displays lässt sich leicht aufbauen, da das LCD mit den 3,3 Volt der GPIO ohne Pegelwandlung zurechtkommt. Allerdings gibt es verschiedene Versionen des Nokia-Displays, die – wie sollte es anders sein – unterschiedliche Pin-Belegungen aufweisen.

Daher sollten Sie sich das Datenblatt des verwendeten Displays genau ansehen und sich beim Aufbau an den Namen der Pins orientieren, nicht an den Nummern. Die Tabelle “LCD an GPIO” zeigt, wie Sie das Display anschließen; in Abbildung 2 sehen Sie den Testaufbau.

LCD an GPIO

LCD-Pin

GPIO-Pin

Funktion

GND

P06

GND

VCC

P01

3.3V

CLK

P11

GPIO0

DIN

P12

GPIO1

D/C

P13

GPIO2

CS

P15

GPIO3

RST

P16

GPIO4

LED

P01

3.3V

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben