{"id":530,"date":"2020-03-31T15:02:47","date_gmt":"2020-03-31T13:02:47","guid":{"rendered":"http:\/\/www.mindkick.de\/?p=530"},"modified":"2020-04-01T13:43:51","modified_gmt":"2020-04-01T11:43:51","slug":"internetradio","status":"publish","type":"post","link":"https:\/\/blog.mindkick.de\/?p=530","title":{"rendered":"Internetradio"},"content":{"rendered":"<h3 id=\"vorbereitung\" class=\"sectionedit2\">Vorbereitung<\/h3>\n<div class=\"level2\">\n<p style=\"text-align: justify;\">Zuerst laden wir uns das aktuelle Raspbian herunter. Zur Erstellung dieser Anleitung war es Raspbian Buster. Ich habe mich f\u00fcr die Variante mit Desktop entschieden.<br \/>\n<a class=\"urlextern\" title=\"https:\/\/www.raspberrypi.org\/downloads\/raspbian\/\" href=\"https:\/\/www.raspberrypi.org\/downloads\/raspbian\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.raspberrypi.org\/downloads\/raspbian\/<\/a><\/p>\n<p style=\"text-align: justify;\">Das heruntergeladene Image wird mit einer geeigneten Software (z.B. Etcher) auf die SD-Karte \u00fcbertragen. Weitere Infos dazu unter<br \/>\n<a class=\"urlextern\" title=\"https:\/\/www.raspberrypi.org\/documentation\/installation\/installing-images\/README.md\" href=\"https:\/\/www.raspberrypi.org\/documentation\/installation\/installing-images\/README.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.raspberrypi.org\/documentation\/installation\/installing-images\/README.md<\/a>.<\/p>\n<p style=\"text-align: justify;\">Bevor wir den Pi starten k\u00f6nnen muss noch SSH aktiviert werden. Dazu erstellen wir uns eine Datei mit dem Namen ssh und kopieren diese auf die SD-Karte. Weitere Infos dazu unter <a class=\"urlextern\" title=\"https:\/\/www.raspberrypi.org\/documentation\/remote-access\/ssh\/README.md\" href=\"https:\/\/www.raspberrypi.org\/documentation\/remote-access\/ssh\/README.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.raspberrypi.org\/documentation\/remote-access\/ssh\/README.md<\/a><\/p>\n<p style=\"text-align: justify;\">Als n\u00e4chstes wird die SD-Karte in einen RaspberryPi (in meinem Fall ein 3B+) gesteckt. Der Raspberry ist via <abbr title=\"Local Area Network\">LAN<\/abbr>-Kabel eingebunden. Einschalten\u2026<\/p>\n<p style=\"text-align: justify;\">Nun m\u00fcssen wir die IP-Adresse herausbekommen, welche der DHCP unserem RaspberryPi vergeben hat. Schaut dazu am einfachsten in Eure Router oder benutzt einen Netzwerkscanner auf dem Smartphone (z.B. Fing). In dieser Anleitung verwende ich die Adresse <strong>192.168.1.74<\/strong>.<\/p>\n<p>\u00dcber das Terminal verbindet Ihr Euch mit dem RaspberryPi<\/p>\n<p><code>ssh 192.168.1.74 -l pi<\/code><\/p>\n<p>der Pi antwortet in etwa so<\/p>\n<p><code>The authenticity of host '192.168.1.74 (192.168.1.74)' can't be established. ECDSA key fingerprint is SHA256:JCO\/RbFGRdoLxp8Bc+xtblaiJkPAoo0Btz+pmTG6h+Q. Are you sure you want to continue connecting (yes\/no)? <\/code><\/p>\n<p style=\"text-align: justify;\">Die Frage beantworten wir mit <strong>yes<\/strong> und geben nun dass Passwort <strong>raspberry<\/strong> ein.<\/p>\n<p>Den Hinweis<\/p>\n<p><code>SSH is enabled and the default password for the 'pi' user has not been changed. This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.<\/code><\/p>\n<p>nehmen wir ernst und vergeben uns mit<\/p>\n<p><code>passwd<\/code><\/p>\n<p>ein neues Passwort. Wie man ein starkes Passwort generiert habe ich <a class=\"wikilink1\" title=\"passwoerter\" href=\"http:\/\/192.168.1.15\/doku.php?id=passwoerter\">hier<\/a> erl\u00e4utert.<\/p>\n<p style=\"text-align: justify;\">Im n\u00e4chsten Schritt bringen wir das frisch installierte Raspbian erstmal auf den aktuellen Stand.<\/p>\n<p><code>sudo apt-get update<\/code><\/p>\n<p><code>sudo apt-get upgrade<\/code><\/p>\n<p><code>sudo reboot<\/code><\/p>\n<p style=\"text-align: justify;\">Der letzte Befehl startet den RaspberryPi neu. Im Anschluss stellen wir die SSH-Verbindung wieder mit<\/p>\n<p><code>ssh 192.168.1.74 -l pi<\/code><\/p>\n<p style=\"text-align: justify;\">her und geben das oben neu vergebene Passwort ein.<\/p>\n<p>Nun mach wir uns daran das frisch aufgesetzte System zu konfiguren. Mit Hilfe von<\/p>\n<p><code>sudo raspi-config<\/code><\/p>\n<p>nehmen wir nun folgende Einstellungen vor.<\/p>\n<ol>\n<li class=\"level1\">\n<div class=\"li\">2 Network Option \u2192 Hostname \u2192 raspberrypi \u00e4ndern in <strong>musicbox<\/strong><\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">4 Localisation Options \u2192 I1 Change Locale \u2192 <strong>de_DE.UTF-8 UTF-8<\/strong> aktivieren und <strong>en_<abbr title=\"Gigabyte\">GB<\/abbr>.UTF-8 UTF-8<\/strong> deaktivieren<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">4 Localisation Options \u2192 I1 Change Timezone \u2192 Europe \u2192 Berlin<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">5 Interfacing Option \u2192 P3 VNC &#8211; VNC aktivieren<\/div>\n<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Die abschlie\u00dfende Frage ob der RaspberryPi neu gestartet werden soll beantworten wir mit <strong>Yes<\/strong>. Nach dem Neustart verbinden wir uns via SSH wieder mit dem RaspberryPi.<\/p>\n<p><code>ssh 192.168.1.74 -l pi<\/code><\/p>\n<\/div>\n<h3>&nbsp;<\/h3>\n<h3>SAMBA Fileserver installieren<\/h3>\n<div class=\"level2\">\n<p style=\"text-align: justify;\">Damit wir sp\u00e4ter auch MP3s auf unser Internetradio ablegen k\u00f6nnen wird nun ein SAMBA Server eingerichtet. Damit stellt der RaspberryPi dann ein Netzlaufwerk zur Verf\u00fcgung auf das wir von Windows oder MacOS aus darauf zugreifen k\u00f6nnen.<\/p>\n<p><code>sudo apt-get install samba<\/code><\/p>\n<p style=\"text-align: justify;\">Die Abfrage ob das Paket dhcp-client installiert werden soll beantworten wir mit <strong>Ja<\/strong>.<\/p>\n<p style=\"text-align: justify;\">Nun legen wir noch ein paar Verzeichnisse an, in welches wir sp\u00e4ter die Musikdateien, Playlisten etc. ablegen wollen.<\/p>\n<p><code>sudo mkdir \/music<\/code><\/p>\n<p><code>sudo mkdir \/music\/playlists<\/code><\/p>\n<p><code>sudo mkdir \/music\/podcasts<\/code><\/p>\n<p style=\"text-align: justify;\">Damit wir sp\u00e4ter auch als anonymer User darauf zugreifen k\u00f6nnen \u00e4ndern wir gleich noch die Zugriffsrechte der Verzeichnisse.<\/p>\n<p><code>sudo chmod -v 777 \/music<\/code><\/p>\n<p><code>sudo chmod -v 777 \/music\/playlists<\/code><\/p>\n<p><code>sudo chmod -v 777 \/music\/podcasts<\/code><\/p>\n<p>Jetzt ist die Einrichtung von SAMBA an der Reihe. Mit einem<\/p>\n<p><code>sudo nano \/etc\/samba\/smb.conf<\/code><\/p>\n<p>\u00f6ffnen wir die Konfigurationsdatei und erg\u00e4nzen am Ende folgende Eintr\u00e4ge<\/p>\n<p><code>[music]<br \/>\ncomment = Musik<br \/>\npath = \/music<br \/>\nbrowseable = yes<br \/>\nread only = no<br \/>\nguest ok = yes<br \/>\n<\/code><\/p>\n<p style=\"text-align: justify;\">Abgespeichert wird mit Strg+S und mit Strg+X wird nano beendet.<\/p>\n<p>Nun starten wir den SAMBA-Dienst neu<\/p>\n<p><code>sudo systemctl restart smbd<\/code><\/p>\n<p style=\"text-align: justify;\">und k\u00f6nnen nun im <abbr title=\"Local Area Network\">LAN<\/abbr> z.B. von Windows aus \u00fcber Laufwerke \u2192 Netzlaufwerk verbinden auf die Freigabe zugreifen.<\/p>\n<\/div>\n<h3>&nbsp;<\/h3>\n<h3>Mopidy installieren<\/h3>\n<div class=\"level2\">\n<p style=\"text-align: justify;\">Zuerst f\u00fcgen wir die Mopidy Quellen der Anwendungsverwaltung hinzu und installieren das Basispaket in dem wir folgende Befehle nacheinander im Terminal eingeben:<\/p>\n<p><code>wget -q -O - <a class=\"urlextern\" title=\"https:\/\/apt.mopidy.com\/mopidy.gpg\" href=\"https:\/\/apt.mopidy.com\/mopidy.gpg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/apt.mopidy.com\/mopidy.gpg<\/a> | sudo apt-key add -<\/code><\/p>\n<p><code>sudo wget -q -O \/etc\/apt\/sources.list.d\/mopidy.list <a class=\"urlextern\" title=\"https:\/\/apt.mopidy.com\/buster.list\" href=\"https:\/\/apt.mopidy.com\/buster.list\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/apt.mopidy.com\/buster.list<\/a><\/code><\/p>\n<p><code>sudo apt-get update<\/code><\/p>\n<p><code>sudo apt-get install mopidy<\/code><\/p>\n<p style=\"text-align: justify;\">Im nun folgenden Schritt starten wir Mopidy erstmalig<\/p>\n<p><code>mopidy<\/code><\/p>\n<p style=\"text-align: justify;\">und warten ein paar Sekunden bis die Ausgabe<\/p>\n<pre class=\"code\">Creating dir file:\/\/\/home\/pi\/.local\/share\/mopidy\/http<\/pre>\n<p style=\"text-align: justify;\">erfolgt ist um das Programm nun mit Ctrl+C wieder zu unterbrechen. Mopidy legt im Hintergrund ein paar Pfade und Dateien an, welche wir sp\u00e4ter bearbeiten. Wer sp\u00e4ter Mopidy als Service laufen lassen m\u00f6chte f\u00fcgt in diesem Schritt den User <em>mopidy<\/em> noch der Gruppe <em>video<\/em> hinzu.<\/p>\n<p><code>sudo adduser mopidy video<\/code><\/p>\n<p style=\"text-align: justify;\">Damit wir Mopidy sp\u00e4ter \u00fcber eine Weboberfl\u00e4che (Webclients) steuern k\u00f6nnen muss diese entsprechend auch installiert sein. Ich haben mich f\u00fcr <strong>Iris<\/strong> und <strong>Mobile<\/strong> entschieden.<\/p>\n<p><code>sudo python3 -m pip install Mopidy-Iris<\/code><\/p>\n<p><code>sudo python3 -m pip install Mopidy-Mobile<\/code><\/p>\n<p style=\"text-align: justify;\">Weitere m\u00f6gliche Webclients w\u00e4ren <em>MusicBox-Webclient<\/em>, <em>Simple-Webclient<\/em>, <em>Moped<\/em> oder <em>Mopify<\/em> um nur einige zu benennen. Eine \u00dcbersicht gibt es <a class=\"urlextern\" title=\"https:\/\/mopidy.com\/ext\/\" href=\"https:\/\/mopidy.com\/ext\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">hier<\/a>.<\/p>\n<p style=\"text-align: justify;\">Wer auf Mopidy auch mit externen MPD-Clients (z.B. ncmpcpp) zugreifen m\u00f6chte sollte sich unbedingt noch <em>Mopidy-MPD<\/em> installieren.<\/p>\n<p><code>sudo python3 -m pip install Mopidy-MPD<\/code><\/p>\n<p style=\"text-align: justify;\">Nun k\u00f6nnen je nach Bedarf weitere Addons installiert werden:<\/p>\n<p><code># Spotify support<br \/>\nsudo apt-get install mopidy-spotify<\/code><\/p>\n<p><code># Podcast support<\/code><br \/>\n<code>sudo python3 -m pip install Mopidy-Podcast<\/code><br \/>\n<code>sudo python3 -m pip install Mopidy-Podcast-iTunes<\/code><\/p>\n<p><code># Last.FM scrobbling support<\/code><br \/>\n<code>sudo python3 -m pip install Mopidy-Scrobbler<\/code><\/p>\n<p><code># Soundcloud support<\/code><br \/>\n<code>sudo python3 -m pip install Mopidy-SoundCloud<\/code><\/p>\n<p><code># TuneIn support<\/code><br \/>\n<code>sudo python3 -m pip install Mopidy-TuneIn<\/code><\/p>\n<p><code># YouTube support<\/code><br \/>\n<code>sudo python3 -m pip install Mopidy-YouTube<\/code><\/p>\n<p style=\"text-align: justify;\">Wenn alle gew\u00fcnschten Addons installiert sind bearbeiten wir nun die Konfigurationsdatei <em>mopidy.conf<\/em>. Diese liegt f\u00fcr den angemeldeten User im Ordner <em>\/home\/user\/.config\/mopidy<\/em> (Beispiel f\u00fcr pi: <em>\/home\/pi\/.config\/mopidy\/mopidy.conf<\/em>). Soll Mopidy sp\u00e4ter als Service unter dem User <em>mopidy<\/em> laufen gilt der Pfad <em>\/etc\/mopidy\/mopidy.conf<\/em>.<\/p>\n<p style=\"text-align: justify;\">Egal f\u00fcr welche Variante ihr Euch entscheidet &#8211; in der mopidy.conf werden alle zentralen Einstellungen und die der Addons verwaltet. Wir \u00f6ffnen die Datei mit<\/p>\n<p><code>sudo nano \/etc\/mopidy\/mopidy.conf<\/code> bzw.<\/p>\n<p><code>sudo nano \/home\/pi\/.config\/mopidy\/mopidy.conf<\/code><\/p>\n<p style=\"text-align: justify;\">Im Abschnitt [core] werden die benutzen Verzeichnisse definiert<\/p>\n<p style=\"text-align: justify;\">Wer Mopidy als Service laufen lassen m\u00f6chte verwendet folgende Einstellung,<\/p>\n<p><code>[core]<br \/>\ncache_dir = \/var\/cache\/mopidy<br \/>\nconfig_dir = \/etc\/mopidy<br \/>\ndata_dir = \/var\/lib\/mopidy<br \/>\n<\/code><\/p>\n<p style=\"text-align: justify;\">wer Mopidy als User pi startet verwendet stattdessen<\/p>\n<p><code>[core]<br \/>\ncache_dir = $XDG_CACHE_DIR\/mopidy<br \/>\nconfig_dir = $XDG_CONFIG_DIR\/mopidy<br \/>\ndata_dir = $XDG_DATA_DIR\/mopidy<br \/>\n<\/code><\/p>\n<p style=\"text-align: justify;\">in beiden Varianten gefolgt von<\/p>\n<p><code>max_tracklist_length = 10000<br \/>\nrestore_state = false<br \/>\n<\/code><\/p>\n<p style=\"text-align: justify;\">Alle weiteren Einstellungen am besten so wie bei mir \u00fcbernehmen.<\/p>\n<p><code>[logging]<br \/>\nverbosity = 1<br \/>\nformat = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\\n %(message)s<br \/>\ncolor = true<br \/>\n<\/code><\/p>\n<p><code><\/code><br \/>\n<code>mixer = software<br \/>\nmixer_volume = 90<br \/>\noutput = autoaudiosink<br \/>\nbuffer_time = 1000<br \/>\n<\/code><br \/>\n<code>[local]<br \/>\nmedia_dir = \/music<br \/>\n<\/code><\/p>\n<p><code>[file]<br \/>\nenabled = true<br \/>\nmedia_dirs = \/music<br \/>\nexcluded_file_extensions =<br \/>\n.directory<br \/>\n.html<br \/>\n.jpeg<br \/>\n.jpg<br \/>\n.log<br \/>\n.nfo<br \/>\n.pdf<br \/>\n.png<br \/>\n.txt<br \/>\n.zip<br \/>\nshow_dotfiles = false<br \/>\nfollow_symlinks = false<br \/>\nmetadata_timeout = 1000<br \/>\n<\/code><\/p>\n<p><code>[http]<br \/>\nenabled = true<br \/>\nhostname = 0.0.0.0<br \/>\nport = 6680<br \/>\nzeroconf = Mopidy HTTP server on $hostname<br \/>\ncsrf_protection = true<br \/>\ndefault_app = mopidy<br \/>\n<\/code><\/p>\n<p><code>[mpd]<br \/>\nenabled = true<br \/>\nhostname = 0.0.0.0<br \/>\nport = 6600<br \/>\npassword =<br \/>\nmax_connections = 20<br \/>\nconnection_timeout = 60<br \/>\nzeroconf = Mopidy MPD server on $hostname<br \/>\ncommand_blacklist =<br \/>\nlistall<br \/>\nlistallinfo<br \/>\ndefault_playlist_scheme = m3u<br \/>\n<\/code><\/p>\n<p><code>[m3u]<br \/>\nenabled = true<br \/>\nbase_dir = \/music<br \/>\ndefault_encoding = latin-1<br \/>\ndefault_extension = .m3u8<br \/>\nplaylists_dir = \/music\/playlists<br \/>\n<\/code><\/p>\n<p><code>[softwaremixer]<br \/>\nenabled = true<br \/>\n<\/code><\/p>\n<p><code>[tunein]<br \/>\nenabled = true<br \/>\ntimeout = 5000<br \/>\n<\/code><\/p>\n<p style=\"text-align: justify;\">Um Mopidy-Spotify nutzen zu k\u00f6nnen ben\u00f6tigen wir <abbr title=\"Application Programming Interface\">API<\/abbr> Zugriff auf Spotify. Die <em>client_id<\/em> und das <em>client_secret<\/em>bekommt ihr <a class=\"urlextern\" title=\"https:\/\/auth.mopidy.com\/spotify\/\" href=\"https:\/\/auth.mopidy.com\/spotify\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">hier<\/a>.<\/p>\n<p><code>[spotify]<br \/>\nenabled = true<br \/>\nusername = DEIN_SPOTIFY_USERNAME<br \/>\npassword = DEIN_SPOTIFY_PASSWORT<br \/>\nclient_id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx<br \/>\nclient_secret = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx<br \/>\nbitrate = 160<br \/>\nvolume_normalization = true<br \/>\nprivate_session = false<br \/>\ntimeout = 10<br \/>\nallow_cache = true<br \/>\nallow_network = true<br \/>\nallow_playlists = true<br \/>\nsearch_album_count = 20<br \/>\nsearch_artist_count = 10<br \/>\nsearch_track_count = 50<br \/>\ntoplist_countries =<br \/>\n<\/code><\/p>\n<p style=\"text-align: justify;\">\u00c4hnlich ist es bei SoundCloud. Hier ben\u00f6tigen wir einen auth_token welchen wir <a class=\"urlextern\" title=\"https:\/\/secure.soundcloud.com\/connect?client_id=93e33e327fd8a9b77becd179652272e2&amp;scope=non-expiring&amp;response_type=code_and_token&amp;redirect_uri=https:\/\/www.mopidy.com\/soundcloud_callback\" href=\"https:\/\/secure.soundcloud.com\/connect?client_id=93e33e327fd8a9b77becd179652272e2&amp;scope=non-expiring&amp;response_type=code_and_token&amp;redirect_uri=https:\/\/www.mopidy.com\/soundcloud_callback\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">hier<\/a> bekommen.<\/p>\n<p><code>[soundcloud]<br \/>\nenabled = true<br \/>\nexplore_songs = 25<br \/>\nauth_token = x-xxxxx-xxxxxxxxx-xxxxxxxxxxxxxxx<br \/>\n<\/code><\/p>\n<p style=\"text-align: justify;\">F\u00fcr den Zugriff auf Last.FM gen\u00fcgen Benutzername und Passwort.<\/p>\n<p><code>[scrobbler]<br \/>\nenabled = true<br \/>\nusername = DEIN_LASTFM_USERNAME<br \/>\npassword = DEIN_LASTFM_PASSWORT<br \/>\n<\/code><\/p>\n<p style=\"text-align: justify;\">Etwas komplizierter wird es bei Youtube. Hierf\u00fcr ben\u00f6tigen wir einen <em>youtube_api_key<\/em>. Eine einfaches Videotutorial wie man diesen erstellt bzw. bekommt gibt es <a class=\"urlextern\" title=\"https:\/\/youtu.be\/ozOmQGDVwKQ\" href=\"https:\/\/youtu.be\/ozOmQGDVwKQ\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">hier<\/a>.<\/p>\n<p><code>[youtube]<br \/>\nenabled = true<br \/>\nyoutube_api_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx<br \/>\napi_enabled = false<br \/>\nthreads_max = 16<br \/>\nsearch_results = 15<br \/>\nplaylist_max_videos = 20<br \/>\n<\/code><\/p>\n<p style=\"text-align: justify;\">Nun werden noch die Podcast-Quellen eingerichtet. Die Datei <em>podcasts.opml<\/em> ist eine XML-Datei welche in meinem Beispiel im Ordner <em>\/music\/podcasts<\/em> liegt. Diese kann man ganz leicht selbst erstellen oder z.B. in iTunes erzeugen.<\/p>\n<p><code>[podcast]<br \/>\nenabled = true<br \/>\nbrowse_root = \/music\/podcasts\/podcasts.opml<br \/>\nbrowse_order = desc<br \/>\nlookup_order = asc<br \/>\ncache_size = 64<br \/>\ncache_ttl = 86400<br \/>\ntimeout = 10<br \/>\n<\/code><\/p>\n<p style=\"text-align: justify;\">Noch einfacher geht es bei diesem Addon. Hier \u00fcbernimmt Apple die Verwaltung des Podcast-Verzeichnisse und sortiert dieses f\u00fcr uns nach Genres. Da das Verzeichnis \u00f6ffentlich ist wird auch keine weitere Authentifizierung ben\u00f6tigt.<\/p>\n<p><code>[podcast-itunes]<br \/>\nenabled = true<br \/>\nbase_url = <a class=\"urlextern\" title=\"http:\/\/itunes.apple.com\/\" href=\"http:\/\/itunes.apple.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">http:\/\/itunes.apple.com\/<\/a><br \/>\ncountry = DE<br \/>\nexplicit = Yes<br \/>\ncharts = audioPodcasts<br \/>\ncharts_limit = 20<br \/>\nsearch_limit = 20<br \/>\ntimeout = 10<br \/>\nretries = 3<br \/>\n<\/code><\/p>\n<p style=\"text-align: justify;\">Wurde Mopidy f\u00fcr einen User z.B. pi eingerichtet so l\u00e4sst sich Mopidy durch einfach durch Eingabe von<\/p>\n<p><code>mopidy<\/code><\/p>\n<p style=\"text-align: justify;\">starten. M\u00f6chtet ihr Mopidy als Service starten bzw. sp\u00e4ter beim Hochfahren des RaspberryPis starten lassen so m\u00fcssen wir es zun\u00e4chst in die Liste der Systemdienste aufnehmen. Das geschieht ganz einfach mit<\/p>\n<p><code>sudo systemctl enable mopidy<\/code><\/p>\n<p>Danach k\u00f6nnen wir Mopidy mit<\/p>\n<p><code>sudo systemctl start mopidy<\/code><\/p>\n<p style=\"text-align: justify;\">starten. Das Programm l\u00e4uft nun als Prozess im Hintergrund.<\/p>\n<p style=\"text-align: justify;\">Bei beiden Varianten dauert es je nach Anzahl und Typ der aktivierten Module bis zu zwei Minuten bis Mopidy fertig geladen ist. Gerade bei Spotify werden im Hintergrund jede Menge Daten und Playlists geladen.<\/p>\n<p style=\"text-align: justify;\">Den Webclient erreichen wir im Browser unter <a class=\"urlextern\" title=\"http:\/\/192.168.1.74:6680\/\" href=\"http:\/\/192.168.1.74:6680\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">http:\/\/192.168.1.74:6680\/<\/a>. Wenn nichts schiefgegangen ist, begr\u00fc\u00dft uns Mopidy mit folgendem Bild. Die jeweiligen installierten Webclients erreicht ihr mit Klick auf den Link &#8211; in unserem Beispiel <em>iris<\/em> oder <em>mobile<\/em>).<\/p>\n<p><a class=\"media\" title=\"bildschirmfoto_2020-03-24_um_13.34.36.png\" href=\"http:\/\/192.168.1.15\/lib\/exe\/detail.php?id=internetradio&amp;media=bildschirmfoto_2020-03-24_um_13.34.36.png\"><img decoding=\"async\" class=\"media\" src=\"http:\/\/192.168.1.15\/lib\/exe\/fetch.php?w=400&amp;tok=522ffd&amp;media=bildschirmfoto_2020-03-24_um_13.34.36.png\" alt=\"\" width=\"400\"><\/a><\/p>\n<\/div>\n<div class=\"secedit editbutton_section editbutton_4\">\n<form class=\"button btn_secedit\" action=\"http:\/\/192.168.1.15\/doku.php\" method=\"post\">\n<div class=\"no\"><button title=\"Mopidy installieren\" type=\"submit\">Bearbeiten<\/button><\/div>\n<\/form>\n<\/div>\n<h2 id=\"feintuning\" class=\"sectionedit5\">Feintuning<\/h2>\n<div class=\"level2\">\n<p style=\"text-align: justify;\">Die folgenden Erweiterungen k\u00f6nnen erst nach erfolgreicher Installation von Mopidy eingerichtet werden. In meinem Beispiel sind sie erst Tage bzw. Wochen sp\u00e4ter hinzugekommen.<\/p>\n<\/div>\n<h3 id=\"ncmpcpp_als_client\" class=\"sectionedit6\">ncmpcpp als Client<\/h3>\n<div class=\"level3\">\n<p>In unserer bisherigen Konfiguration wurden nur Webclients eingerichtet um Mopidy zu steuern. Mit <strong>ncmpcpp<\/strong>gibt es ein Programm mit dem man Mopidy \u00fcber ein Terminal steuern kann. Alle Funktionen sind m\u00f6glich und man ben\u00f6tigt daf\u00fcr kein Betriebssystem mit grafischer Benutzeroberfl\u00e4che und auch keinen Browser.<\/p>\n<p><a class=\"media\" title=\"terminal.png\" href=\"http:\/\/192.168.1.15\/lib\/exe\/detail.php?id=internetradio&amp;media=terminal.png\"><img decoding=\"async\" class=\"media\" src=\"http:\/\/192.168.1.15\/lib\/exe\/fetch.php?w=400&amp;tok=51c277&amp;media=terminal.png\" alt=\"\" width=\"400\"><\/a><\/p>\n<p>In meinem Fall war es ein alter RaspberryPi 1B mit Monitor, welcher bisher in der Werkstatt f\u00fcr die \u00dcberwachungskamera zust\u00e4ndig war, der mit neuen Funktionen ausgestattet wurde. Zugriff auf Internet-Radiostreams, auf Spotify, SoundCloud, Youtube und das nur vom Terminal aus &#8211; das ist schon irgendwie cool.<\/p>\n<p>Die Installation wird mit<\/p>\n<p><code>sudo apt-get install ncmpcpp<\/code><\/p>\n<p>gestartet und das war es auch schon. Wichtig ist, dass <em>Mopidy-MPD<\/em> installiert und der entsprechende Konfigurationsabschnitt in der <em>mopidy.conf<\/em> vorhanden ist. Eine \u00dcbersicht der Tastaturbelegung findet ihr <a class=\"media mediafile mf_pdf\" title=\"ncmpcpp_cheat_sheet.pdf (69.4&nbsp;KB)\" href=\"http:\/\/192.168.1.15\/lib\/exe\/fetch.php?media=ncmpcpp_cheat_sheet.pdf\">hier<\/a>.<\/p>\n<p>Letzte \u00c4nderung \u2014 <em><a class=\"mail\" title=\"kai.ortelt@t-online.de\" href=\"mailto:kai.ortelt@t-online.de\">Kai Ortelt<\/a> 2020\/03\/24 15:26<\/em><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Vorbereitung Zuerst laden wir uns das aktuelle Raspbian herunter. Zur Erstellung dieser Anleitung war es Raspbian Buster. Ich habe mich f\u00fcr die Variante mit Desktop entschieden. https:\/\/www.raspberrypi.org\/downloads\/raspbian\/ Das heruntergeladene Image wird mit einer geeigneten Software<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[134],"tags":[],"class_list":["post-530","post","type-post","status-publish","format-standard","hentry","category-computer-co"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.mindkick.de\/index.php?rest_route=\/wp\/v2\/posts\/530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mindkick.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mindkick.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mindkick.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mindkick.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=530"}],"version-history":[{"count":18,"href":"https:\/\/blog.mindkick.de\/index.php?rest_route=\/wp\/v2\/posts\/530\/revisions"}],"predecessor-version":[{"id":537,"href":"https:\/\/blog.mindkick.de\/index.php?rest_route=\/wp\/v2\/posts\/530\/revisions\/537"}],"wp:attachment":[{"href":"https:\/\/blog.mindkick.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mindkick.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mindkick.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}