{"id":3825,"date":"2020-11-12T13:15:00","date_gmt":"2020-11-12T12:15:00","guid":{"rendered":"https:\/\/www.lieblos.de\/?p=3825"},"modified":"2020-11-13T13:17:05","modified_gmt":"2020-11-13T12:17:05","slug":"muk1-software-phoniebox","status":"publish","type":"post","link":"https:\/\/www.lieblos.de\/?p=3825","title":{"rendered":"Muk1: Software (Phoniebox)"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"alignright size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lieblos.de\/wp-content\/uploads\/2020\/11\/Bildschirmfoto-2020-11-13-um-10.44.46.png\" alt=\"\" class=\"wp-image-3848\" width=\"200\" height=\"427\"\/><\/figure><\/div>\n\n\n\n<p>Wie schon damals vor fast 40 Jahren: Erst die Software w\u00e4hlen, dann erst die Hardware. Nat\u00fcrlich hab ichs andersherum gemacht , denn der Raspberry Pi lag noch rum : )<\/p>\n\n\n\n<p>Es gibt solch Softwareprojekte auch f\u00fcr den Arduino &#8211; hier gehts um <strong>Phoniebox auf dem Raspberry<\/strong> Pi. Aktuell in der Version 2.1.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/MiczFlor\/RPi-Jukebox-RFID\" target=\"_blank\" rel=\"noreferrer noopener\">Das Projekt findet man auf GitHub<\/a>.<\/p>\n\n\n\n<p>Alles beginnt wie immer mit einer Installation von einem Betriebssystem auf einer SD Karte f\u00fcr den Raspberry. Das geht dieser Tage sehr einfach: Auf die <a href=\"https:\/\/www.raspberrypi.org\/software\/\" target=\"_blank\" rel=\"noreferrer noopener\">Softwareseite von raspberry.org<\/a> gehen, den Imager runterladen und starten. In der Software dann das Betriebssystem und die SD Karte w\u00e4hlen, Klick und schon l\u00e4d er das richtige Image runter und packt das auf die SD Karte. Der alte Weg (den ich wieder unwissend w\u00e4hlte) das Image vorher runterzuladen (2020-08-20-raspios-buster-armhf.img) und dann in dem Imager lokal auszuw\u00e4hlen geht nat\u00fcrlich auch.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Ich habe eine 128gb Karte gew\u00e4hlt, da ich ja einiges an Musik lokal auf die Box packen will. Man kann nat\u00fcrlich sp\u00e4ter die Musik auch aus dem Heimnetz holen (Netzlaufwerk beim PI einbinden) oder eben nur Streams abspielen. Muss man sehen, was man machen will.<\/p>\n\n\n\n<p>Dann r\u00fcber zum Pi und die SD Karte rein und die Betriebssysteminstallation an der Kiste beenden (bei mir mit angeschlossener Tastatur und Monitor). Wenn das durch ist wird Phoniebox mit einem einfachen Shellaufruf installiert:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd; rm buster-install-*; wget https:\/\/raw.githubusercontent.com\/MiczFlor\/RPi-Jukebox-RFID\/master\/scripts\/installscripts\/buster-install-default.sh; chmod +x buster-install-default.sh; .\/buster-install-default.sh<\/code><\/pre>\n\n\n\n<p>Siehe <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/MiczFlor\/RPi-Jukebox-RFID\/wiki\/INSTALL-stretch#one-line-install-command\" target=\"_blank\">https:\/\/github.com\/MiczFlor\/RPi-Jukebox-RFID\/wiki\/INSTALL-stretch#one-line-install-command<\/a>. Insgesamt ist die GitHub Seite sehr hilfreich, sie ist aber nicht in allen Ecken aktuell und hat mir nur zu 98% geholfen. Die letzten zwei Prozent musste ich selber rausfinden &#8211; nachfolgend mein funktionierender Ansatz:<\/p>\n\n\n\n<p>W\u00e4hrend des Installationsskriptes kommen ein paar Abfragen. F\u00fcr mich funktionierte (ggf nicht komplett da aus Erinnerungen):<\/p>\n\n\n\n<p><em>Spotify? nein<\/em><\/p>\n\n\n\n<p><em>WLAN Konfigurieren? nein (Hab ich bei der Pi Installation gemacht)<\/em><\/p>\n\n\n\n<p><em>Audioname (iFace)? Speaker (USB Soundkarte angeschlossen)<\/em><\/p>\n\n\n\n<p><em>GPIO? ja<\/em><\/p>\n\n\n\n<p><em>RFID Leser? ja, den Neuftech gew\u00e4hlt (vorher auch angeschlossen)<\/em><\/p>\n\n\n\n<p><em>Mixer?  Amixer \/ Alsa (Das hat mich viel Zeit gekostet von MPD darauf zu wechseln. Mit MPD habe ich den Drehregler (Rotary Knob) nicht zum Laufen bekommen &#8211; Die Mixereinstellung kann man sp\u00e4ter auch im Webinterface umstellen)<\/em><\/p>\n\n\n\n<p><em>Musikverzeichnis? \/home\/pi\/musik<\/em><\/p>\n\n\n\n<p>Wenn das Installationsskript fertig ist lief es bei mir noch nicht : ) Ich musste noch die Soundkarte richtig konfigurieren. Aus den Erfahrungen resultiert auch oben der Audioname, den ich vorher von der verwendeten Soundkarte folgendermassen herausgefunden habe:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pi@raspberrypi:~\/RPi-Jukebox-RFID\/scripts $ amixer scontrols\nSimple mixer control 'Speaker',0\nSimple mixer control 'Mic',0\nSimple mixer control 'Auto Gain Control',0<\/code><\/pre>\n\n\n\n<p>Sollte man das bei der Installation nicht genau wissen ist das nicht schlimm. Man kann <em>Speaker<\/em> versuchen, oder auch die Vorgabe. Nachdem man dann die richtige Bezeichnung herausgefunden hat kann man diese in  folgenden Dateien \u00e4ndern:<\/p>\n\n\n\n<pre id=\"block-cd991452-d509-47e6-ab14-e5dca7b10391\" class=\"wp-block-preformatted\">~\/RPi-Jukebox-RFID\/settings\/Audio_iFace_Name\n~\/RPi-Jukebox-RFID\/settings\/mpd.conf\n<\/pre>\n\n\n\n<p>Was man zus\u00e4tzlich sicher anpassen muss (zumindest, wenn man eine Soundkarte verwendet) ist die ID der Soundkarte am USB Bus. Diese ID bekommt man schnell mit zwei verschiedenen Methoden raus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pi@raspberrypi:~\/RPi-Jukebox-RFID\/scripts $ aplay -l\n**** Liste der Hardware-Ger\u00e4te (PLAYBACK) ****\nKarte 0: Headphones &#91;bcm2835 Headphones], Ger\u00e4t 0: bcm2835 Headphones &#91;bcm2835 Headphones]\n  Sub-Ger\u00e4te: 8\/8\n  Sub-Ger\u00e4t #0: subdevice #0\n  Sub-Ger\u00e4t #1: subdevice #1\n  Sub-Ger\u00e4t #2: subdevice #2\n  Sub-Ger\u00e4t #3: subdevice #3\n  Sub-Ger\u00e4t #4: subdevice #4\n  Sub-Ger\u00e4t #5: subdevice #5\n  Sub-Ger\u00e4t #6: subdevice #6\n  Sub-Ger\u00e4t #7: subdevice #7\nKarte 1: Device &#91;USB Audio Device], Ger\u00e4t 0: USB Audio &#91;USB Audio]\n  Sub-Ger\u00e4te: 0\/1\n  Sub-Ger\u00e4t #0: subdevice #0\n<\/code><\/pre>\n\n\n\n<p>oder<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pi@raspberrypi:~\/RPi-Jukebox-RFID $ cat \/proc\/asound\/modules\n 0 snd_bcm2835\n 1 snd_usb_audio<\/code><\/pre>\n\n\n\n<p>Mit beiden Kommandos findet man heraus, dass meine Soundkarte auf ID 1 liegt. Dies muss in der mpd.conf entsprechend eingestellt werden. Die Voreinstellung ist dort 0 und die Zeile &#8222;device hw:0,0&#8220; ist entsprechend auskommentiert. Bei mir sieht das nach Bearbeitung an der Stelle in der Datei so aus (mehr als das habe ich nicht ver\u00e4ndert):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pi@raspberrypi:~\/RPi-Jukebox-RFID\/scripts $ sudo vi \/etc\/mpd.conf \n\naudio_output {\n        type            \"alsa\"\n        name            \"My ALSA Device\"\n        device          \"hw:1,0\"        # optional\n#       mixer_type      \"hardware\"      # optional\n#       mixer_device    \"default\"       # optional\n        mixer_control   \"Speaker\"       # optional\n#       mixer_index     \"0\"             # optional\n}\n<\/code><\/pre>\n\n\n\n<p>Wenn man das hinter sich hat sollte der Sound funktionieren. Den entsprechenden Drehknopf (rotary knob) und die angeschlosene LED m\u00fcssen zur einwandfreien Funktion in der gpio_settings.ini entsprechend den Anschl\u00fcssen konfiguriert werden. Bei mir sieht das folgendermassen aus und sollte zur Anschlussdarstellung in Muk1: Hardware passen.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pi@raspberrypi:~\/RPi-Jukebox-RFID\/settings $ more gpio_settings.ini \n&#91;DEFAULT]\nenabled: True\n\n&#91;VolumeControl]\nenabled: True\nType: RotaryEncoder\nPinUp: 12\nPinDown: 23\nhold_time: 0.3\ntimeBase: 0.1 \nfunctionCallDown: functionCallVolD\nfunctionCallUp: functionCallVolU\n\n&#91;PlayPause]\nenable: True\nType: Button\nPin: 27\npull_up: True\nfunctionCall: functionCallPlayerPause\n\n&#91;StatusLED]\nenable: True\nType: MPDStatusLED\nPin: 17\n<\/code><\/pre>\n\n\n\n<p>So, nun ist alles Konfiguriert bis auf eben genau die Musik, die spielen soll, wenn eine Karte \u00fcber den RFID Leser gezogen wird. Das kann man einfach im Webinterface von Phoniebox machen &#8211; und dass das so einfach ist (n\u00e4mlich ohne Benutzerzertifizierung) ist auch der einzige Nachteil der verwendeten Software: Wer die IP Adresse im Netz weiss, kann diese einfach aufrufen und Konfigurations\u00e4nderungen machen wie sie\/er\/irgendwer will. Mich st\u00f6rt es hier nicht so, soll ja einfach sein und im Normalfall bekommen die Bierlaunepartner dar\u00fcber keine Information sondern nur die sch\u00f6nen physischen Karten durch die sie sich durchw\u00fchlen d\u00fcrfen : -)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1162\" height=\"986\" src=\"https:\/\/www.lieblos.de\/wp-content\/uploads\/2020\/11\/Bildschirmfoto-2020-11-13-um-13.07.36.png\" alt=\"\" class=\"wp-image-3852\" srcset=\"https:\/\/www.lieblos.de\/wp-content\/uploads\/2020\/11\/Bildschirmfoto-2020-11-13-um-13.07.36.png 1162w, https:\/\/www.lieblos.de\/wp-content\/uploads\/2020\/11\/Bildschirmfoto-2020-11-13-um-13.07.36-900x764.png 900w, https:\/\/www.lieblos.de\/wp-content\/uploads\/2020\/11\/Bildschirmfoto-2020-11-13-um-13.07.36-768x652.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption>So sieht das bei mir ungef\u00e4hr aus, wenn man im Browser die IP meines MUk1 eingibt.<\/figcaption><\/figure>\n\n\n\n<p>Unter dem Men\u00fcpunkt &#8222;Karten-ID&#8220; einfach eine neue Karte \u00fcber den RFID Leser ziehen. Die ausgelesene Kartennummer wird in das Karten-ID-Feld eingetragen. Danach einfach Musik zuweisen:<\/p>\n\n\n\n<p>a) <strong>Einfach einen Ordner<\/strong> unterhalb des konfigurierten Musikordners (bei mir \/home\/pi\/musik) w\u00e4hlen &#8211; Achtung! Ich habe es nicht hinbekommen, das unterhalb dieses Ordners eine weitere Ordnerstruktur existieren darf. Alle Datein m\u00fcssen im ausgew\u00e4hlten Verzeichnis liegen. Das ist doof, wenn man einfach seine wahrscheinlich existierende Albumstruktur verwenden m\u00f6chte : ( Ich wollte eh alles lokal auf die Box kopieren um auch an Ecken ohne mein WLAN Musik mit der Kiste spielen zu k\u00f6nnen (mal eben mit zum Nachbarn nehmen)<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lieblos.de\/wp-content\/uploads\/2020\/11\/Bildschirmfoto-2020-11-13-um-13.05.39.png\" alt=\"\" class=\"wp-image-3851\" width=\"277\" height=\"327\"\/><figcaption>Ausschnitt meiner Kartenkonfig.<\/figcaption><\/figure><\/div>\n\n\n\n<p>b) <strong>Internetstream<\/strong> unter &#8222;Stream verlinken&#8220; einstellen. Hierzu muss nicht nur die Stream URL angegeben werden, sondern auch ein Verzeichnisnahme im Musikordner (in dem wird die URL und konfig des Streams abgelegt) und die Streamart. <\/p>\n\n\n\n<p>c) <strong>Youtube<\/strong> &#8211; hab ich noch nicht ausprobiert<\/p>\n\n\n\n<p>d) Wenn man <strong>Spotify<\/strong> nutzt sollte das auch irgendwie gehen : )<\/p>\n\n\n\n<p>F\u00fcr jede konfigurierte Karte kann man unter &#8222;Player&#8220; noch einstellen ob die Musikdatein\/H\u00f6rspieldatein genau da wieder begonnen werden sollen, wo sie zuvor beendet wurden (H\u00f6rspiele!) oder ob per Zufall eine Musikdatei ausgew\u00e4hlt werden soll (Dieses sorgt bei mir daf\u00fcr, dass bei jedem neuen Kartenauflegen ein neuer Zufallssong ausgew\u00e4hlt wird, quasi aktuellen Song skippen : ). Die Funktion &#8222;Einzel&#8220; habe ich bisher noch nicht ausprobiert.<\/p>\n\n\n\n<p>Und drum und soweit: <strong>Pop Pop Marsch Marsch<\/strong> (frei nach Pops t\u00f6nende Wunderwelt,- auch da fehlt mir noch eine Karte :)<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Fragen oder \u00c4rger bei der Installion? Hab ich was vergessen? Ich weiss auch nicht alles, aber Fragen per Mail immer gerne.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"519\" src=\"https:\/\/www.lieblos.de\/wp-content\/uploads\/2020\/11\/Muk1-1-1.jpg\" alt=\"\" class=\"wp-image-3855\" srcset=\"https:\/\/www.lieblos.de\/wp-content\/uploads\/2020\/11\/Muk1-1-1.jpg 1000w, https:\/\/www.lieblos.de\/wp-content\/uploads\/2020\/11\/Muk1-1-1-900x467.jpg 900w, https:\/\/www.lieblos.de\/wp-content\/uploads\/2020\/11\/Muk1-1-1-768x399.jpg 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption>Muk1: Musik aus der Holzbox mit Phoniebox<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wie schon damals vor fast 40 Jahren: Erst die Software w\u00e4hlen, dann erst die Hardware. Nat\u00fcrlich hab ichs andersherum gemacht , denn der Raspberry Pi lag noch rum : ) Es gibt solch Softwareprojekte auch f\u00fcr den Arduino &#8211; hier gehts um Phoniebox auf dem Raspberry Pi. Aktuell in der Version 2.1. Das Projekt findet &hellip; <a href=\"https:\/\/www.lieblos.de\/?p=3825\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eMuk1: Software (Phoniebox)\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40,50,5],"tags":[],"class_list":["post-3825","post","type-post","status-publish","format-standard","hentry","category-fuschstueckchen","category-muk1-rfid-musikbox","category-techno"],"_links":{"self":[{"href":"https:\/\/www.lieblos.de\/index.php?rest_route=\/wp\/v2\/posts\/3825","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lieblos.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lieblos.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lieblos.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lieblos.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3825"}],"version-history":[{"count":9,"href":"https:\/\/www.lieblos.de\/index.php?rest_route=\/wp\/v2\/posts\/3825\/revisions"}],"predecessor-version":[{"id":3857,"href":"https:\/\/www.lieblos.de\/index.php?rest_route=\/wp\/v2\/posts\/3825\/revisions\/3857"}],"wp:attachment":[{"href":"https:\/\/www.lieblos.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3825"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lieblos.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3825"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lieblos.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}