Vor kurzem stand ich vor einen Projekt, welches auf einem RasPi im Webbrowser im Vollbildmodus lief.
Alles schien perfekt – die Webseite lief super, der User konnte – und sollte – (dank Vollbildmodus nicht ändern).
Aber moment?! Irgendwie sollte doch die Möglichkeit bestehen, den RasPi dennoch neu starten zu können oder herunterzufahren.
Lösung – Miniwebserver auf dem RasPi installieren, 2 kleine PHP-Skripte schreiben, Weblinks setzen – fertig.
Anbei die kurze Variante:
RasPi zunächst aktualisieren und anschließen den Mini-Webserver + PHP-Modul installieren:
sudo apt-get update && sudo apt-get install lighttpd php5-cgi
Anschließen die AddOns fastcgi + fastcgi-php im Webserver aktivieren:
sudo lighty-enable-mod fastcgi fastcgi-php
Damit der Webserver das auch mitbekommt, muss dieser neu gestartet werden:
sudo /etc/init.d/lighttpd force-reload
Nun noch dem Webserver „Benutzer“ erlauben, einen Shutdown auszuführen:
sudo visudo
Füge folgende Zeile unter „pi ALL etc.“ hinzu und beende den visudo editor:
www-data ALL = NOPASSWD: /sbin/shutdown
Erstelle nun in der HTML-Seite einen Link auf ein PHP-Script
sudo nano /var/www/index.html
Inhalt:
<html><a href="shutdown.php">Shutdown RasPi</a></html>
Erstelle nun die Datei /var/www/shutdown.php und füge folgenden Inhalt hinzu:
<?php system('sudo /sbin/shutdown -h now'); ?>
Anschließend lässt sich der RasPi über die HTML-Seite herunterfahren.
Um nun den RasPi auch neu starten zu können, einfach ein 2. PHP-Skript (restart.php) mit folgendem Inhalt machen:
<?php system('sudo /sbin/shutdown -r now'); ?>
Nun noch einen Link setzen (<html><a href=“restart.php“>RasPi neu starten</a></html>) – fertig.
Bei meinem Projekt habe ich das ganze statt Text über 2 Buttons mit Bilder gelöst – siehe:
Sieht (für mich) ganz gut aus 😉
Viel Spass beim testen …