RasPi/Netzwerk-Clienten per Webbrowser steuern

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Ihr,

    ich habe mir mal wieder etwas gedacht. Da wir die RasPis bei uns im Haus als "Stand alone" einfach mit Monitor nutzen, ist es nicht einfach mal so für den Laien möglich einen neustart ect. durchzuführen. Daher habe ich mir gedacht eine Website zu basteln die dies dann umsetzen soll. Habe mal einen kleinen Entwurf wie das ganze bis jetzt aus sieht:

    Eigentlich keine große herausforderung. Aber anscheinend schon da ich in PHP noch recht neuling bin HTML nicht so. Es soll eigentlich einfach wenn man auf den Auftrag bsp. "Browser neustarten" klickt ein sh Skript ausgeführt werden welches dies dann mach. Im Terminal so funktioniert das Skript auch nur leider nicht wenn ich dies in php per

    PHP
    <?php
     echo exec('script.sh');
     ?>

    einfüge. Wahrscheinlich ist der Code auch nicht der richtige dazu. Hatte aber auch schon andere ausprobiert leider alle ohne erfolg. Das Skript liegt auch im selben ordner wie die php datei.

    Die ganze Website läuft dann auf dem "RaspberryPi Küche". Wenn dann aber bsp. der RaspberryPi Wohnzimmer neugestartet werden soll müsste ja erst eine SSH verbindung o.ä zu diesem Aufgebaut werden. Dies dachte ich auch über ein sh Skript lösen zu können doch leider scheitere ich daran dass die SSH Verbindung ja ein Passwort benötigt...

    Habt Ihr vielleicht ein paar Tipps für mich?

  • Es gibt die Möglichkeit für eine Verbindung über SSH Keyfiles zu generieren. Dann bräuchtest du kein Passwort mehr für die Verbindung. Wie das genau funktioniert lässt sich sicher rausfinden. ich habe es bisher noch nie gebraucht.

    Einen Befehl kannst du direkt an den SSH Befehl anhängen.

    Code
    ssh [server] [keyfilegeraffel] "sudo shutdown -r now"


    Code
    ssh [server] [keyfilegeraffel] "deinscript.sh"


    Das nur als Beispiel. Wie genau man die Keyfiles nutzt kann ich dir dir wie gesagt nicht sagen. Deswegen steht dort auch keyfilegeraffel als Platzhalter

    Diesen Befehl müsst du dann mit php über die funktion exec oder shell_exec aurufen.

  • Du kannst über PHP auch eine direkte SSH-Verbindung aufbauen, wenn der Ziel-Raspi eindeutig identifizierbar ist (z.B. über statische IP).

    Du kannst per PHP mitteilen: Verbinde Dich per SSH mit dem Raspi "Wohnzimmer", logge Dich dort ein, führe gewünschte Befehle aus, beende die Verbindung und teile mit was draus geworden ist.

    Eine gute Anleitung dazu findest Du bei Kevin van Zonnefeld unter
    Make SSH-connections with PHP

    Beispiel-Code aus dem o.a. Artikel über SSH Verbindung mit PHP:

    Frohes Schaffen, Dirku :)

    Einmal editiert, zuletzt von Dirku (10. Dezember 2013 um 15:59)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!