- Richten Sie Raspbian ein, entweder auf einem Raspberry Pi oder in einer virtuellen Maschine.
- Richten Sie eine Internetverbindung für dieses Gerät ein.
- Richten Sie einen Webserver (z.B. Apache) ein.
- Konfigurieren Sie den Webserver derart, dass unten stehendes CGI-Skript ausgeführt werden kann.
- Testen Sie den Zugriff auf das Skript.
Geben Sie in Moodle eine Beschreibung aller Installationsschritte an, die Sie durchgeführt haben (z.B. Kommandos, die Sie ausgeführt haben und Textzeilen, die Sie in Konfigurationsdateien geschrieben haben). Berichten Sie die Ausgabe der Webseite.
Hier das CGI-Skript
#!/bin/sh
echo "Content-type: text/plain"
echo
env|sort
Schreiben Sie ein C-Programm, um eine LED an einem GPIO-Port auf einem Raspberry Pi ein- oder auszuschalten. Verwenden Sie dazu GPIO devices (/dev/gpiochipNNN). Verwenden Sie nicht das sysfs (/sys/class/...)
Falls Sie einen physischen Raspberry Pi benutzen: Schließen Sie die LED mit einem Vorwiderstand an einem GPIO-Port des Raspberry Pi an.
Die Device-Schnittstelle ist z.B. in diesem Artikel beschrieben. Obwohl es möglich ist, diese Gerätedateien direkt über ioctl-Aufrufe zu bedienen, wird der Zugriff über libgpiod empfohlen. Für bestimmte an einen GPIO-Port angeschlossene Geräte (insbesondere LEDs) gibt es spezifische Treiber (die dann z.B. über /sys/class/leds verfügbar sind). Sie können diese Treiber zum Test Ihres Aufbaus verwenden; die eigentliche Lösung der Aufgabe sollte trotzdem libgpiod verwenden.
- Verbinden Sie einen Sensor (z.B. DHT11) mit einem GPIO-Port des Raspberry.
- Schreiben Sie ein CGI-Skript, das den Sensor-Wert als HTTP-JSON-Antwort ausgibt.
- Schreiben Sie eine Webseite, die den aktuellen Sensorwert (z.B. die Raumtemperatur) anzeigt und per AJAX regelmäßig (z.B. alle 5s) aktualisiert.