In der heutigen Vorlesung wollen wir uns mit der Programmierung eingebetteter IoT-Anwendungen für den Raspberry Pi mit passendem Server-Backend beschäftigen. Hierzu habe ich wieder einmal umfangreiche Überarbeitungen an den Projektunterlagen vorgenommen, die in den nächsten Tagen noch komplettiert werden. Fange Sie deshalb damit an, sich erst einmal sämtliche neuen Unterlagen aus den Blog zu besorgen.

Aufgabe 1: Installation der Werkzeuge

  • Skript Kapitel 2: Installation von VirtualBox und der VM
  • Skript Kapitel 3: Installation der Java Entwicklungswerkzeuge

Aufgabe 2: Aktualisieren der Konfigurationsdateien

  • Lade dir die neue Version der Datei VirtualBox.zip herunter und ersetze alle mit der VM geteilten Dateien mit ihrem Inhalt.

Aufgabe 3: Bauen einer ersten Firmware

  • Aufgabenblatt „Einstieg in Linux“, Aufgabe 4: Stelle sicher, dass alle Werkzeuge funktionieren, indem du einmal mit Debootstrap ein Linux-Image für den Pi erzeugst. (Skript Kapitel 4.2)
  • Schreibe des Image auf eine SD-Karte und versuche, den Pi damit zu starten. Unter Windows kannst du den „Win 32 Disk Imager“ verwenden, unter Linux das Programm „dd“. Unter macOS weiß ich es nicht. 🙂

Aufgabe 4: Java integrieren

  • Lade dir von https://www.bell-sw.com/java.html das richtige Java-Paket für RaspberryPi (slim-Variante) herunter und lege die TAR.GZ-Datei im debian-Verzeichnis ab.
  • Skript Kapitel 5.1: Kommentiere alle auskommentierten Zeilen am Ende der Datei debian/image.config ein, um Java und WiringPi in die Firmware zu integrieren.
  • Baue ein neues Firmware-Image und starte den Pi damit
  • Melde dich am Pi an und versuche, den Befehl „/opt/jdk/bin/java -version“ auszuführen. Es sollte die Javaversion angezeigt werden.

Aufgabe 5: Cross-Entwicklung und Remote Debugging

Dieser Teil fehlt im Skript leider noch. Lade dir aber die verschiedenen Beispiel-Quellcodes für den Pi aus dem Blog und versuche, diese zum Laufen zu bringen. Hierfür musst du folgendes beachten:

  • Der Pi muss mit einem LAN-Kabel mit deinem Laptop verbunden sind.
  • Dein Laptop benötigt die statische IP-Adresse 192.168.99.1/24. Wie du sie setzt, hängt von deinem Betriebssystem ab.
  • Die IP-Adresse des Pi lautat 192.168.99.99. Diese musst du in der pom.xml der Beispiele noch ergönzen.
  • Wählen in NetBeans oben die Konfiguration „debug-on-pi“ aus und führe ein „Clean and Build“ aus. Wenn alles gut geht, sollte die Anwendung auf den Pi übertragen und dort gestartet werden.
  • Zum Debuggen musst du in NetBeans den Menüeintrag „Debug -> Attach Debugger“ auswählen. Die Verbindungsart ist „Socket“ und die Port-Nummer auf dem Pi ist 8000.

Fange mit den Projekten in folgender Reihenfolge an:

  • Beispiel zum Remote Debugging
  • Beispiel zur Nutzung von GPIO (wenn du zwei LEDs, zwei Widerstände und einen Schalter hast)
  • Beispiel für eine IoT-Anwendung für den Pi
Einstieg in die IoT-Programmierung