Installation (Raspberry Pi 2)

Raspberry Pi einrichten

Zuerst muss Raspbian „jessie“ (Downlaod) als Betriebssystem auf dem Pi installiert und eingerichtet werden („jessie light“ würde auch reichen, da wir keine GUI etc. benötigen). Die Installation von Raspbian erkläre ich hier nicht weiter, dazu gibt es bereits genug Tutorials im Netz, z.B. hier. Alternativ könnt ihr auch den NOOBS Installer verwenden und damit Raspbian installieren. Andere Distributionen sollten natürlich auch funktionieren, aber dafür gibt’s von mir keinen Support. Hier soll nur eine kurze Anleitung für die Nicht-Linux-Nerds gegeben werden.

Nach der Installation muss auf dem Pi der SSH-Server aktiviert werden. Diesen benötigen wir um später den Pi remote administrieren zu können, da er im Dauerbetrieb vermutlich ohne Monitor/Tastatur/Maus laufen wird. Dazu das Shell-Tool „raspi-config“ starten und SSH einschalten (Anleitung). Außerdem solltet ihr in „raspi-config“ das „boot_behaviour“ auf „Command Line“ schalten (wir brauchen keine GUI) und „expand_rootfs“ ausführen, damit die SD-Karte auch voll genutzt werden kann.

Dann habe ich noch den Hostname meines Pi’s von „raspberrypi“ in „logocontrol“ geändert. Das geht ebenfalls in „raspi-config“ unter „Advanced Options“ -> „Hostname“.

Anschließend muss der Pi noch neu gestartet werden:

sudo reboot

Installation der Mono Runtime

Für die Ausführung von LogoControl wird zwingend die Mono Runtime ab Version 3.4 oder neuer auf dem Pi benötigt, da erst diese Version wichtige Fehler im Zusammenhang mit der Hard-Float Unit des im Raspberry Pi verbauten ARMv6 Prozessors behebt. Leider ist im Package-Repository von Raspbian noch die veraltete 3.2.8 von Mono enthalten. Eine installtion per „apt-get install“ ist somit leider nicht möglich, da dies nur Mono 3.2.8 installieren würde. (Für Insider: auf dem Pi 2 können dank neuerer Prozessorarchitektur nun direkt die auf der Mono-Seite angebotenen Packages für Debian installiert werden, und somit auch aktuelle Mono Version >4.2, allerdings ist dort aktuell ein übler Bug im TLS-Handshake  enthalten, welcher den von LogoControl genutzten HTTPS-Server unbenutzbar macht. Bleibt daher bitte bis auf weiteres bei der Mono 3.10)

Glücklicherweise habe ich bei HTPC Guides ein fertiges Debian-Paket mit Mono 3.10 für den Raspberry Pi gefunden, das ihr per wget einfach herunterladen und installiert könnt. Falls ihr noch eine alte Version von Mono auf eurem Raspberry Pi installiert habt, diese bitte zuerst deinstallieren:

sudo apt-get purge mono-complete
sudo apt-get autoremove

Zur Installation von Mono 3.10  geht ihr dann auf die Kommandozeile in euer Home-Verzeichnis und gebt folgendes ein:

wget http://www.frickelzeugs.de/mono-3.10-armhf.deb
sudo dpkg -i mono-3.10-armhf.deb
sudo reboot

Nach dem Neustart könnt ihr per

mono --version

die installierte Mono-Version anzeigen lassen, welche ungefähr so aussehen sollte:

Mono JIT compiler version 3.10.0 (mono-3.10.0-branch/ce003f4 Tue Nov 25 20:18:29 UTC 2014)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com

LogoControl installieren

Die folgende Installationsanleitung habe ich unter der Annahme verfasst, dass ein Benutzer „pi“ auf dem Raspberry existiert (sollte der Standard sein) und alle folgenden Schritte als Benutzer „pi“ ausführt. Für die Installation von LogoControl selbst benötigt ihr zunächst das Paket aus dem Download-Bereich:

Diese kopiert ihr auf den Pi ins Home-Verzeichnis (~) des Benutzers „pi“. Das geht unter Windows am einfachsten mit dem Tool WinSCP. Anschließend verbindet ihr euch mit einem SSH Client (z.B. PuTTY) auf den Pi (Anleitung) und führt dort (im Home-Verzeichnis) folgende Kommandos aus:

tar -zxvf logocontrol-pi-x.x.x.tgz
cd LogoControl
./init.sh
sudo reboot

Damit habt ihr das Archiv entpackt und im Home-Verzeichnis sollte ein neues Verzeichnis „logocontrol“ existieren. Das letzte Kommando startet ein Script, dass für euch ein neues selbst signiertes HTTPS-Zertifikat erzeugt, dieses an den Port 8080 bindet und außerdem dafür sorgt, dass LogoControl automatisch beim Systemstart lädt.

Sollte alles funktioniert haben könnt ihr nun von eurem PC im Browser folgende URL aufrufen:

http://logocontrol:8088/
Warum Port 8088 und nicht 8080 ?
In der Demo-Konfiguration ist Port 8080 für den verschlüsselten Zugriff mit Benutzeranmeldung (für externen Zugriff) und Port 8088 für den unverschlüsselten Zugang ohne Benutzeranmeldung (nur für’s interne Netz) vorkonfiguriert. Allerdings ist für den HTTPS-Zugang noch kein Benutzername und Passwort festgelegt worden, so dass es schlicht noch nicht möglich ist darüber eine Verbindung aufzubauen.

Nun sollte euch LogoControl mit einer kleinen Demo-Konfiguration angezeigt werden. Diese Konfiguration muss natürlich noch euren Bedürfnissen angepasst werden. Wie dies geht erkläre ich unter Konfiguration.