Raspberry Pi Skripte über Weboberfläche und Smartphone App ausführen

(Last Updated On: 4. Januar 2016)

In meiner neuen Blogkategorie Raspberry Pi sammle ich interessante Projekte für zu Hause und allgemein für die IT-Administration, die mit dem Raspberry Pi zu tun haben. Beispielsweise habe ich Ihnen vor einigen Tagen gezeigt, wie Sie Ihren Raspberry Pi als Netzwerkkamera oder auch als Multi-Room-HiFi-Station nutzen. Es folgen noch Beiträge zum Fernsteuern von Beleuchtung, Stromversorgung (Steckdosen), Rollläden, Garagentore und Fenstern.

Wenn Sie dranbleiben und irgendwann all meine Projekte durchgearbeitet haben, werden Sie sich irgendwann die Frage stelllen, wie Sie denn simpel und einfach die einzelnen Funktionen, die Sie nun implementiert haben, von einem einzigen Gerät aus, beispielswiese einer Fernbedienung, steuern. Es hat ja durchaus seinen Reiz, wenn man allein mit einer Fernbedienung sein gesamtes Haus fernsteuern kann. Welches Geräte wäre dafür besser geeignet als Ihr Smartphone?

falls Sie noch kein Projekt für den Raspberry Pi implementiert haben, empfehle ich Ihnen, erstmal das in Angriff zu nehmen. Eine Fernsteurung des Raspberry Pip über das Smartphone macht schließlich erst dann Sinn. Sie sollten den Raspberry Pi dann auch fertig eingerichtet haben, wie in meinem Post einen Raspberry Pi einrichten – So geht’s erklärt.

Ist Ihr Pi dann bereit, müssen Sie erstmal das Software Repository hinzufügen, um raspctl später herunterladen und installieren zu können. Dazu fügen wir erst den GnuPG Key des Entwicklers hinzu und dann das Repository selbst.

wget debrepo.krenel.org/raspctl.asc
cat raspctl.asc | sudo apt-key add -
echo "deb http://debrepo.krenel.org/ raspctl main" | sudo tee /etc/apt/sources.list.d/raspctl.list
sudo apt-get update && sudo apt-get install raspctl

Jetzt können Sie die Weboberfläche auf Ihrem Smartphone oder einem anderen Gerät mit einem Webbrowser über http://<IP-Adresse oder hostname raspberry pi>:8086 aufrufen. Der Standardnutzer heißt admin mit Passwort admin.

Als erstes gehen Sie im Menü auf configuration / Authentication und ändern dort das Kennwort für den User admin.

Danach können Sie in der Sektion Commands Kommandos festlegen, die Sie über die Weboberfläche ausführen wollen. Das können beispielsweise Skripte zum An- und Ausschalten von  Glühlampen, Steckdosen oder HiFi-Radios sein, die Sie den entsprechenden projektspezifischen Blogposts entnehmen können. Sie können hier leider keine kommandos ausführen, bei denen der User nach dem Ausführen des kommandos noch was eingeben muss (z. B. ein Passwort). Sie müssen zusätzlich daarauf achten, dass Sie den vollen Pfad zu irgendwelchen Tools eingeben. DAs kommando raspistill, welches Sie als User pi in der linux-Shell eingeben können, wird nicht funktionieren, wenn Sie es in der Weboberfläche so einstellen. Sie müssen den vollen Pfad zu der raspistill-binary eingeben. Sie sollten alle kommandos über ein anschließendes &-Zeichen am Ende der Befehlszeile im Hintergrund ausführen lassen.

Die kommandos, die Sie in der Commands-Sektion festlegen, bestehen aus drei Elementen. Das Class-Element gruppiert Befehle, die bestimmte Eigenschaften Teilen. Sie können beispielswiese eine Class mit dem Namen Backup machen für alle Befhele, die mit Backups zu tun haben. DAs Action Element ist sozusagen die Etikette, die beschreibt, was ein kommando macht. Deshalb sollten Sie hier Namen wie beispielsweise Steckdose_Wohnzimmer_Einschalten geben. Das Command-Element letztendlich enthält die Befehlszeile selbst, die Sie nach den oben erläuterten Merkmalen erstellen sollten.

Die erstellte Befehlszeile können Sie nun bereits in der Weboberfläche ausführen, indem Sie auf den Launch-Button drücken. Sie können aber auch eine URL aufrufen im Format

http://<Hostname oder IP raspberry Pi>:8086/execute?class=<Klassenname>&action=<Name Action-Element>

Jetzt da Sie wissen, dass Sie mit dem aufurf einer URL beliebige Befehle auf Ihrem Raspberry Pi abrufen können, können Sie sicha fu dem Pi oder auf einem anderen Gerät noch einen weiteren Webserver installieren, z. B. den Apache. Dort richten Sie dann eine Website ein mit Links zu den einzelnen Befehlen. Diese Links können Sie auf Icons setzen, so dass Sie einfach nur noch mit dem Finger auf ein Bild drücken, um bestimmte Befehle wie Lampe ein/aus auszuführen. in die Erstellung der Seite gehe ich jetzt an dieser Stelle nicht weiter ein, aber die notwendigen HTML-Kenntnisse sind mit etwas Google-Expertise schnell erworben. Nun können Sie von jedem beliebigen Gerät, vor allem aber von Ihrem Smartphone aus, einfach diese Website mit den Icons aufrufen und die jeweiligen Befehle darüber ausführen.

Alternativ: ausführen von Raspberry Pi Skripten über Smartphone-App

anstatt die Befehle über raspctl auszufürhen, können Sie auch eine smartphone-App verwenden. Für Apple iOS installieren Sie sich beispielsweise SimpleSSH (1.99 US$ im App Store). Auf der App erstellen Sie Kommandos, die Sie dann ganz einfach per Fingerdruck auf dem Gerät ausführen können.

Für Android gibt es extra für den Raspberry Pi die App Raspberry SSH Lite. Acuh hier legen Sie vorher Befehle und buttons fest, die Sie dann wie über eine Fernbedienung auslösen können.

 

 

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren...

Kommentar verfassen

This site uses Akismet to reduce spam. Learn how your comment data is processed.