Ulrich Hilger
..was mit IT
Startseite Programme Artikel und Tipps Demos Info

Anleitung Raspberry Pi Fernbedienung

 

 

Die Fernbedienung für den Raspberry Pi (Pi Remote Control; PiRC) ist eine Webanwendung, die eine Nutzung und Steuerung des Raspberry Pi als Mediaplayer ermöglicht ohne, dass am Raspberry Pi Bildschirm, Tastatur oder Maus zur Bedienung angeschlossen sein müssen. Ist PiRC installiert, kann die Steuerung komplett über das Netz im Browser eines anderen Gerätes wie z.B. einem Smartphone, Tablet oder Laptop erfolgen.

Mit der Steuerbarkeit via Browser einher geht die Möglichkeit, diese Steuerung in andere Programme einzubauen, wobei die HTTP-Aufrufe, die aus einem Browser heraus zur Steuerung verwendet werden, als Ajax-Befehle in einer anderen Webanwendung eingebunden werden.

Dieses Dokument beschreibt diese Verwendungsarten von PiRC im Detail, es hat die folgenden Kapitel

Voraussetzungen, Installation
Media-Quellen
Zweck der Anwendung
Aufruf
Musik abspielen
Video abspielen
Fotografien ansehen
Programmschnittstelle (API)

 

 

 

 

Voraussetzungen, Installation

PiRC erfordert eine Java-Laufzeitumgebung und die Serversoftware Tomcat. Beides ist sehr einfach auf den Raspberry Pi zu installieren und zu konfigurieren. Die Installationsanleitung erklärt Schritt für Schritt wie es geht.

Media-Quellen

Für das Abspielen von Musik und Video sowie für das Ansehen von Fotografien wird davon ausgegangen, dass Musik, Video und Fotografien zentral im Netz bereit stehen und über HTTP oder NFS aufgerufen werden können. Genauer gesagt muss jeder Musik- oder Videotitel per Media-Streaming über einen Uniform Resource Locator (URL) wie z.B. http://meinserver:8080/pfad/zum/titel.mp3 oder von einem per NFS eingebundenen Pfad aufrufbar sein. Wie man Musik und Video per HTTP bereit halten kann beschreibt z.B. der Tipp Media-Streaming mit Tomcat.

Wie eine Datenquelle via NFS eingebunden wird ist beispielsweise auf Ubuntuusers erklärt. Für den Zugriff auf eine so eingebundene Datenquelle muss im Deployment Descriptor, der Datei web.xml von PiRC der Pfad angegeben werden, unter dem die Datenquelle auf den Raspberry Pi eingebunden wurde. Ist beispielsweise eine Datenquelle über den Pfad /media/mc eingebunden, wird die Angabe /media/mc als Init-Parameter namens nfs-prefix im Dployment Descriptor eingetragen. Mit PiRC in seiner augenblicklichen Ausprägung kann nur eine NFS-Datenquelle auf diese Weise verwendet werden.

Fotografien ins Netz zu stellen funktioniert auf vielfältige Weise, man denke nur an die zahlreichen Fotodienste wie z.B. flickr, Instagram, Tumblr oder Picasa. Zudem kann Serversoftware wie z.B. owncloud oder die WebBox verwendet werden, wenn die Fotografien auf dem eigenen Server abgelegt sein sollen. Auch für Fotografien gilt, dass sie über einen URL wie z.B. http://meinserver:8080/pfad/zur/fotografie.jpg aufrufbar sein müssen, wenn sie von PiRC wiedergegeben werden sollen. Alle hier erwähnten Ablageformen für Fotografien stellen die Bilder u.a. in dieser Art bereit.

Zweck der Anwendung

PiRC ist in erster Linie dazu gedacht, eine Steuerbarkeit über HTTP für das Abspielen von Video und Musik sowie das Betrachten von Fotografien herzustellen, damit die Bedienung nicht auf dem betreffenden Raspberry Pi erfolgen muss. Die Bedienung kann damit in ein anderes Programm eingebaut werden und aus der Ferne über das Netz stattfinden.

Eine grafische Bedienoberfläche wie das X-Windowing System oder XMBC müssen dazu nicht auf dem Raspberry Pi gestartet werden. Es sind auch keine Geräte wie Tastatur oder Maus am Raspberry Pi erforderlich.

Die hier beschriebene Browser-Bedienoberfläche dient in erster Linie dem Test der von PiRC bereitgestellten Funktionen und nicht so sehr der Verwendung als "Endgerät". Dennoch ist sie eine vollwertige Möglichkeit zur Fernbedienung und kann auf jedem Gerät verwendet werden, das einen Netzzugang und einen Webbrowser besitzt.

Aufruf

PiRC kann von einem beliebigen Gerät mit Netzanschluß und Browser aufgerufen werden. Ist der Raspberry Pi, auf dem PiRC installiert ist z.B. unter dem Namen raspi im Netz erreichbar, lautet der Uniform Resource Locator (URL) zu PiRC 

http://raspi:8080/pirc

Dieser URL im Browser aufgerufen öffnet die Einstiegsseite

foto

Hier finden sich Verknüpfungen zu den Seiten zum Abspielen von Musik und Video sowie zum Ansehen von Fotografien.

Musik abspielen

Die Verknüpfung "Filme und Musik" und mithin der URL http://raspi:8080/pirc/av.html führt zur Seite zum Abspielen von Musik und Video.

foto

Abspielen einzelner Musiktitel

Auf der Seite zum Abspielen von Musik und Video wird im Feld "URL" der URL (im Falle einer via HTTP zugänglichen Datenquelle) oder der Pfad (wenn die Datenquelle via NFS eingebunden ist) zum abzuspielenden Musiktitel eingetragen. Bei NFS-Pfadangaben genügt der Teil des Pfades ab dem Ordner, unter dem eine Datenquelle eingebunden wurde.

Klick auf die Verknüpfung "abspielen" gibt das Signal an den Raspberry Pi, den so bezeichneten Titel abzuspielen. Im Feld "Parameter für das Abspielen" können Parameter für das Abspielen angegeben werden.

Die Verknüpfungen unterhalb dieser Felder erlauben die Ausführung von Kommandos während dem Abspielen, z.B. Pause, Weiterspielen u.ä. Zur Ausführung eines dieser Kommandos wird die entsprechende Verknüpfung während des Abspielens geklickt.

Abspielen mit Rückmeldung

Der Raspberry Pi gibt auf Wunsch ein Signal, wenn ein Titel fertig abgespielt wurde. Das Signal wird per HTTP übermittelt und kann in Form eines beliebigen Ausdrucks, z.B. einem URL im Feld "URL für Rückmeldung" angegeben werden. Ist dort etwas eingetragen, sendet der Raspberry Pi das angegebene Signal sobald der Titel fertig abgespielt wurde.

Mit der Angabe und Nutzung einer Rückmeldung ist es möglich das Abspielen mehrerer Titel hintereinander zu verketten, vorausgesetzt, das betreffende Rückmeldesignal wird auf der Empfängerseite entsprechend verarbeitet.

Video abspielen

Das Abspielen von Videos erfolgt wie das zuvor beschriebene Abspielen von Musiktiteln: Die Verknüpfung "Filme und Musik" von der Einstiegsseite aus bzw. der URL http://raspi:8080/pirc/av.html führt zur Seite zum Abspielen von Musik und Video (siehe oben).

Mit Eingabe des URL des abzuspielenden Titels und Klick auf die Verknüpfung "abspielen" wird das Video wiedergegeben. Auch beim Abspielen von Videos fungieren die Verknüpfungen unterhalb dieser Felder als Auslöser für Kommandos während dem Abspielen wie z.B. Pause, Weiterspielen, usw.

Fotografien ansehen

Das Ansehen von Fotografien erfolgt ähnlich dem Abspielen von Musik und Videos. Von der Menüseite wird der Punkt "Bilder" geklickt, daraufhin wird die Seite zum Ansehen von Fotografien gezeigt.

foto

Im Feld "URL" wird der URL zu einer Fotografie eingetragen. Klick auf die Verknüpfung "anzeigen" läßt den Raspberry Pi das Bild laden und anzeigen. In den Feldern "X", "Y", "Breite" und "Höhe" können Größe und Position der Fotografie auf dem Bildschirm beeinflusst werden.

Eine Fotografie bleibt solange angezeigt wie keine andere Fotografie aufgerufen wird. Mit der Verknüpfung "Bild löschen" kann das gerade sichtbare Bild von der Anzeige entfernt werden.

Die Zeitspanne zwischen Auslösen des Kommandos zur Anzeige und der Anzeige des Bildes ist abhängig von der Qualität der Netzanbindung und der Größe der Fotografie. Je größer die Bandbreite und je kleiner das Bild desto schneller die Anzeige.

Bildschirmdarstellung anpassen

Die Position von Bildinhalten ist abhängig vom am Raspi angeschlossenen Bildschirm. Erscheint eine Fotografie nicht in der gewünschten Position kann mit der Overscan-Funktion die Darstellung beeinflusst werden. Dazu wird die Datei /boot/config.txt bearbeitet:

sudo nano /boot/config.txt

In der Datei /boot/config.txt finden sich die folgenden Einstellungen

overscan_left
overscan_right
overscan_top
overscan_bottom

Mit ihnen können die Abstände von den Bildschirmrändern geändert werden, positive und negative Zahlen sind möglich. Änderungen werden mit einem Neustart des Raspi wirksam. Mit der Einstellung

disable_overscan=1

kann die Funktion komplett ausgeschaltet werden, was bei der Darstellung von Fotografien mit PiRC und FrameBuffer mitunter die besten Ergebnisse erzielt.

Programmschnittstelle (API)

Alle Operationen, die von PiRC bereitgestellt werden, werden via HTTP ausgelöst. Damit ergibt sich automatisch eine Programmschnittstelle, die von anderen Programmen aus genutzt werden kann. PiRC liefert so die Grundlage für das Einbinden eines oder auch mehrerer Raspberry Pi als Mediaplayer in andere Anwendungen.

Die Einbindung sollte hierbei in Form von asynchronen Methodenaufrufen hergestellt werden, wie sie z.B. in Java oder JavaScript als Ajax und REST Anwendung finden. Wird an der Bedienoberfläche im Browser ein Raspberry Pi via PiRC von Hand bedient, sendet der Browser von dem aus die Bedienung erfolgt, Kommandos an den betreffenden Raspberry Pi. Diese Kommandos lassen sich an der Bedienoberfläche von PiRC im Browser ablesen.

Soll z.B. ein Musikstück abgespielt werden, wird von der Browser-Bedienoberfläche von PiRC der URL

http://raspi:8080/pirc/sys/rpc?c=de.uhilger.pirc.App&m=abspielen&p=http://pfad/zum/titel.mp3

aufgerufen. Dieser URL wird vom Browser angezeigt, wenn man auf der Seite zum Abspielen von Musik den URL des abzuspielenden Musiktitels einträgt und mit der Maus über die Verknüpfung "abspielen" fährt ohne sie anzuklicken. Auf die selbe Weise kann man die URL der übrigen Kommandos ermitteln, die über PiRC zugänglich sind. So ist etwa das Kommando zum Stoppen eines Titels der gerade abgespielt wird

http://raspi:8080/pirc/sys/rpc?c=de.uhilger.pirc.App&p=kommando&p=q

was ersichtlich wird, wenn man mit der Maus über die Verknüpfung "Beenden" fährt ohne sie anzuklicken. Diese Kommandos können in eigenen Programmen verwendet werden, um einen oder mehrere Raspberry Pi direkt aus einem eigenen Programm zu steuern.

Copyright © 2024 Ulrich Hilger, alle Rechte vorbehalten