Präsentation von Webseiten mit dem Raspberry Pi
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
58. UKW-Tagung Weinheim 2013 Präsentation von Webseiten mit dem Raspberry Pi Tobias Kaboth, DG2DBT dg2dbt@darc.de Einleitung Im täglichen Amateurfunkleben nutzt manche YL und mancher OM Webseiten mit Informationen welche sich dynamisch und automatisch ändern. Die Möglichkeiten sind zahlreich, z.B. können somit Clustermeldungen, interaktive Weltkarten mit Funkverbindungen / -ausbreitungen oder Wetterberichte dargestellt werden. Um diese Informationen ständig im Blick zu haben bietet sich ein kleines und stromsparendes Zusatzsystem, abgetrennt vom Hauptrechner und -monitor an, welches mit einem Raspberry Pi und einem TFT-Monitor in Wunschgröße realisiert werden kann. Je nach baulicher Ausführung ist ein handliches Gerät beim Fieldday und im Urlaub mit Internetanbindung dabei oder hängt im Bilderrahmen neben den Diplomen im Shack. In diesem Artikel wird die Installation und Konfiguration des Raspberry Pi auf Basis des Image Raspbian „wheezy“ (Stand 29.02.2013) dokumentiert, welches zum Download auf der Projektwebseite des Raspberry angeboten wird. Ein gewisses Grundverständnis mit einem Linuxsystem, auch mit dem Umgang auf einer Shell, ist hilfreich und setzt der Autor voraus. Ebenso zusätzliche Hardware wie ein stabilisiertes Netzteil (z.B. ein Mobileladegerät 5V / 1A) und einen Internetanschluß. Eine Tastatur und eine Maus ist lediglich bei der Installation und Konfiguration notwendig. Vorbereitung und Konfiguration beim ersten Booten Zuerst muß das Image von der Raspberry Projektwebseite geladen und auf eine SD-Karte installiert werden. Dieser Vorgang wird u.a. auf der Webseite http://elinux.org/RPi_Easy_SD_Card_Setup ausführlich dokumentiert und soll in diesem Artikel nicht weiter beschrieben werden. Die Gesamtinstallation paßt auf eine SD-Karte mit der Größe von 2GB aber der Speicherplatz wird schnell eng und schränkt gewisse Installationen ein. Beim Versuch des Autors, mit einigen wenigen weiteren Installationen (u.a. Mailserver), waren gerade noch 60 MB freier Speicherplatz übrig, wobei allerdings keine Pakete der Standardinstallation entfernt wurden. Im laufenden Betrieb wird dieser freie Speicherplatz durch das Schreiben von Systemlogdateien und einem ggf. konfigurierten Browsercache verringert. Aus diesen Gründen empfiehlt sich der Einsatz von Speicherkarten von mindestens 4GB. Beim ersten Start des Raspberry Pi sollte ein TFT-Monitor oder ein TV-Gerät am HDMI-Anschluß betrieben werden. Somit erkennt das System beim Booten das Sichtgerät und kann somit die Grafikkonfiguration vornehmen. Das Wechseln des Sichtgerätes ist später natürlich möglich. Auch hierbei wird beim Booten erkannt welche Parametrierung des Grafikmodus notwendig ist. Nach dem initialen Bootvorgang wird automatisch die Auswahl für die Grundkonfiguration gestartet. In diesem können Grundeinstellungen, nach den eigenen Bedürfnissen, für das Gesamtsystem vorgenommen werden. Ein Betrieb und die Konfiguration eines analogen Sichtgeräts ist möglich, wurde aber vom Autor nicht getestet. Für unser Projekt wählen wir folgende Einstellungen aus dem Konfigurationsmenu.
expand-rootfs Hierüber weisen wir den maximal verfügbaren Speicher der SD-Karte der Rootpartition zu. configure_keyboard Dies erleichtert die Eingabe über die Tastatur insbesondere bei Eingaben in der Shell. change_pass Es wird dringend empfohlen das Paßwort des Standardusers pi zu ändern. change_timezone Es ist hilfreich wenn nicht nur die Zeit über NTP automatisch gesetzt wird, sondern wenn auch die Zeitzone stimmt. Insbesondere, wenn in Logdateien gesucht werden muß oder um Cronjobs effektiv zu betreiben. ssh Wir aktivieren den SSH Zugriff über ein Netzwerk damit später auf das laufende System wenigstens per Textkonsole zugegriffen werden kann ohne eine Maus oder Tastatur am Raspberry anschließen zu müssen. Hierbei sollte Wert auf entsprechende Sicherheit gelegt werden. Beim Einsatz von Tastatur und Maus kann der Zugriff über SSH auch deaktiviert bleiben. boot_behaviour Hierüber konfigurieren wir das System so, daß automatisch die grafische Oberfläche für den User pi startet. Bei dieser Einstellung gibt es keine Aufforderung das Paßwort einzugeben. update Die gewählten Einstellungen werden nun aktiviert und das System startet. Andere Konfigurationen können nach Belieben, bzw. Anforderung eingestellt werden. Bei Bedarf kann das Konfigurationsprogramm später unter dem User root manuell aufgerufen werden. /usr/bin/raspi-config
Systemupdate Nach der Grundinstallation und Konfiguration bietet es sich an das System zu aktualisieren. Hierzu ist eine aktive Internetverbindung Voraussetzung. Folgende Schritte der Aktualisierung können als User root im LXTerminal ausgeführt werden. apt-get update apt-get -fy upgrade apt-get -y dist-upgrade apt-get -y autoclean apt-get -y autoremove Mindestens empfehlenswert sind die ersten zwei Eingaben mit der Ausführung von update und upgrade um die Paketindexdatei mit ihren Quellen zu synchronisieren und um die neuesten Versionen aller aktuell auf dem System installierten Pakete zu installieren. Für weitere Informationen wird das Studium der Manpage für apt-get empfohlen. Evtl. ist es notwendig das System anschließend zu rebooten (um ggf. einen neuen Kernel zu aktivieren). Die grafische Oberfläche LXDE startet nun automatisch. Browser starten Als nächstes soll der Browser automatisch starten. Wir nutzen den schlanken Webbrowser midori. Dieser ist bereits bei der Standardinstallation vorhanden. Für den automatischen Start legen wir im Homeverzeichnis des Users pi ein Verzeichnis scripts an (im LXTerminal mit dem user pi). cd /home/pi
mkdir scripts Nun erstellen wir in dem Verzeichnis /home/pi/scripts das folgende Shellscript Namens midori.sh (mit einem Editor eigener Wahl) . Quellcode: #!/bin/bash export DISPLAY=:0 while [ TRUE ]; do ps -ef | grep 'midori -e Fullscreen' | grep -v grep > /dev/null 2>&1 if [ $? -eq 1 ] ; then midori -e Fullscreen --display=:0 & else midori -e Reload fi sleep 3600 done Das Script läuft in einer Endlosschleife. Hierbei wird regelmäßig geprüft ob der Ausdruck „midori -e Fullscreen“ in der Prozeßliste gefunden wird. Falls nicht, wird der Browser im Vollbildmodus und als Hintergrundprozeß gestartet. Die Ausgabe wird auf das Standarddisplay ausgegeben. Wenn das Script erkennt, daß der Browser bereits läuft wird dieser angewiesen einen Reload durchzuführen. Dies kann bei Webseiten notwendig sein welche selbst keinen Reload durchführen. Es kann auch sein, daß der Refresh der Webseite nicht mehr funktioniert oder die Browseranzeige hängen geblieben ist. Standardmäßig ist eine Wartezeit von einer Stunde (3600 Sekunden) eingestellt, welche natürlich auf die eigenen Anforderungen geändert werden kann. Um den Browser im laufenden Betrieb (wenn keine Tastatur/Maus mehr angeschlossen ist, oder wenn das System zu weit entfernt steht) manuell neu zu starten reicht es aus sich per SSH auf das System zu verbinden und dann den entsprechenden Prozeß zu killen. Beispiel: pi@raspberrypi ~/scripts $ ps -ef | grep midori pi 2171 1 0 13:01 ? 00:00:00 /bin/bash /home/pi/scripts/midori.sh pi 2177 2171 5 13:01 ? 00:29:08 midori -e Fullscreen --display=:0 pi 3703 2414 0 21:54 pts/0 00:00:00 grep --color=auto midori pi@raspberrypi ~/scripts $ kill 2177 pi@raspberrypi ~/scripts $ Nach Ablauf der Wartezeit, welche im Script midori.sh angegeben ist, wird der Browser neu gestartet. Das Kontrollscript midori.sh kann nach Modifikationen manuell restartet werden, sowie die X-Displayausgabe nicht verändert wurde. Die Rechte des Scripts müssen noch gesetzt werden damit das Programm für den User pi ausführbar ist. chmod 744 ~/scripts/midori.sh Damit das Script automatisch ausgeführt wird muß es in der Autostart-Datei vom LXDE eingetragen werden.
Diese Datei existiert zu dem Zeitpunkt noch nicht, ebenso auch noch nicht das Verzeichnis in dem die Datei vorhanden sein muß. Wir legen erst (mit dem User pi) das Verzeichnis ~/.config/lxsession/LXDE/ an. mkdir -p ~/.config/lxsession/LXDE In dem erstellten Verzeichnis LXDE legen wir die Textdatei Namens autostart an, welche wie folgt aussehen sollte. /usr/bin/unclutter & /home/pi/scripts/midori.sh Wir erkennen in der Konfigurationsdatei auch den Aufruf des Programms unclutter. Dieses dient dazu bei Nichtaktivität den Mauszeiger nach ein paar Sekunden (Zeitspanne kann bei Bedarf konfiguriert werden) nicht mehr anzeigen zu lassen. Für einen Präsentationsmodus ist dies sehr empfehlenswert. Das Programm unclutter muß allerdings erst installiert werden. Per Standardinstallation wird nach einigen Minuten der Nichtaktivität der Bildschirm schwarz geschaltet. Für eine Präsentation müssen wir dies über den Bildschirmschoner deaktivieren. Deswegen installieren wir auch den Bildschirmschoner xscreensaver. Beide Programmpakete werden über folgenden Befehl mit dem User root installiert. apt-get install unclutter xscreensaver Es kann sein, daß mit der Laufzeit Probleme mit dem Browser auftreten, da dieser viel Speicher benötigt. Um das Risiko einer Fehlfunktion zu minimieren restarten wir den Browser z.B. jeden Montag Morgen um 05:00 Uhr. Hierzu erstellen wir folgenden Crontab (mit dem Befehl crontab -e) unter dem User pi mit dem wir den Browser hart killen. 0 5 * * 1 kill -9 `ps -ef | grep midori | grep Fullscreen | awk {'print $2'}` > /dev/null 2>&1 Nach Ablauf des Wartetimers im Script midori.sh wird der Browser automatisch gestartet. Screensaver konfigurieren Über das LXME-Menu Preferences wird der Screensaver gestartet und die Option „Mode: Disable Screen Saver“ ausgewählt.
Webbrowser midori konfigurieren Wir können nun den Webbrowser midori konfigurieren. Im einzelnen werden wir die URL, die Größe des Browsercache und die Browserkennung einstellen. Letztere würde (aufgrund eines Bugs) das System als einen Macintosh und nicht als ein Linuxsystem repräsentieren. Wir starten den Browser über die GUI von LXDE (vorausgesetzt er wurde noch nicht bei einem erneuten Reboot oder durch den manuellen Aufruf vom Script midori.sh gestartet) und konfigurieren folgende Menupunkte über den Aufruf von Preferences im Browser. Im Reiter Startup geben wir die URL ein die automatisch aufgerufen werden soll. Wir wählen die Einstellungen „Show Homepage“ und „use current page as homepage“ aus. Im Reiter Network passen wir den WebCache an. In dem Fall wurde er auf eine Größe von 10MB reduziert. Damit sich der Browser konform ausweist wählen wir noch „Identify as Midori“ aus. Die Daten werden automatisch gespeichert. Wir können das Menu Preferences verlassen und den Raspberry rebooten. Nun wird automatisch die Wunschwebseite im Vollbild angezeigt und regelmäßig aktualisiert.
Fazit Mit geringem Einsatz von Hard- und Software ist es uns gelungen, daß der Raspberry Pi beim einschalten bootet und automatisch die grafische Benutzeroberfläche LXDE aktiviert. Anschließend wird der Browser midori im Vollbildmodus gestartet. Dieser ruft eine gewünschte Webseite auf. Die Themenbereiche Netzwerk, Sicherheit und auch weitere Themen auf Betriebssystem- oder Applikationsebene, welche u.U. beim Betrieb eines solchen Systems betrachtet werden müssen, wurden absichtlich nicht in diesem Artikel behandelt, da die Ansprüche an diese Themen sehr individuell sein können. Hier verweist der Autor auf weiterführende Lektüre, welche im Internet oder Fachhandel zu finden ist. Quellenverweise http://www.raspberrypi.org/ Raspberry Projektwebseite http://elinux.org/RPi_Easy_SD_Card_Setup Installation des Images auf SD-Karte
Sie können auch lesen