Zum Inhalt

PiControl

PiControl ist eine leistungsstarke App, mit der Sie Ihren Raspberry Pi von jedem Webbrowser aus fernsteuern können.

Diese Seite gibt Ihnen einen Überblick über die PiControl-App.

PiControl

Sie werden feststellen, dass standardmäßig drei Befehle für Ihren Raspberry Pi enthalten und sofort verfügbar sind. Mit PiControl können Sie Ihren Raspberry Pi ausschalten, neu starten und den PiCockpit-Client aktualisieren.

PiControl

Anpassen von PiControl

Was PiControl besonders nützlich macht, ist, dass es auch anpassbar ist.

Sie können ganz einfach und sicher Ihre eigenen Befehle definieren, indem Sie JSON-Dateien auf Ihrem Raspberry Pi bearbeiten.

Hier sind Anweisungen für Benutzer, die keine Erfahrung mit der Befehlszeile haben.

Wenn Sie wissen, wie man die Befehlszeile verwendet, finden Sie es möglicherweise einfacher und schneller, die Datei zu erstellen und mit Nano oder Vim zu bearbeiten.

Wenn nicht, werden wir die Schritte hier durchgehen.

Zuerst müssen Sie den Dateibrowser im Superuser-Modus öffnen (dieser Schritt schützt Ihre PiCockpit PiControl-Konfigurationsdateien vor Benutzern oder Anwendungen, die sie manipulieren möchten).

Klicken Sie auf das Raspberry Pi OS-Menü und hier auf den Befehl "Ausführen ...".

Es erscheint ein Feld mit der Aufschrift "Geben Sie den auszuführenden Befehl ein:". Geben Sie sudo pcmanfm ein und klicken Sie auf OK.

Ein neues Fenster öffnet sich und zeigt Ihnen den Inhalt des Verzeichnisses /home/<Benutzer> an.

Das Warnsymbol oben links auf dem Bildschirm zeigt an, dass Sie sich im Superuser-Modus befinden. Ganz oben rechts möchten Sie zum folgenden Verzeichnis navigieren:

/etc/picockpit-client/apps/com.picockpit/picontrol/modules

Klicken Sie mit der rechten Maustaste in den leeren Bereich neben den vorhandenen Dateien und wählen Sie "Neue Datei ...".

Nennen Sie die neue Datei "ssh-server.json".

Jetzt müssen Sie mit der rechten Maustaste auf die neue Datei klicken, um das Kontextmenü aufzurufen. Wählen Sie "Geany".

Sie sehen jetzt die neue Datei, die wir gerade erstellt haben. Im Moment ist sie jedoch leer.

Lassen Sie uns zwei neue Befehle erstellen, einen zum Herunterfahren des SSH-Serverdienstes und einen zum Starten. Geben Sie Folgendes in das Textfeld in Geany ein:

{
  "name": "SSH commands",
  "icon": "mdi-ssh",
  "handle": "ssh",
  "description": "Control the SSH server",
  "commands": {
    "ssh-stop": {
      "name": "SSH Server off",
      "icon": "mdi-server-minus",
      "description": "Shuts the SSH service down",
      "confirm": true,
      "user": "root",
      "command": ["service", "ssh", "stop"]
    },
    "ssh-start": {
      "name": "SSH Server on",
      "icon": "mdi-server-plus",
      "description": "Starts the SSH service",
      "user": "root",
      "command": ["service", "ssh", "start"]
    }
  }
}

An diesem Punkt sollten wir die Datei speichern. Dies können Sie über das Dateimenü von Geany tun, zum Beispiel durch Auswahl von "Speichern" oder durch Drücken von Strg + S.

Zu diesem Zeitpunkt sind unsere neuen Befehle noch nicht im Webinterface erschienen.

Dafür müssen Sie den PiCockpit-Client neu starten.

Klicken Sie erneut auf den Befehl "Ausführen ..." im Raspberry Pi OS-Menü und geben Sie sudo service picockpit-client restart in das Fenster ein, bevor Sie auf OK klicken:

Werfen Sie nun einen Blick auf Ihr PiControl-Webinterface:

Wenn Sie alles korrekt eingegeben haben, werden die neuen SSH-Server-Befehle angezeigt. Wenn Sie einen Fehler in Ihrer JSON-Datei gemacht haben (zum Beispiel wenn Sie eine geschweifte Klammer vergessen haben), ignoriert PiCockpit die "fehlerhafte" Datei einfach.

Sie können die Befehle jetzt ausprobieren.

Herzlichen Glückwunsch! Sie haben gerade Ihren eigenen Satz von Befehlen erstellt, die Sie über die Web-Oberfläche ausführen können.

Bleiben Sie auf der Seite, während Sie Befehle ausführen. Der Status wird gelöscht, wenn Sie die Seite verlassen. Um festzustellen, ob der SSH-Server läuft, könnten Sie einen Test auf unserer PiDoctor-App durchführen.

PiControl dient ausschließlich zur Ausführung von Remote-Aktionen auf Ihrem Raspberry Pi.

Denken Sie daran, den PiCockpit-Client neu zu starten, wenn Sie neue Befehle hinzufügen oder vorhandene Befehle aktualisieren.

Sie können auch Befehle entfernen, die Sie nicht haben möchten. Wenn Sie beispielsweise die Möglichkeit entfernen möchten, Ihren Raspberry Pi remote herunterzufahren, können Sie die core.json-Datei bearbeiten.

JSON-Syntax von PiControl

Die Datei konfiguriert ein neues Modul für PiControl.

Wie bereits erwähnt, hat sie eine .JSON-Syntax. Daher müssen Sie sicherstellen, dass Sie geschweifte Klammern korrekt öffnen und schließen, wie im obigen Beispiel dargestellt.

Es gibt einen Kopf, der das Modul selbst konfiguriert, und die Befehle (im Abschnitt "commands"). Sie haben einige gemeinsame Einträge:

name

Die Einträge "name" sind menschenlesbare Namen, die Ihnen in der Web-Oberfläche angezeigt werden.

icon

Die Einträge "icon" sind optional, um Ihre Schaltflächen und Module zu dekorieren. Dies sind Namen von Material Design Icons, zum Beispiel "mdi-ssh".

Sie können hier eine vollständige Liste von Material Design Icons einsehen. Kopieren Sie einfach den Namen des Icons (einschließlich des mdi- am Anfang).

description

Die Einträge "description" sind optional und ermöglichen es Ihnen, etwas mehr Informationen für den Befehl oder das Modul hinzuzufügen.

handle

Der Eintrag "handle" ist explizit für das Modul und muss eindeutig unter den Modulen sein. Im Fall der Befehle ist der Handle implizit.

Sie können alles als Handle wählen, solange es nicht die Zeichen "/", "+", "$", "*" enthält. Ich empfehle, sich an einfache ASCII-Zeichen in Kleinbuchstaben zu halten und das "-" zu verwenden. Das Handle lautet erforderlich.

Ihre Datei kann übrigens einen anderen Dateinamen haben als das Handle - ich empfehle Ihnen, zumindest verwandte Namen für den Dateinamen und das Handle zu verwenden, damit Sie die JSON-Datei des Moduls auf Ihrer Festplatte leicht identifizieren können.

Die Befehle werden in das Verzeichnis "BefehleBlock" und haben zusätzliche Konfigurationsmöglichkeiten:

confirm

Wenn "confirm" vorhanden ist und auf true gesetzt ist, zeigt das PiControl-Webinterface vor dem Ausführen des Befehls einen Bestätigungsdialog an. Dies ist nützlich, um sicherzustellen, dass "gefährliche" Befehle nicht versehentlich durch eine Berührung oder Klick ausgeführt werden.

user

Wenn "user" vorhanden ist, wird der Befehl als dieser bestimmte Benutzer ausgeführt (in unserem Beispiel als root, um sicherzustellen, dass ausreichende Berechtigungen vorhanden sind).

Wenn Sie GPIO-Befehle ausführen oder Videos mit omxplayer abspielen möchten, müssen Sie Ihrem neuen Benutzer möglicherweise zusätzliche Berechtigungen geben. Der Benutzer "pi" hat standardmäßig diese erforderlichen Berechtigungen. Normalerweise werden diese Berechtigungen durch Hinzufügen des Benutzers zu einer speziellen Gruppe festgelegt.

command

Dies ist der tatsächliche Befehl, den Sie auf Ihrem Raspberry Pi ausführen sollten. Beachten Sie, dass Sie im Befehl im Vergleich zur Ausführung in der Befehlszeile die Leerzeichen ersetzen müssen. Zum Beispiel sollte

service ssh start

geschrieben werden als:

["service", "ssh", "start"]

PiControl unterstützt auch das Verketten einer Sequenz von Befehlen (zum Beispiel die übliche apt-get update && apt-get upgrade-Sequenz). Schauen Sie sich core.json für ein Beispiel dafür an, wie das gemacht wird.

Zusätzliche Hilfe

Wenn Sie Fragen haben oder auf Probleme stoßen, zögern Sie nicht, uns zu kontaktieren und wir helfen Ihnen, PiControl zum Laufen zu bringen!