Neustart und Herunterfahren des Raspberry Pi mit Python
In diesem Beitrag zeige ich dir, wie du deinen Raspberry Pi aus einem Python-Programm heraus neu starten oder herunterfahren kannst. Bei dem im Video gezeigten Beispiel handelt es sich um eine Erweiterung der Dateien aus dem letzten Beitrag “Web zu UART Terminalprogramm auf dem Raspberry Pi“. Die Befehle werden in diesem Fall per Websocket vom Browser an das Python-Programm übergeben, du könntest natürlich genauso gut einen Schalter abfragen und die Befehle entsprechend anwenden.
Erweiterung der HTML-Datei
Ich habe die Datei terminal.html um den folgenden HTML-Code erweitert, um die beiden Schaltflächen anzuzeigen.
1 2 3 4 5 6 |
<br /><br /> <div id="button-x" class="button-auswahl"> <button uart-wert="shutdown" id="button1">Herunterfahren</button><br /><br /> <button uart-wert="reboot" id="button2">Neustart</button> </div> |
Den JavaScript-Code für das Websocket und die damit verbundene Datenübergabe an das Python-Programm habe ich um folgende Funktion erweitert.
1 2 3 4 5 |
$('.button-auswahl button').click(function(evt) { var button = $(this); var message = button.attr('uart-wert'); socket.send(message); }); |
Erweiterung des Python-Programms
Das Python-Programm habe ich um folgende if-Abfragen in der Funktion “def on_message(self, message):” erweitert.
1 2 3 4 5 6 7 8 9 10 11 |
if message == "shutdown" : print "RasPi Herunterfahren" ser.close() os.system("sudo shutdown -h now") sys.exit() elif message == "reboot" : print "RasPi Neustart" ser.close() os.system("sudo shutdown -r now") sys.exit() else: |
Ergänzung und Aktualisierung zum 10.09.2023
In meinem Beitrag “Python WebSockets mit Tornado auf dem Raspberry Pi: Schritt-für-Schritt-Anleitung” erfährst du mehr über das hier verwendete Tornado-Framework und dessen Einrichtung.
Wenn du dir das Abtippen oder Kopieren des Codes sparen möchtest, steht dir der Code des mit diesen Erweiterungen in einer ZIP-Datei zum Download bereit.
Gib im Terminal folgenden Befehl ein, dieser lädt die ZIP-Datei auf deinen Raspberry Pi herunter.
1 |
wget https://webnist.de/downloads/terminal_mit_erweiterung.zip |
Kleiner Hinweis, alle Kommentare werden moderiert.
Dies bedeutet, der Kommentar wird vor der Veröffentlichung durchgelesen und von mir geprüft. Auch behalte ich mir vor, jeden Kommentar zu löschen, der nicht direkt auf das Thema abzielt oder nur den Zweck hat, Leser oder Autoren herabzuwürdigen.