Mittels Webinterface den RasPi herunterfahren und/oder neu starten

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:

RasPi Control

RasPi Control

 

 

 

 

 

Sieht (für mich) ganz gut aus 😉

Viel Spass beim testen …