Vertretungsmonitor im Eigenbau

Wir haben uns einen Vertretungsplan-Monitor in Eigenregie gebaut, der den bisherigen Schaukasten ablöst. Dabei ist eine sehr preisgünstige Lösung herausgekommen. Mit reinen Materialkosten um die €1500,- (etwa ein Viertel des Preises kommerzieller Angebote) ist dabei folgendes entstanden:


Vertretungsplanmonitor

Raspberry Pi hinter Monitor
Raspberry Pi hinter Monitor

Linux bootet
Linux bootet

Der Desktop
Der Desktop

Die Startseite im Browser
Die Startseite im Browser

erste Seite
erste Seite

zweite Seite
zweite Seite

Übergangsphase mit Schaukasten
Übergangsphase mit Schaukasten

Der Clou: Raspberry Pi

Der Monitor selbst ist ein handelsüblicher Flachbild-Fernseher, in unserem Fall ein Modell von Sharp mit einer Bildschirmdiagonale von 152cm (60 Zoll). Für das Bild sorgt ein sehr günstiger Kleinstcomputer (Raspberry Pi), der einen Browser im Vollbild auf dem Fernseher anzeigt. Dieser Kleinstcomputer versorgt sich über ein USB-Kabel vom Fernseher mit Strom, sendet sein Bild über HDMI an selbigen zurück und holt sich seine "Internetseite" von einem hausinternen Webserver über das schulinterne Netzwerk.

Der Fernseher wird über eine gewöhnliche Zeitschaltuhr montags bis freitags zwischen 07:00 Uhr und 17:30 Uhr eingeschaltet, woraufhin der Computer dahinter hochfährt und die Anzeige generiert.

Die Daten: PG-CMS

Da für unsere tagesaktuellen Stundenplanseiten Vertretungsdaten ohnehin schon digital vorliegen, können diese vom hausinternen Webserver als selbst ablaufende Anzeige zu einer Art Internetseite zusammengestellt werden, die sich der Computer hinter dem Monitor in den Browser lädt. Diese Anzeigeseiten werden auf dem Webserver gleich archiviert, sodass jederzeit nachvollziehbar ist, was jeweils auf dem Monitor als Informationen angezeigt wurde.

Fazit

Da der Raspberry Pi kein sehr leistungsstarker Computer ist, eignet er sich kaum für alltägliches Internetsurfen. Dazu ist die Zeit, die der Browser für das Aktualisieren der Anzeige benötigt, einfach unangenehm lang. Aber für eine statische Anzeige ohne Animationen, die im 20-Sekunden-Takt weiterschaltet, ist seine Leistung völlig ausreichend. Daher bewährt er sich im Alltag als unschlagbar günstiger Computer, sowohl in der Anschaffung, als auch im Verbrauch.

Der Flachbildfernseher war ein sehr günstiges Angebot eines örtlichen Elektronikdiscounters, dessen Bildqualität für ein Heimkino vielleicht nicht zu den Besten am Markt gehört, was für eine simple Monitoranzeige eines Vertretungsplans aber völlig bedeutungslos ist, sodass wir hier "den größten für das wenigste Geld" gekauft haben und nun sehr zufrieden sind.

Mittlerweile denken wir über eine zweite Anzeige nach, auf der wir zusätzliche hausinterne Ankündigungen oder Informationstafeln anzeigen möchten. Da wir einen vollwertigen PC als Anzeigegerät hinter dem Monitor einsetzen, der sich seine Seite von einem hausinternen Webserver holt, haben wir völlige Freiheit sowohl bei der inhaltlichen Gestaltung (standardisierte Webtechnologien), als auch bei der technischen Umsetzung wie die Informationen auf die Anzeige gelangen.

Für Nachahmer

Wer sich selbst einen solchen Kleinstcomputer zu einer solchen Anzeigemaschine einrichten möchte, kann hier nachlesen, welche Modifikationen für unsere Lösung notwendig waren.

Nach dem ersten Anschließen des Raspberry Pi startet ein bequemes Menü, in welchem man sich zuallererst das passende Tastaturlayout einstellen sollte (Deutsch-Deutsch). Anschließend stellt man ein, dass der Raspberry Pi den Benutzer "pi" automatisch anmeldet und eine Desktopsitzung startet. Zusätzlich ist es sehr empfehlenswert, die Erreichbarkeit über ssh zu aktivieren, falls man im laufenden Betrieb von einem entfernten Rechner aus den Raspberry Pi nachkonfigurieren bzw. fernsteuern will. Danach kann man auf der Kommandozeile weiter vorgehen.

Benötigte Programme

Auf der Kommandozeile kann man diese Programme mit folgendem Aufruf über eine aktive Internetverbindung nachinstallieren:

sudo apt-get install iceweasel unclutter x11-xserver-utils

Den Browser konfigurieren

Damit der Browser immer im Vollbild startet, braucht es ein Add-on namens "R-Kiosk", welches man über die entsprechenden Dialoge im Browser nachinstalliert. Danach muss man noch eine weitere Einstellung vornehmen, damit nach dem Zwangsausschalten durch die Zeitschaltuhr beim nächsten Browserstart keine Meldung über eine abgebrochene Browsersitzung erscheint. Im Dauerbetrieb ist ja keine Interaktion mit Maus oder Tastatur vorgesehen!

In der Adresszeile ruft man die Seite "about:config" auf und filtert nach "crash", um die folgende Einstellung auf "false" umzustellen: browser.sessionstore.resume_from_crash

Danach lädt man die Startseite (in unserem Fall ist es eine lokale HTML-Datei "file:///home/pi/pi-start.html") und stellt sie dauerhaft als solche ein.

Unsere Startseite ist selbstentwickelt und so beschaffen, dass sie über JavaScript Kontakt zum hausinternen Webserver aufzubauen versucht, um im Erfolgsfalle auf eine Seite dieses Servers weiterzuleiten.

Systemeinstellungen

Im Verzeichnis "/boot" des Raspberry Pi gibt es eine Textdatei namens "config.txt" mit Einstellungen für die Grafikausgabe, welche eventuell angepasst werden müssen. In unserem Fall kam es manchmal vor, dass der Monitor als Ausgabegerät nicht immer erkannt wurde. Daher brauchte es folgende zwei Einstellungen:

Autostart von Programmen

Der Raspberry Pi soll nach dem Starten des Desktops sowohl den Browser, als auch das Programm zum Verstecken der Maus automatisch starten. Zusätzlich soll er seinen Bildschirmschoner deaktivieren, da sonst nach einer gewissen Zeit ohne Maus- oder Tastatureingaben der Bildschirm schwarz wird. Außerdem soll er den Browser automatisch wieder starten, wenn dieser einmal abstürzen sollte (unser Raspberry Pi hat nur 256MB Arbeitsspeicher!). Zu diesem Zweck ist es am einfachsten, diese Dinge über ein kleines Shell-Script (bei uns steht es in "/home/pi/startup") zu erledigen, dessen Textinhalt so aussieht:

#!/bin/bash
#

# deactivate screensaver
xset s off
xset -dpms
xset s noblank

# hide mouse pointer
/usr/bin/unclutter -display 0:0 -noevents -grab

# (re)start browser
until (DISPLAY=:0 /usr/bin/iceweasel -purgecache);
do
    sleep 10
done

Damit dieses Script automatisch beim Hochfahren des Desktops gestartet wird, muss es zunächst als eine ausführbare Datei eingestellt werden (chmod +x startup). Zusätzlich braucht es eine weitere Datei in einem eventuell noch nicht vorhandenen Verzeichnis, welches man zuvor mit der Datei selbst anlegen muss: "/home/pi/.config/autostart/startup.desktop"

Hier der Textinhalt dieser Datei:

[Desktop Entry]
Name=Autostart
Comment=Internet Browser und Mausverberger
Exec=/home/pi/startup
Terminal=false
Type=Application
Categories=Internet;

Damit ist der Raspberry Pi fertig konfiguriert, um bei aktiver Stromversorgung in den Desktop zu booten und den Firefox-Browser im Vollbild zu starten.

Autor: Felix Riesterer.