Einrichten des Raspberry Pi 2 als Grundsystem für einen Homeserver

Bei meiner Planung, die grafische Oberfläche im LCARS-Look&Feel zu gestalten, zeigten die ersten Tests auf dem Raspberry Pi bereits, das er dafür nicht mehr in der Lage war, zumindest, wenn das Programm dazu unter einer JVM laufen sollte. Kurze Zeit vorher kam gerade der Raspberry Pi 2 auf den Markt, der im Vergleich zu seinem Vorläufer vor allem mit Performance-Upgrades daher kam. Octa-Core-CPU, 1 GB Ram, 4x USB. Damit war er für mein Vorhaben perfekt geeignet.

Die Umstellung war kaum ein Problem, das System wurde auf den aktuellen Stand gebracht, einige plattformspezifische Einstellungen deaktiviert und schon konnte die SD-Karte direkt in den neuen, ohn das Betriebssystem neu installieren zu müssen. (Dazu schreibe ich vielleicht noch einen detailierteren Artikel). Seitdem hat sich aber bei Raspbian einiges getan, daher habe ich jetzt beschlossen, das ganze System neu einzurichten. Dazu möchte ich hier einige Tipps geben.

Das richtige Betriebssystem wählen.

Auf der mitgelieferten SD-Karte damals war Noobs vorinstalliert, so dass ich zu dem Zeitpunkt zum Testen „schnell mal“ ein anderes System installieren konnte. Mittlerweile hat sich herauskristallisiert, dass das System, das sich wohl am besten für meinen Anwendungsfall eignet, Raspbian darstellt.

Das passende Image kann man sich hier runterladen und mit einem Tool (ich bevorzuge Win32DiskImager) auf die SD-Karte schreiben. Als Karte habe ich eine 64GB-Micro-SD-Karte gewählt, da passt meine komplette Sammlung an Musik drauf und es ist immernoch genug Platz für zusätzliche Software und gesammelte Bilder/Daten, etc. Es empfiehlt sich, direkt nach dem Schreiben des Images auf die Karte die Partitionen anzupassen. Unter Windows habe ich tatsächlich kein einziges (!!!) Tool gefunden, das mit der ext4-Partition klar kam, so dass ich die Systempartition (standardmäßig nur 3 GB) nicht vergrößern konnte. Abhilfe geschaffen hat dabei das Live-Image von gparted, mit dem das problemlos funktioniert hat, so dass die Karte jetzt über folgende Partitionen verfügt:

/boot100 MBvfat
/8 GBext4
/media/DATA55 GBvfat

Für die Daten-Partition habe ich FAT32 als Dateisystem gewählt, damit man auch von anderen Betriebssystemen Zugriff darauf bekommen kann, um z.B. Dateien unter Windows drauf zu kopieren.

Nach dem ersten Bootvorgang startete direkt die Desktopoberfläche von Raspbian und sogar der Touchscreen funktionierte bereits. Vor ca. einem Jahr musste man dazu noch Kernelmodule einbinden und den Kernel händisch kompilieren. Das ist also tatsächlich sehr praktisch so.

Touchscreen einrichten

Da das Kernelmodul für eGalax-basierte Displays bereits integriert ist, muss man eigentlich nur noch das Kalibrator-Tool installieren und einmal ausführen, dann ist man damit schon durch:

Jetzt berührt man möglichst genau die angezeigten Punkte und bekommt am Ende einen Konfigurations-Schnippsel, den man in folgende Datei kopiert.

So bleibt die Konfiguration auch über den nächsten Neustart persistent.

Daten-Partition einbinden

Damit die Partition persistent eingebunden wird und immer zur Verfügung steht, direkt nach einem Neustart, sollte ein entsprechender Eintrag in der /etc/fstab vorgenommen werden:

Die Parameter geben an, dass die Dateien die Zugriffrechte 755 bekommen, ausreichend sicher also, wenn man erlauben will, dass unterschiedliche User darauf schreiben und lesen können sollen. Das „noatime“ gibt an, dass der letzte lesende Zugriff auf eine Datei nicht in die Datei geschrieben werden soll. Diese Funktion ist nicht unbedingt sinnvoll, wenn man Medien-Dateien lesen will. Zudem verringert es die Schreibzyklen auf der Partition. Ausserdem wird die Partion aus der regelmäßigen Überprüfung genommen.

USB FM-Transmitter einrichten

Als nächstes wird der FM-Transmitter eingerichtet. Im Prinzip sollten die meisten ähnlich einzurichten sein, da es sich eigentlich einfach um USB-Soundkarten handelt. Ich habe damals einen keene FM-Transmitter gekauft, so dass der Vorgehen etwas abweicht.

Quelle: http://blog.palosaari.fi/

Quelle: http://blog.palosaari.fi/

Zu dieser Hardware, die auch noch unter anderen Brands auftauchte, wurde keine Software oder Treiber für Linux bereitgestellt. Trotzdem ist es einigen Entwicklern gelungen, die Kommunikation zwischen der Hardware und der Windows-Software zu capturen und entsprechende Software zur Verfügung zu stellen. Die kann von hier geladen und kompiliert werden. Dazu habe ich dieses erweiterte C-Programm runtergeladen, das unter anderem konfigurierbare Sendeleistung, Lautstärke, Stereo/Mono, etc. zur Verfügung stellt. Gestartet wird der FM-Transmitter mit z.B:

Weitere Infos gibts auch hier.

mpd einrichten

Damit auch irgendwas im Radio zu hören ist, muss der mpd entsprechend konfiguriert werden. Es wäre auch möglich, die gesamte Audio-Ausgabe über die „USB-Soundkarte“ ausgeben zu lassen, aber da ich beabsichtige, andere Töne, die z.B. zu der Bedienung der GUI gehören, vor Ort über den Monitor ausgeben zu lassen und nicht in der ganzen Wohnung hören will, habe ich mich für die Konfiguration des mpd entschieden. Dazu muss folgender Abschnitt gegen Ende der /etc/mpd.conf gesucht und entsprechend angepasst werden:

Das „hw:1,0“ ist dabei entscheidend. Nach einem Neustart des mpd sollte nun Musik im Radio ertönen.

GPIO zum Schalten von 433 MHz-Empfängern vorbereiten

FS1000A

Über den Touchscreen sollen zusätzlich noch diverse Funksteckdosen schaltbar sein. Das lässt sich mit dem Raspberry Pi auch ziemlich einfach bewerkstelligen. Dafür benötigt man einen kleinen 433 MHz-Sender, den es für ca. einen Euro im Netz gibt, ziemlich common.

Anschlussplan:

FS1000ARaspberry Pi 2
GNDGND (z.B. Pin 6)
VCC3.3V (z.B. Pin 1)
DATAGPIO 17 (Pin 11)

Ich habe auch schon gelesen, dass man das Modul an 5V Betreibsspannung betreiben kann, das habe ich bisher nicht probiert und für die gesamte Wohnung reicht bereits eine zusätzlich angelötete 17cm-Antenne.

Mit dem aktuellen Kernel ist bereits die Software „WiringPi“ mit installiert worden, mit der man per Software nun die GPIO-Pins ansprechen kann. Zusätzlich wird „rc-switch“ benötigt, um Steckdosen schalten zu können. rc-switch bekommt man so geklont und kompiliert:

Jetzt benötigt man zum Testen erst einmal eine Funksteckdose, um den Systemcode und die Steckdosen-ID zu bekommen, die lässt sich bei kompatiblen Geräten auf der Rückseite über DIP-Regler einstellen. Ist der Regler oben, steht das für eine 1, bzw. unten für eine 0. Hat man den Code, kann man mit  sudo ./send 11111 2 1 die Steckdose Nr. 2 mit Systemcode 11111 anschalten. Ersetzt man den letzten Parameter durch eine 0, schaltet man die Steckdose wieder aus.

Fazit

Raspberry Pi als HomeserverDie Grundkonfiguration ist jetzt eingerichtet. Jetzt muss man sich Gedanken machen, welche Funktionen man wie umsetzen möchte und wie die Schnittstellen zum Pi dabei aussehen sollen. Geplant sind jetzt z.B. Temperatursensoren für jeden Raum in der Wohnung und eine Wetterstation für den Garten, die über WLAN ihre Daten bereitstellen. Ausserdem soll die FritzBox Informationen über Anrufe, etc. zur Verfügung stellen und Events verschicken, wenn ein Anruf eingeht. Das sind aber nur einige Möglichkeiten…

 

Dieser Beitrag wurde unter Hausautomatisierung, Raspberry Pi veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *