Freenerding: "Autoradio" mit dem ReSpeaker 2-Mic Pi HAT V1.0 und einem pi zero W

in #deutsch4 years ago

Im roten Bus möchte ich gern Internetradio hören, auch weil das eingebaute Autoradio keinen guten Empfang und Bedienung hat.

Naheliegend war, das erst mal mit dem Smartphone und AUX zu machen. Dann war der Wunsch, eine dauerhaftere Lösung zu bauen.

Ich hatte eine pi zero w und eine Erweiterungsplatine für Audio (HAT) da, und mit der implementiere ich mein "smartes Autoradio".

t+5: bauen
pivoicehat.jpg

Als erstes steckt man das HAT auf den pi, flasht die SD-Karte mit raspbian bzw. raspiOS wie es nun heißt usw. blabla wie das geht weiß inzwischen wirklich jeder und sollte jeder auch hinbekommen ;-)

Dann clont man das git repo von https://github.com/respeaker/seeed-voicecard und startet mit ./install das Installationsscript. Das lädt benötigte Pakete und baut ein Kernelmodul für den bcm2835 audiochip auf dem HAT. Mein pi zero w brauchte dafür inkl. download ~10 min.

t+15: testen

Die Installation warf Fehlermeldungen, die aber ignorierbar aussahen. Ein Service seeed-voicecard.service failed, auch nach dem obligatorischen reboot.
Doch das Audio Gerät wird erkannt und mehr brauche ich ja eigentlich nicht.

pi@rottripaudiopi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: seeed2micvoicec [seeed-2mic-voicecard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [bcm2835-i2s-wm8960-hifi wm8960-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0

Die praktischste Zeile der unnötig ausführlichen Installationsanleitung im Hersteller Wiki ist diese, denn damit testet man den audio-input durch die MEMS Mikros und Output über den Headphone Jack gleichzeitig.

arecord -f cd -Dhw:1 | aplay -Dhw:1

Das funktioniert erfreulicherweise auf Anhieb.

t+20: Medien wiedergeben

Ein Test mit ffplay und einer ogg-Datei funktioniert ebenfalls.
Das ding ist fucking laut eingestellt (yuck!), drum setze ich die Lautstärke es erst mal runter

pi@rottripaudiopi:~ amixer set Headphone 2%
Simple mixer control 'Headphone',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback -10239 - 400
Mono: Playback -10026 [2%] [-100.26dB] [on]

Das ändert aber leider nix. Und das viech kann nur Mono wiedergeben.

t+30: b5 aktuell spielt

Google sagte mir, dass jemand hier schon mal die Stream-URLs für die öffentlich-rechtlichen Sender rausgekramt hat. Das gefällt, spart mir, die Browser F12 tools aufzurufen.

Mit dieser cmdline bekomme ich b5 aktuell auf dem Gerät abgespielt (und regle die Lautstärke einfach über den AUX), und damit habe ich mein bescheidenes Tagesziel für dieses Freenerding erreicht. :D

ffplay http://br-b5aktuell-live.cast.addradio.de/br/b5aktuell/live/mp3/128/stream.mp3

t+35: gewünschte Verbesserungen für später

  • Stereo (meh)
  • Autostart des Radioplaybacks, sobald das pi strom kriegt als startup script
  • Lautstärkeneinstellung fixen
  • restliche Funktionen des HAT (LEDs, Button, I2C Port) benutzen

bis zum nächsten Freenerding!

Sort:  

WOW! Freenerd Patrick for President! 😀

Echt stark!

LG Michael

!invest_vote
!jeenger

@mima2606 denkt du hast ein Vote durch @investinthefutur verdient!
@mima2606 thinks you have earned a vote of @investinthefutur !
Votet @cervisia for Witness

Ein jeengervote für dich von @mima2606