Raspberry Pi als physikServer

Über die Digitalisierung von Schule wird immer wieder viel gesprochen. Aus meiner Sicht ist Digitalisierung sicher kein Allheilmittel. An vielen Stellen ist jedoch einerseits die Nutzung digitaler Geräte und Tools didaktisch begründet und bietet an vielen Stellen einen echten Mehrwert. Andererseits kann die Nutzung digitaler Tools auch im Fachunterricht einen Beitrag zur Medienbildung leisten. Unabdingbar ist dafür in vielen Fällen: Internetzugriff.

In unserer Schule ist die Situation im Hinblick den Internetzugriff im Grunde luxuriös: Lehrer haben per WLAN Zugriff auf das Internet, es gibt  eine Vielzahl von Laptops, die ebenfalls per WLAN auf das Internet zugreifen können. Allerdings ist die Bandbreite doch eher limitiert – und vor allem: Die SchülerInnen haben keinen eigenen Internetzugang. Zudem ist der Handyempfang im Gebäude nicht zuverlässig vorhanden, sodass eine Nutzung gängiger Onlinedienste mit eigenen Endgeräten nicht in großem Ausmaß umsetzbar erscheint – von der Problematik des verbrauchten Datenvolumens einmal ganz abgesehen.

Eine naheliegende Möglichkeit ist es, SchülerInnen mit eigenen Endgeräten den Zugang zu Onlinediensten über einen Hotspot zu ermöglichen. Allerdings taucht hier m.E. ein nicht zu unterschätzendes weiteres Problem auf: Wo die Daten dann im Einzelfall landen, ist nicht auf den ersten Blick ersichtlich. Zudem ist da noch immer die limitierte Bandbreite (egal, ob man nun einen eigenen LTE-Hotspot erstellt oder einen Rechner als Bridge ins Lehrernetzwerk einsetzen würde). Inspiriert vom Projekt „Teacher’s Helper“ für den Chemieunterricht und „lumi.education“ als interessantem Projekt für den Raspberry Pi 3 wollte ich selbst ein wenig basteln und umsetzbare Lösungen entwickeln, die die genannten Probleme vermeiden.

Aus verschiedenen Gründen habe ich mich gegen die Nutzung der beiden oben genannten Projekte entschieden: Der Teachers Helper ist speziell auf den Chemieunterricht zugeschnitten – und seine Anschaffung mit hohen Kosten verbunden. Lumi habe ich ausprobiert – allerdings lief es bei mir nicht zuverlässig und ich bin in node.js nicht so bewandert als dass ich mir die Anpassung an meine Bedürfnisse zutraue. Zudem: In meinen Augen ist es wünschenswert, dass SchülerInnen auch den Umgang mit Standard-Websoftware kennenlernen. Lumi bietet zwar großes Potential zur Individualisierung, steckt jedoch den Rahmen des möglichen zumindest derzeit noch recht eng. Also musste eine eigene Lösung her, die ich im Folgenden skizzieren (und zum Nachbau empfehlen!) möchte.

Das Softwaresetting

Da ich selbst seit Jahren mit PHP und MySQL arbeite – und WordPress für mich kein Neuland darstellt, erscheint mir ein klassisches LAMP-Setup auf dem Raspberry Pi mit einer laufenden WordPress-Installation als zielführender Ansatz. LAMP steht dabei als Abkürzung für Linux, Apache, MySQL und PHP, also das Betriebssystem des Pi, einen Webserver (Apache) mit Datenbank (MySQL) und dynamischer Programmiersprache (PHP).

WordPress ist schnell installiert und lässt sich durch eine Vielzahl an Plugins an die eigenen Bedürfnisse anpassen. Für den physikServer in meinen Augen besonders interessant sind hier h5p zur Erstellung digitaler Arbeitsblätter sowie die Möglichkeit, über Plugins wie Gamipress (das praktischer Weise direkt mit h5p kommunizieren kann, dazu später mehr!) Elemente von Gamification mit in den Unterricht zu transportieren (so man das möchte. Ich habe mich letztlich aus verschiedenen Gründen dagegen entschieden).

Darüber hinaus erscheint es sinnvoll, neben dem Blog für die Bereitstellung von Unterrichtsmaterialien auch Möglichkeiten der kollaborativen Textbearbeitung in den Server zu integrieren. Insbesondere MediaWiki wie auch Etherpad bieten sich hier an – auch unter mediendidaktischen Gesichtspunkten, indem der Umgang mit diesen Systemen explizit zum Lerngegenstand gemacht wird. Denn das Wichtigste ist: Durch das Erstellen eigener Blogposts, Wikieinträge, Hochladen eigener Lernprodukte uvm. bietet WordPress die Möglichkeit, die Nutzung gängiger Webtools aktiv und in den Fachunterricht eingebettet zu lernen. Über die Kommentarfunktion kann darüber hinaus unter Umständen auch ein Dialog der Lernenden untereinander über die Sache stattfinden.

Das Hardwaresetting

Ich nutze einen Raspberry Pi 3 mit entsprechendem Case und Stromversorgung. Dieser bietet den Vorteil, alle notwendigen WLAN-Komponenten direkt auf der Platine integriert zu haben. Somit lässt sich (später) über den Pi im Klassenraum ein eigenes WLAN aufbauen, auf das die SchülerInnen mit ihren eigenen bzw. auch schuleigenen Endgeräten zugreifen können.

Für die Einrichtung ist darüber hinaus ein funktionierendes Heimnetzwerk sowie ein weiterer Rechner mit SSH-Client (bei mir: Windows 10-Rechner mit Putty) hilfreich.

Installation

Die Installation nimmt einige Zeit in Anspruch, ist jedoch mit guten Anleitungen auch für Laien möglich. Im Folgenden möchte ich die einzelnen, von mir durchlaufenen Schritte stichwortartig nennen – und auf gute, ebenfalls von mir genutzte Tutorials verlinken.

  1. Zunächt muss der Pi in Betrieb gesetzt werden. Im Wesentlichen bedeutet dies: Auspacken, ggf. in das Gehäuse verbauen, ggf. Kühlelemente aufsetzen.
  2. Dann muss eine SD-Karte mit dem Betriebssystem vorbereitet werden. Ich nutze (aus Performancegründen) Raspbian lite, d.h. eine Version ohne installierten Desktop. Eine Anleitung zur Installation bietet Dennis Henss. ACHTUNG: Das Tastaturlayout muss – falls gewünscht – noch angepasst werden. Dies erfolgt ebenfalls in „raspi-config“.
  3. Um später auch vom Windowsrechner auf den Pi zugreifen zu können, muss noch WLAN sowie SSH konfiguriert werden. Eine Anleitung findet sich hier.
  4. Nun können Monitor und Tastatur vom Pi getrennt werden. Für die weitere Arbeit nutze ich meinen normalen Rechner – und logge mich per SSH mit Hilfe von Putty auf dem Pi ein.
  5. Per SSH lassen sich nun Apache, PHP und MySQL installieren. Empfehlenswert ist die Anleitung hier. ACHTUNG: Ich habe mich bewusst für die (aktuellere) PHP-Version 7 entschieden. Um diese anstatt der Version 5 zu installieren, sind einige Tricks notwendig.
  6. An dieser Stelle bietet es sich bereits an, eine zentrale Einstellung von PHP zu verändern. Hierzu öffnet man per
    sudo nano /etc/php/7.0/apache2/php.ini
    die Einstellungsdatei php.ini – und veränder den Wert bei MaxUploadSize auf mindestens 20 M (entspricht 20 MB – so lassen sich später auch größere Dateien hochladen).
  7. Bei der Einrichtung der Datenbank ist etwas vorsicht geboten. Als besten Weg hat sich (nach mehreren Fehlschlägen) erwiesen, sich zunächst mittels sudo mysql -u root -p auf dem MySQL-Server einzuloggen, einen neuen MySQL-Benutzer zu erstellen und ihm für eine neue Datenbank die notwendigen Rechte zuzuweisen. Ansonsten ist die unter Raspbian installierte MySQL-Version sehr „pingelig“ was den Login des Nutzers root per Webserver angeht.
  8. Nun geht es an die Installation von WordPress. Anschließend wird WordPress noch im Browser eingerichtet.
  9. Damit WordPress vernünftig funktioniert, sind die Apache-Module .htaccess und Mod_Rewrite hilfreich. Diese müssen aktiviert werden.
  10. Nun kann auch MediaWiki installiert werden. Wichtig ist hier, die Verzeichnisse für unsere Apache-Konfiguration im Unterschied zur Anleitung entsprechend anzupassen. Unser Verzeichnis des Apache liegt unter
    /var/www/html
  11. Um WordPress vernünftig nutzen zu können, bieten sich einige Plugins an. Hierzu loggt man sich als Administrator in WordPress ein – und installiert die folgenden Plugins:
    1. RDP Wiki Embed dient zur Kommunikation zwischen WordPress und MediaWiki. So lassen sich später Seiten aus dem Wiki direkt in „digitale Arbeitsblätter“ in WordPress einbinden – und (durch SchülerInnen) auch direkt über WordPress bearbeiten.
    2. WP User Manager dient der Benutzerverwaltung. Die SchülerInnen können sich so selbst registrieren. Das Plugin ist nur notwendig, wenn später z.B. mit Gamipress Elemente von Gamification integriert werden sollen.
    3. H5P zur Integration digitaler Arbeitsblätter (Lückentexte, Spiele, Lernvideos und vieles mehr).
    4. Comment-Attach, damit später auch SchülerInnen ohne Probleme Dateien in Kommentare einfügen und so eigene Lernprodukte hochladen können.
  12. Spätestens hier bietet es sich an, den erreichten Arbeitsstand zu sichern. Hierzu wird mit der Software Win32DiskImager über die Funktion „lesen“ ein Image der SD-Karte des Pi’s erstellt. So lässt sich der nun erreichte Stand jederzeit wieder herstellen. Wie das genau geht, ist hier beschrieben.
  13. Nun fehlt noch die Installation von Etherpad Lite als kollaborativer Texteditor. Die Installation von node.js ist recht einfach – wenn man dieser Anleitung folgt. Tipp: Um die Archive zu entpacken, lohnt sich die Installation von unp als Dateimanager:
    sudo apt-get install unp
  14. Nun lässt sich Etherpad lite entsprechend der Anleitung von Jan Karres installieren. Wichtig: Etherpad lite sollte auf einem anderen Port des Pi installiert werden als der Apache-Server (Standard: Port 80). In der Standardinstallation ist dies bereits korrekt eingestellt.
  15. Um nun den Pi auch als AccessPoint zu konfigurieren, der ein eigenes WLAN erzeugt, sind nur noch wenige Schritte notwendig. Wichtig: Zum Neustarten der im Tutorial installierten Services muss man sich (nach langer Zeit mal wieder…) direkt am Pi einloggen. Der Zugriff per WLAN ist in diesem Moment natürlich weg, da der Pi nun ein eigenes WLAN erzeugt.
  16. (Update 5.9.18): Für den Komfort ist es sicherlich hilfreich, wenn die SchülerInnen nicht immer mit der IP-Adresse des PI arbeiten müssen. Der Pi lässt sich unter einer beliebigen URL erreichbar machen. Hierzu nutzt man ebenfalls die bereits installierte Software dnsmasq:
    sudo nano /etc/dnsmasq.d/physik.server
    Erzeugt eine neue Datei. Der Titel der Datei ist die URL, unter der der PI später erreichbar sein soll. Der Inhalt der Datei ist der folgende:
    address=/physik.server/192.168.4.1
    address=/www.physik.server/192.168.4.1

    Beim nächsten Neustart sollte der Pi nun auch unter physik.server erreichbar sein.

Voila – der Pi ist nun ein eigener Access-Point und Server in einem. Über WordPress lassen sich Dateien und digitale Arbeitsblätter mit H5P erstellen, das Wiki dient zur gemeinsamen Sicherung und Ausarbeitung von Inhalten – und das Etherpad als zentrale Stelle für kollaboratives Arbeiten. Die SchülerInnen können sich mit ihren eigenen Endgeräten mit dem in Schritt 15 erzeugten WLAN-Netz verbinden und über die IP des Pi – (Update 5.9.) oder die in Schritt 16 angelegte URL – direkt auf den Server zugreifen.

Arbeit mit WordPress

(Update 08.09.2018) Dieser Beitrag versteht sich nicht als Einführung in WordPress. Für die Nutzung von WordPress ist allerdings ein wenig Hintergrundwissen sicherlich hilfreich. Eine gute Einführung ist hier zu finden.

Hilfreich ist eine weitere WordPress-Installation mit Internetzugriff. So lassen sich (siehe unten) H5P-Inhalte unkompliziert erstellen.

Die Erstellung von H5P-Inhalten

(Update 08.09.2018) Dynamische Inhalte von H5P lassen sich am einfachsten auf einer WordPress-Installation mit Internetzugriff erstellen. Hat der Pi nicht, z.B. über LAN, direkten Internetzugriff, so ist eine zweite WordPressinstallation bspw. auf dem eigenen Webspace hilfreich. Hier wird ebenfalls das H5P-Plugin installiert.

Nun werden H5P-Inhalte direkt auf der Zweitinstallation erstellt – und fehlende Bibliotheken automatisch nachgeladen. Diese Inhalte lassen sich nach dem Erstellen mit Hilfe des „Download“-Links am unteren Ende der dynamischen Inhalte herunterladen. Wechselt man nun auf den Pi und dort in den Menüpunkt „H5P-Inhalt“ im Dashboard, so kann man einen neuen Inhalt erstellen. Anstatt ihn auf dem Pi erneut zu erstellen, wählt man „Hochladen“ als Option, wählt die entsprechende Datei aus – und fertig.

ACHTUNG: Nutzt man bestimmte H5P-Inhalte das erste Mal, so müssen die entsprechenden Bibliotheken installiert werden. Dies klappt auf dem Pi sehr zuverlässig, indem man im Unterpunkt „Bibliotheken“ ebenfalls die zuvor erstellte H5P-Datei hochlädt.

Einbinden von PhET-Animationen

(Update 13.9.18) Die University of Colorado stellt eine ganze Reihe mal mehr, mal weniger guter Simulationen für verschiedene Bereiche der Physik und Chemie zur Verfügung. Diese lassen sich sehr einfach auch Offline nutzen.

Die entsprechende Datei wird heruntergeladen und in WordPress über „Medien hinzufügen“ eingefügt. Fertig, im Beitrag ist nun ein Link zur entsprechenden Animation sichtbar. Insbesondere die (immer zahlreicher werdenden) HTML5-Animationen von PhET sollten auf allen modernen mobilen Endgeräten funktionieren.

Beiträge für einzelne Klassen erstellen

Ich habe in WordPress für jede Klasse eine entsprechende Kategorie angelegt. Beiträge können nun direkt einer bestimmten Klasse zugeordnet werden, die einzelnen Kategorien lassen sich als Drop-Down-Liste als Widget anzeigen. So können die SchülerInnen direkt die für sie richtigen Inhalte finden. Darüber hinaus habe ich Links zum Wiki und zum Webserver direkt in das Hauptmenü der WordPress-Seite eingefügt.

Komfort erhöhen: Den Pi über den WordPress-Adminbereich steuern

(Update 08.09.2018) Im praktischen Einsatz ist es schön, wenn man den Pi auch ordentlich herunterfahren könnte. Dies immer über die SSH-Verbindung zu tun ist kompliziert und nervig. Abhilfe kann ein einfaches WordPress-Plugin schaffen (Eine gute Anleitung zu Plugins in WordPress findet sich hier). Dieses Plugin findest du hier zum Download. Der Inhalt des Zip-Archivs muss in das Verzeichnis „wp-content/plugins“ im Installationspfad von WordPress kopiert werden. Hierzu geht man wie folgt vor:

  • per FTP-Programm (z.B. Filezilla) eine SFTP-Verbindung zum Pi aufbauen und die gewünsche Datei hochladen. Sie landet nun im Verzeichnis /home/pi.
  • Per sudo mv wpPiAdmin.php /var/www/html/wp-content/plugins die hochgeladene Datei in das Plugin-Verzeichnis von WordPress verschieben.
  • Dem Webserver die Zugriffsrechte auf die Shutdown-Routine erlauben
  • Das Plugin im Dashboard von WordPress aktivieren. Es erscheint im Menü nun der Punkt „wpPiAdmin“. Über den Link lässt sich der Pi herunterfahren.

Weitere Plugins für WordPress installieren

(Update 08.09.2018) Sollte der Pi nicht über die Ethernet-Schnittstelle mit einem weiteren Netzwerk verbunden sein, so besteht nach der Einrichtung als Accesspoint kein Internetzugriff mehr. Um neue Plugins für WordPress zu installieren, müssen diese direkt von der WordPress-Webseite heruntergeladen werden. Das heruntergeladene Archiv wird dann wie oben beschrieben per SFTP auf den Pi übertragen und in das ebenfalls oben beschriebene Plugin-Verzeichnis von WordPress verschoben. Dort lässt es sich dann per unzip archiv.zip entpacken und im WordPress-Backend aktivieren.

Weitere Anmerkungen

Diese Anleitung ist Work-in-Progress. Ich werde mit der oben beschriebenen Konfiguration erste Unterrichtserfahrungen sammeln und darauf aufbauen die Anleitung in den nächsten Wochen Schritt für Schritt erweitern. Bei entsprechendem Interesse kann (später) ggf. auch eine Image-Datei zur Verfügung gestellt werden, die die fertig konfigurierte Software beeinhaltet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.