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.
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 |
|
|
VCC |
P01 |
|
|
CLK |
P11 |
|
|
DIN |
P12 |
|
|
D/C |
P13 |
|
|
CS |
P15 |
|
|
RST |
P16 |
|
|
LED |
P01 |
|





