Posts mit dem Label SSH werden angezeigt. Alle Posts anzeigen
Posts mit dem Label SSH werden angezeigt. Alle Posts anzeigen

Samstag, 18. Mai 2013

Teil 2/3 - Music Player Daemon auf dem Raspberry Pi

MPD (Musicplayer Daemon), MPC und ncmpcpp

Der Music Player Daemon bietet die Möglichkeit lokal auf dem Pi abgelegte Musikdateien abzuspielen. Hierfür sind eine fülle an Apps für Smartphones vorhanden. Zur bedienung über die Kommandozeile empfehle ich das Paket ncmpcpp.

Die nötigen Pakete werden installiert:
sudo apt-get install mpd mpc ncmpcpp alsa-utils

Im ersten Schritt erstellen wir einen Ordner music im Home-Verzeichnis des Pi's:
cd ~
mkdir music
(Info: Das Tildezeichen (~) lässt sich auf dem Mac bei deutschem Tastaturlayout über die Tastenkombination ALT + N erzeugen.) Anschließend folgendes eingeben:
sudo modprobe snd_bmc2835
Nun muss MPD konfiguriert werden:
sudo nano /etc/mpd.conf 
Mit der Tastenkombination CTRL + V scrollt man im Text soweit hinunter bis die Zeile:
bind_to_adress
erscheint. Soll MPD nicht direkt vom Pi aus bedinet werden können muss direkt vor die Zeile eine # geschrieben werden (Auskommentieren.)Dies ist notwendig wenn man bspw. die Musik über das Smartphone oder das Terminal steuern will. Beim Eintrag
auto_update    "yes"
sollte ebenfalls die # entfernt werden. So wird die Musikbibliothek automatisch von MPD aktualisiert sobald neue Musik im ordner abgelegt wird. Ein paar Zeilen weiter muss bei der Zeile
#follow_outside_symlinks   "yes"
die Raute (#) entfernt werden. Da ich nicht das Standartverzeichnis nutze in dem MPD normalerweise die Musikdateien erwartet, sondern den vorher erstellten Ordner music verwenden möchte. Weiter unten werden die Audio-Ausgänge definiert. Bei mir sieht das so aus:
audio_output {
        type            "alsa"
        name            "RaspberryPi"
        format          "44100:16:2"    # optional
        mixer_type      "software"
Mit CTRL + X und anschließender Bestätigung zum Speichern ist der Music Player Daemon soweit startklar. Da MPD über die vorhin geänderte Zeile follow_outside_symlinks bereits so konfiguriert ist, dass auch auf Musikverzeichnisse ausserhalb des Standartpfades zugegriffen werden kann, muss noch einen Verknüfung (Symlink) zu dem erstellten Ordner music im Standartpfad erstellt werden. Dazu wechselt man in den Standartpfad:
cd /var/lib/mpd/music
und erstellt über folgendes Kommando eine Verknüpfung auf den music-Ordner:
ln -s /home/pi/music
Die Standardpfade benötigen noch die notwendigen Berechtigungen, die den reibungslosen Betrieb von MPD garantieren:
sudo chmod g+w /var/lib/mpd/music/ /var/lib/mpd/playlists/
sudo chgrp audio /var/lib/mpd/music/ /var/lib/mpd/playlists/
Jetzt können Musikdateinen im MP3-, FLAC- und vielen anderen Formaten einfach in diesem Ordner abgelegt werden.

Im letzten Schritt muss MPD einmal neugestartet werden, damit alle Änderungen wirksam werden:
sudo service mpd restart


NCMPCPP

Über den Befehl
ncmpcpp
kann nun eine minimale Textbasierte Oberfläche zur Steuerung über die Kommandozeile aktiviert werden. Drück man die Taste 1 findet man alles nötige was zur Steuerung von ncmpcpp benötigt wird. Beendet wird ncmpcpp durch ein druck auf die Q-Taste.


Steuerung über Apps:
MPD lässt sich wunderbar über das Tablet/Samrtphone steuern.

Weiter zu Teil 1 des Tutorials in dem aufgezeigt wird, wie man Apple's Airplay auf dem Raspberry Pi installiert um Musik direkt aus iTunes oder iOs auf den Pi zu streamen oder zu Teil 3 in dem erklärt wird, wie man über Bluetooth Musik auf den Pi streamen kann. 

Dienstag, 14. Mai 2013

SSH/Mosh verwenden und xRDP installieren

Da mein Pi ohne einen angeschlossenen Monitor und Tastatur betrieben wird, muss eine Möglichkeit geschaffen werden um mit einem weiteren Computer/Smartphone/Tablet etc. auf den Raspi zuzugreifen und ggf. die grafische Oberfläche an einem anderen Bildschirm darzustellen. Für ersteres wird in der Regel das verschlüsselte SSH-Protokoll verwendet. Wichtig hierfür ist, dass die IP-Adresse des Pi's im eigenen Netzwerk bekannt ist. Um eine statische, immer gleich bleibende IP zu erhalten, kann mein vorheriger Post  durchexerziert werden.


SSH

Um SSH verwenden zu können, benötigen wir entsprechende Software:
  • Windows: Putty
  • Mac: Kann bereits SSH über die Terminal-App
  • Linux: Kann bereits SSH über die Terminal-App
  • AndroidConnect Bot (ich empfehle jedoch diese Version von Irssi Connect Bot, da diese ein weiteres Protokoll namens Mosh beherrscht, das grundsätzlich wie SSH funktioniert aber ein paar Vorteile bietet auf die später kurz eingegangen wird.)
In die entsprechende Anwendung wird nun folgendes getippt:
ssh pi@IP-Adresse
Da zu diesem Zeitpunkt keine vorherige Verbindung zwischen dem benutzten Computerund dem Pi bestand wird gefragt, ob ein individueller Schlüssel ausgetauscht werden soll. Dies wird mit Yes bestätigt.


Mosh

Mosh funktioniert grundsätzlich genau wie SSH und verbindet sich auch über den gleichen Port (Standartmäßig 22). Genau wie bei SSH erstellt man über die Kommandozeile eine sichere Verbindung zum Pi her:
mosh pi@IP-Adresse

Vorher muss auf dem Raspberry Pi jedoch noch das entsprechende Paket installiert werden:
sudo apt-get install mosh

Der größte Vorteil von Mosh gegenüber SSH ist, dass beim Verlust der Verbindung zum Pi keine erneute Verbindung hergestellt werden muss. Mosh wartet einfach, bis die Daten wieder strömen. Ich habe meinen Pi am Internet und verwalte ihn des öfteren über mein Nexus 7 und dem oben angesprochenen Irssi Connect Bot. Da dort keine stetiges Handynetz vorhanden ist, ist SSH dort mühsam und nervraubend. Mosh hingegen hat immer eine Verbindung. Zusätzlcih kann Mosh auch beim Wechsel der Internetverbindung - bspw. von 3G auf W-Lan - die Verbindung aufrech erhalten.

Mit SSH und Mosh ist nun also die Möglichkeit gegeben den Pi über einen anderen Computer zu verwalten - jedoch ohne grafische Oberfläche. Alle nötigen Schritte zur Einrichtung eines entfernten Bildschirms werden im nachfolgenden Text beschrieben.



Entfernten Bildschirm einrichten / Remote Desktop

Die meisten Tutorials empfehlen die Benutzung eines VNC-Servers (bspw. TightVNC). Dieser muss jedoch manuell gestartet und beendet werden, was mir zu mühsam erschien. Daher habe ich folgende Alternative im Einsatz, die sich als sehr zuverlässig erwiesen hat. Zur Anwendung kommt das Paket xrdp das eine RDP-Verbindung herstellt. RDP startet sich automartisch, sobald die zugehörige Software auf dem Handy, PC, o.Ä. versucht einen Verbindung herzustellen und beendet sich automatisch sobald man sich über die GUI des Pi's auslaggt.

Das benötigte Paket wird auf dem Raspi installiert:
sudo apt-get install xrdp

Wie schon bei der verwendung von SSH benötigt man auch in diesem Fall entsprechende Software:

Auch hier gilt es, den Benutzernamen (pi), sowie das zugehörige Passwort und die IP-Adresse anzugeben. Nun habt ihr die grafische Oberfläsche des Raspberry Pi's direkt auf einem anderen Bildschirm. Dies ist äußerst praktisch, da einige Aktionen über die GUI deutlich schneller zu erledigen sind, als über die Kommandozeile.