- Offizieller Beitrag
el.mar 16? GPIO oder Pin? Sieh mal hier: https://de.pinout.xyz/pinout
Achso, welches Skript meinst Du (bitte mit Link)? hier geistern mittlerweile so einige Skripte herum.
el.mar 16? GPIO oder Pin? Sieh mal hier: https://de.pinout.xyz/pinout
Achso, welches Skript meinst Du (bitte mit Link)? hier geistern mittlerweile so einige Skripte herum.
[Projekt] jukebox4kids (Jukebox für Kinder)? Schau mal ob du hier fündig wirst!
Du wolltest Pullup schreiben!
https://www.elektronik-kompendium.de/sites/raspberry-pi/2006051.htm
Richtig. Hatte gerade den Button im Kopf, der ziehts dann natürlich runter.
Ah, dann kann das gar nicht funktionieren, wenn ich zum Test nur 16 mit GND und Schalter verbinde, weil die Grundspannung fehlt?
Genau
Achso, welches Skript meinst Du (bitte mit Link)? hier geistern mittlerweile so einige Skripte herum.
https://github.com/MiczFlor/RPi-J…GPIO-BUTTONS.md
Ich meine den Pin.
Alles klar!
Ich meine den Pin.
gpiozero arbeitet mit den GPIO-Nummern, d.h. Pin 16 = GPIO (BCM) 23. Da Du aber an GPIO 16 (Pin 36) keinen Taster angeschlossen hast passiert da auch nichts.
Habe mir https://github.com/MiczFlor/RPi-J…GPIO-BUTTONS.md nochmals genauer angesehen und verstehe nun wie Du auf z.B. Pin 16 gekommen bist. Die Tabelle auf der Seite stimmt nicht, bzw. nur z.T., mit den verwendeten GPIO im Sampleskript überein!
Hilfreich wäre auch die Ausgabe von cat /proc/asound/cards, damit man auch die /usr/share/alsa/alsa.conf und die /etc/asound.conf richtig anpassen kann.
cat /proc/asound/cards
0 [sndrpihifiberry]: HifiberryDac - snd_rpi_hifiberry_dac
snd_rpi_hifiberry_dac
In der /usr/share/alsa/alsa.conf habe ich nichts angepaßt, die /etc/asound.conf sieht wie folgt aus:
pcm.hifiberry {
type softvol
slave.pcm "plughw:0"
control.name "Master"
control.card 0
}
pcm.!default {
type plug
slave.pcm "hifiberry"
}
Alles anzeigen
#
# ALSA library configuration file
#
# pre-load the configuration files
@hooks [
{
func load
files [
{
@func concat
strings [
{ @func datadir }
"/alsa.conf.d/"
]
}
"/etc/asound.conf"
"~/.asoundrc"
]
errors false
}
]
# load card-specific configuration files (on request)
cards.@hooks [
{
func load
files [
{
@func concat
strings [
{ @func datadir }
"/cards/aliases.conf"
]
}
]
}
{
func load_for_all_cards
files [
{
@func concat
strings [
{ @func datadir }
"/cards/"
{ @func private_string }
".conf"
]
}
]
errors false
}
]
#
# defaults
#
# show all name hints also for definitions without hint {} section
defaults.namehint.showall on
# show just basic name hints
defaults.namehint.basic on
# show extended name hints
defaults.namehint.extended on
#
defaults.ctl.card 0
defaults.pcm.card 0
defaults.pcm.device 0
defaults.pcm.subdevice -1
defaults.pcm.nonblock 1
defaults.pcm.compat 0
defaults.pcm.minperiodtime 5000 # in us
defaults.pcm.ipc_key 5678293
defaults.pcm.ipc_gid audio
defaults.pcm.ipc_perm 0660
defaults.pcm.dmix.max_periods 0
defaults.pcm.dmix.rate 48000
defaults.pcm.dmix.format "unchanged"
defaults.pcm.dmix.card defaults.pcm.card
defaults.pcm.dmix.device defaults.pcm.device
defaults.pcm.dsnoop.card defaults.pcm.card
defaults.pcm.dsnoop.device defaults.pcm.device
defaults.pcm.front.card defaults.pcm.card
defaults.pcm.front.device defaults.pcm.device
defaults.pcm.rear.card defaults.pcm.card
defaults.pcm.rear.device defaults.pcm.device
defaults.pcm.center_lfe.card defaults.pcm.card
defaults.pcm.center_lfe.device defaults.pcm.device
defaults.pcm.side.card defaults.pcm.card
defaults.pcm.side.device defaults.pcm.device
defaults.pcm.surround21.card defaults.pcm.card
defaults.pcm.surround21.device defaults.pcm.device
defaults.pcm.surround40.card defaults.pcm.card
defaults.pcm.surround40.device defaults.pcm.device
defaults.pcm.surround41.card defaults.pcm.card
defaults.pcm.surround41.device defaults.pcm.device
defaults.pcm.surround50.card defaults.pcm.card
defaults.pcm.surround50.device defaults.pcm.device
defaults.pcm.surround51.card defaults.pcm.card
defaults.pcm.surround51.device defaults.pcm.device
defaults.pcm.surround71.card defaults.pcm.card
defaults.pcm.surround71.device defaults.pcm.device
defaults.pcm.iec958.card defaults.pcm.card
defaults.pcm.iec958.device defaults.pcm.device
defaults.pcm.modem.card defaults.pcm.card
defaults.pcm.modem.device defaults.pcm.device
# truncate files via file or tee PCM
defaults.pcm.file_format "raw"
defaults.pcm.file_truncate true
defaults.rawmidi.card 0
defaults.rawmidi.device 0
defaults.rawmidi.subdevice -1
defaults.hwdep.card 0
defaults.hwdep.device 0
defaults.timer.class 2
defaults.timer.sclass 0
defaults.timer.card 0
defaults.timer.device 0
defaults.timer.subdevice 0
#
# PCM interface
#
# redirect to load-on-demand extended pcm definitions
pcm.cards cards.pcm
pcm.default cards.pcm.default
pcm.sysdefault cards.pcm.default
pcm.front cards.pcm.front
pcm.rear cards.pcm.rear
pcm.center_lfe cards.pcm.center_lfe
pcm.side cards.pcm.side
pcm.surround21 cards.pcm.surround21
pcm.surround40 cards.pcm.surround40
pcm.surround41 cards.pcm.surround41
pcm.surround50 cards.pcm.surround50
pcm.surround51 cards.pcm.surround51
pcm.surround71 cards.pcm.surround71
pcm.iec958 cards.pcm.iec958
pcm.spdif iec958
pcm.hdmi cards.pcm.hdmi
pcm.dmix cards.pcm.dmix
pcm.dsnoop cards.pcm.dsnoop
pcm.modem cards.pcm.modem
pcm.phoneline cards.pcm.phoneline
pcm.hw {
@args [ CARD DEV SUBDEV ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_PCM_CARD
ALSA_CARD
]
default {
@func refer
name defaults.pcm.card
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars [
ALSA_PCM_DEVICE
]
default {
@func refer
name defaults.pcm.device
}
}
}
@args.SUBDEV {
type integer
default {
@func refer
name defaults.pcm.subdevice
}
}
type hw
card $CARD
device $DEV
subdevice $SUBDEV
hint {
show {
@func refer
name defaults.namehint.extended
}
description "Direct hardware device without any conversions"
}
}
pcm.plughw {
@args [ CARD DEV SUBDEV ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_PCM_CARD
ALSA_CARD
]
default {
@func refer
name defaults.pcm.card
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars [
ALSA_PCM_DEVICE
]
default {
@func refer
name defaults.pcm.device
}
}
}
@args.SUBDEV {
type integer
default {
@func refer
name defaults.pcm.subdevice
}
}
type plug
slave.pcm {
type hw
card $CARD
device $DEV
subdevice $SUBDEV
}
hint {
show {
@func refer
name defaults.namehint.extended
}
description "Hardware device with all software conversions"
}
}
pcm.plug {
@args [ SLAVE ]
@args.SLAVE {
type string
}
type plug
slave.pcm $SLAVE
}
pcm.shm {
@args [ SOCKET PCM ]
@args.SOCKET {
type string
}
@args.PCM {
type string
}
type shm
server $SOCKET
pcm $PCM
}
pcm.tee {
@args [ SLAVE FILE FORMAT ]
@args.SLAVE {
type string
}
@args.FILE {
type string
}
@args.FORMAT {
type string
default {
@func refer
name defaults.pcm.file_format
}
}
type file
slave.pcm $SLAVE
file $FILE
format $FORMAT
truncate {
@func refer
name defaults.pcm.file_truncate
}
}
pcm.file {
@args [ FILE FORMAT ]
@args.FILE {
type string
}
@args.FORMAT {
type string
default {
@func refer
name defaults.pcm.file_format
}
}
type file
slave.pcm null
file $FILE
format $FORMAT
truncate {
@func refer
name defaults.pcm.file_truncate
}
}
pcm.null {
type null
hint {
show {
@func refer
name defaults.namehint.basic
}
description "Discard all samples (playback) or generate zero samples (capture)"
}
}
#
# Control interface
#
ctl.sysdefault {
type hw
card {
@func getenv
vars [
ALSA_CTL_CARD
ALSA_CARD
]
default {
@func refer
name defaults.ctl.card
}
}
hint.description "Default control device"
}
ctl.default ctl.sysdefault
ctl.hw {
@args [ CARD ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_CTL_CARD
ALSA_CARD
]
default {
@func refer
name defaults.ctl.card
}
}
}
type hw
card $CARD
hint.description "Direct control device"
}
ctl.shm {
@args [ SOCKET CTL ]
@args.SOCKET {
type string
}
@args.CTL {
type string
}
type shm
server $SOCKET
ctl $CTL
}
#
# RawMidi interface
#
rawmidi.default {
type hw
card {
@func getenv
vars [
ALSA_RAWMIDI_CARD
ALSA_CARD
]
default {
@func refer
name defaults.rawmidi.card
}
}
device {
@func igetenv
vars [
ALSA_RAWMIDI_DEVICE
]
default {
@func refer
name defaults.rawmidi.device
}
}
hint.description "Default raw MIDI device"
}
rawmidi.hw {
@args [ CARD DEV SUBDEV ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_RAWMIDI_CARD
ALSA_CARD
]
default {
@func refer
name defaults.rawmidi.card
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars [
ALSA_RAWMIDI_DEVICE
]
default {
@func refer
name defaults.rawmidi.device
}
}
}
@args.SUBDEV {
type integer
default -1
}
type hw
card $CARD
device $DEV
subdevice $SUBDEV
hint {
description "Direct rawmidi driver device"
device $DEV
}
}
rawmidi.virtual {
@args [ MERGE ]
@args.MERGE {
type string
default 1
}
type virtual
merge $MERGE
}
#
# Sequencer interface
#
seq.default {
type hw
hint.description "Default sequencer device"
}
seq.hw {
type hw
}
#
# HwDep interface
#
hwdep.default {
type hw
card {
@func getenv
vars [
ALSA_HWDEP_CARD
ALSA_CARD
]
default {
@func refer
name defaults.hwdep.card
}
}
device {
@func igetenv
vars [
ALSA_HWDEP_DEVICE
]
default {
@func refer
name defaults.hwdep.device
}
}
hint.description "Default hardware dependent device"
}
hwdep.hw {
@args [ CARD DEV ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_HWDEP_CARD
ALSA_CARD
]
default {
@func refer
name defaults.hwdep.card
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars [
ALSA_HWDEP_DEVICE
]
default {
@func refer
name defaults.hwdep.device
}
}
}
type hw
card $CARD
device $DEV
hint {
description "Direct hardware dependent device"
device $DEV
}
}
#
# Timer interface
#
timer_query.default {
type hw
}
timer_query.hw {
type hw
}
timer.default {
type hw
class {
@func refer
name defaults.timer.class
}
sclass {
@func refer
name defaults.timer.sclass
}
card {
@func refer
name defaults.timer.card
}
device {
@func refer
name defaults.timer.device
}
subdevice {
@func refer
name defaults.timer.subdevice
}
hint.description "Default timer device"
}
timer.hw {
@args [ CLASS SCLASS CARD DEV SUBDEV ]
@args.CLASS {
type integer
default {
@func refer
name defaults.timer.class
}
}
@args.SCLASS {
type integer
default {
@func refer
name defaults.timer.sclass
}
}
@args.CARD {
type string
default {
@func refer
name defaults.timer.card
}
}
@args.DEV {
type integer
default {
@func refer
name defaults.timer.device
}
}
@args.SUBDEV {
type integer
default {
@func refer
name defaults.timer.subdevice
}
}
type hw
class $CLASS
sclass $SCLASS
card $CARD
device $DEV
subdevice $SUBDEV
hint {
description "Direct timer device"
device $DEV
}
}
Alles anzeigen
Und danach mpd neu gestartet?
gerade noch einmal getestet, PI nach dem Setup rebootet, ohne Erfolg.
Ich habe gerade eben noch was gefunden:
https://www.max2play.com/en/forums/topi…volume-problem/
Darin wurde laut Hifi-Berry Support folgender Eintrag für die mpd.conf gewählt
das Feld "Name" habe ich so definitiv noch nie deklariert. Ich werde es heute Abend mal testen, wenn ich wieder davor sitze...
Eben auch ausprobiert, damit kann ich im MPD keine Lautstärle mehr einstellen, zeigt immer 0% an
Nee nee, das hab ich schon richtig verstanden. Das ist nicht das Problem.
Die Belegung im Skript hatte ich auch schon überprüft und entsprechend gesteckt. Aber mein Fehler scheint zu sein, dass ich nicht generell mit 3,3V versorgt habe. Das war mir nicht klar.
Hatte das wir hier so verstanden, dass der Button nur ein Signal gibt und keine zusätzliche Spannung benötigt.
Aber mein Fehler scheint zu sein, dass ich nicht generell mit 3,3V versorgt habe. Das war mir nicht klar.
Hatte das wir hier so verstanden, dass der Button nur ein Signal gibt und keine zusätzliche Spannung benötigt.
Ja, das geht grundsätzlich auch. Man kann man die 3,3V inkl. ("Pullup-")Widerstand auch in Software zuschalten lassen, dann passiert das automatisch intern im Prozessor. Dann müsstest Du ein Skript wie in diesem Link beschrieben nehmen. Das Beispielskript im Github-Projekt geht m.E. davon aus, dass man selbst einen Widerstand gegen 3.3V platziert.
Der Nachteil von der Softwarelösung ist, dass die Beschaltung mit Pullup/Pulldownwiderständen nicht für alle GPIO-Pins zur Verfügung steht (die Ausnahmen habe ich nicht im Kopf, müsste ich googeln).
Und auch hier besteht das Problem: Wenn Du aus Versehen ein anderes Skript startest (z.B. für ein anderes Bastelprojekt), welches den Pin als Output-Pin konfiguriert, dann hast Du außen dran nur Deinen Button gegen Masse. Wenn Du den dann drückst, fließt zuviel Strom aus dem GPIO und der Prozi kann beschädigt werden.
Daher ist die Variante mit den Widerständen am Button die sicherste...
dann sollte ich mir auch noch ein breadboard für meine box kaufen, habe sie ohne widerstände an den buttons gebaut..
hyle jo past nicht. Der Skript für die Buttons würde mal angepasst da man es mit den allgemeinen Befehlskript verbunden hat.
Ja, das geht grundsätzlich auch.
mhh. Dann klärt das aber noch nicht, warum ich die Buttons nicht ansteuern kann. Wo kann ich denn die Softwarelösung deaktivieren? Oder kann ich die eingeschaltet lassen, wenn ich das mit der 3.3v-Lösung ausprobiere?
bei mir kam auch ein fehler, deswegen habe ich mir diese anleitung zum installieren von gpio zero angeguckt, dann hat es funktioniert.
https://gpiozero.readthedocs.io/en/stable/installing.html
danach konnte ich mit den Buttons alles steuern
Wo kann ich denn die Softwarelösung deaktivieren? Oder kann ich die eingeschaltet lassen, wenn ich das mit der 3.3v-Lösung ausprobiere?
Im Beispielskript der Phoniebox sieht man das glaube ich hier ganz gut:
shut = Button(3, hold_time=2)
vol0 = Button(13)
volU = Button(16,pull_up=True)
volD = Button(19,pull_up=True)
next = Button(26)
prev = Button(20)
halt = Button(21)
Da steht beim Button für Lauter (volU) und leiser (VolD) ein ",pull_up=True" mit dabei. Das müsste heißen, dass hier der Widerstand gegen 3.3V per Software aktiviert wird. Umgekehrt ist das bei den anderen Buttons deaktiviert (wenn mans nicht angibt, ist es aus), dort braucht man dann 1-2 eigene Widerstände pro Button.
Somit müsste das mit ",pull_up=True" dann mit einem Button nur gegen Masse funktionieren. Ich habe das aber noch nicht selbst ausprobiert. Wie gesagt gibt es aber 2, 3 GPIO-Pins wo das per Software NICHT funktioniert.
Hallo allerseits,
Ich bin hier seit einiger Zeit nur lesender weise unterwegs gewesen und habe mich nun auch daran gemacht die Phoniebox für meine Tocher zu bauen. Ich bi ziemlich begeistert wieviel Arbeit hier schon drin steckt und finde die Dokumentation grandios!
Trotzdem, ich habe ein kleine Problem:
Soweit funktioniert alles ganz gut, aber die Funktion Latest_Folder_Played läuft bei mir nicht.
Symptom:
Die Datei Latest_Folder_Played wird ums verrecken nicht gschrieben (bleibt leer):
sudo echo ${VALUE} > $PATHDATA/../settings/Latest_Folder_Played
LinkZumRepo (Zeile 354)
Grund:
Es scheint an dem sudo am Zeilenanfang zu liegen. Wenn ich die Datei lösche und sudo entferne funktioniert es auf einmal. Lösche ich sie erneut und führe den Befehl mit sudo aus, hab ich das selbe Problem wieder.
Ich arbeite unter stretch Kernel 4.14.50-v7+, und mein Benutzer ist Sudoer.
Hat jemand vielleicht eine Idee?
Viele Grüße,
Henning
Kurzes Update, ich habe alles noch einmal platt gemacht und clean angefangen, geht zwar immer noch nicht aber eines ist mir aufgefallen
Zuerst habe ich Stretch installiert und den Hifiberry Miniamp enabled, ein "speaker-test -c2 --test=wav -w /usr/share/sounds/alsa/Front_Center.wav" gibt entsprechend den Ton aus, auch nach mehreren reboots. Dann habe ich diesmal die Phoniebox mit dem Script installiert, lief soweit alles durch. Ich habe über Samba ein paar MP3s hochgeladen und wollte diese über die Weboberfläche starten -> hat nicht funktioniert. Daraufhin habe ich noch einmal per SSH den speaker-test durchgeführt, der Testsound wurde ausgegeben, also habe ich den Pi per sudo reboot neu gestartet, mit dem Ergebnis das der speaker-test nun stumm bleibt
Hat hier den wirklich niemand einen miniamp oder vergleichbares erfolgreich laufen??
bezüglich einer asound.conf für den HifiBerry MiniAMP kann ich vielleicht aushelfen (Siehe Dateianhänge). Hier hat mir das Forenmitglied smutbert sehr geholfen, den MiniAMP bei meinem Raspiblaster (basierend auf dem audacious-Mediaplayer) vernünftig einzurichten, dafür nochmals
Was mir letztlich auffiel, ist die Tatsache, dass mit dem omxplayer von Raspbian nur eine "einfache" ALSA-Konfiguration funktioniert. Eine etwas komplexere wie in meiner Beispieldatei, die einen Mixer implementiert, um mehrere Audioquellen gleichzeitig wiedergeben zu können, funktioniert zwar mit den meisten anderen Programmen, aber nicht mit dem omxplayer sowie mit Programmen, die darauf aufbauen, wie z.B. mein yamuplay. Aber der omxplayer ist bei diesem Projekt ja außen vor.
Ein weiterer Punkt ist die Anpassung an periphere Soundkarten wie die HifiBerry-Produkte in der config.txt. Dabei wurde für den MiniAMP folgender Block angepasst:
# Enable audio (loads snd_bcm2835)
####dtparam=audio=on
# in spite of the upper line the HiFiBerry MiniAmp V1.0 is activated:
dtoverlay=hifiberry-dac
Wichtig ist, die interne "Soundkarte" des SoC 283x zu deaktivieren, was hier über Auskommentieren der Zeile dtparam=audio=on erfolgt und die Einbindung des richtigen Treibers für den HifiBerry MiniAMP: dtoverlay=hifiberry-dac
Der MiniAMP ist kompatibel zum HifiBerry DAC, nicht zum DAC+. Also unbedingt ohne Pluszeichen!
Interessant ist evtl. der folgende Forenthread: HifiBerry MiniAMP aktivieren
Zu meinem Raspiblaster habe ich auf github eine Installationsanleitung abgelegt. Dort kann anstelle des Gesamtprojektes auch die mit LaTeX erstellte PDF-Datei raspiblaster_de.pdf direkt heruntergeladen werden. Kapitel 3.2 der Anleitung beschreibt die Einrichtung des MiniAMP.
Ich habe jetzt das mal mit dem 3,3V probiert und der angegebenen Schaltung (natürlich auf meine Pins angepasst). Aber das klappt immer noch nicht.
Wie kann ich denn prüfen, ob die GPIO-Programmierung überhaupt angesteuert wird? In welchen Verzeichnissen sollte den was liegen? Vielleicht ist da mein Fehler zu finden. Oder kann es sein, dass sich Programmierungen gegenseitig blockieren? Wo muss ich suchen?
Symptom:
Die Datei Latest_Folder_Played wird ums verrecken nicht gschrieben (bleibt leer):
sudo echo ${VALUE} > $PATHDATA/../settings/Latest_Folder_Played
LinkZumRepo (Zeile 354)
Grund:
Es scheint an dem sudo am Zeilenanfang zu liegen. Wenn ich die Datei lösche und sudo entferne funktioniert es auf einmal...
Hallo Henning,
der Befehl sudo bewirkt ja, dass die nachfolgende Befehlssequenz in dieser Zeile von root ausgeführt wird und nicht vom angemeldeten Benutzer pi. Jede Linux-Benutzerkennung hat ihr eigenes "Environment", in dem u.a. die Inhalte der Shellvariablen (z.B. $PATHDATA) induividuell und auf den Benutzer angepasst gespeichert sind. Bei $PATHDATA kann ich mir gut vorstellen, dass die Pfade bei root und pi abweichen. Somit wird die Datei mit sudo ... wohl durchaus (unter dem Pfad von root) angelegt, aber eben nicht in dem Verzeichnis, das für pi angegeben ist.
Prüfen kannst Du das im Script, indem Du zu Testzwecken bei Zeile 354 die beiden folgenden Befehle einfügst (und hinterher wieder entfernst):
Im Terminal müssten zwei entsprechende Zeilen ausgegeben werden.
PS:
Mir ist es jetzt zu aufwendig, das ganze Script durchzufieseln, nur um das Ganze zu analysieren, daher nur mein theoretischer Ansatz
Alles anzeigenbezüglich einer asound.conf für den HifiBerry MiniAMP kann ich vielleicht aushelfen (Siehe Dateianhänge). Hier hat mir das Forenmitglied smutbert sehr geholfen, den MiniAMP bei meinem Raspiblaster (basierend auf dem audacious-Mediaplayer) vernünftig einzurichten, dafür nochmals
Was mir letztlich auffiel, ist die Tatsache, dass mit dem omxplayer von Raspbian nur eine "einfache" ALSA-Konfiguration funktioniert. Eine etwas komplexere wie in meiner Beispieldatei, die einen Mixer implementiert, um mehrere Audioquellen gleichzeitig wiedergeben zu können, funktioniert zwar mit den meisten anderen Programmen, aber nicht mit dem omxplayer sowie mit Programmen, die darauf aufbauen, wie z.B. mein yamuplay. Aber der omxplayer ist bei diesem Projekt ja außen vor.
Ein weiterer Punkt ist die Anpassung an periphere Soundkarten wie die HifiBerry-Produkte in der config.txt. Dabei wurde für den MiniAMP folgender Block angepasst:
Code# Enable audio (loads snd_bcm2835) ####dtparam=audio=on # in spite of the upper line the HiFiBerry MiniAmp V1.0 is activated: dtoverlay=hifiberry-dac
Wichtig ist, die interne "Soundkarte" des SoC 283x zu deaktivieren, was hier über Auskommentieren der Zeile dtparam=audio=on erfolgt und die Einbindung des richtigen Treibers für den HifiBerry MiniAMP: dtoverlay=hifiberry-dac
Der MiniAMP ist kompatibel zum HifiBerry DAC, nicht zum DAC+. Also unbedingt ohne Pluszeichen!
Interessant ist evtl. der folgende Forenthread: HifiBerry MiniAMP aktivieren
Zu meinem Raspiblaster habe ich auf github eine Installationsanleitung abgelegt. Dort kann anstelle des Gesamtprojektes auch die mit LaTeX erstellte PDF-Datei raspiblaster_de.pdf direkt heruntergeladen werden. Kapitel 3.2 der Anleitung beschreibt die Einrichtung des MiniAMP.
Danke für diese Ausführliche Hilfestellung!
Ich hab die asound.conf so angepasst wie du sie hast. jetzt bekomme ich beim reboot den Startsound der phoniebox und er spielt ganz kurz (ca. 0,5sek) ton der zuletzt gespielten Datei (autoresum) und jetzt frage ich mich warum er dann die wiedergäbe abbricht, in den /var/log/syslog und var/log/mpd erkenne ich keine Fehler... es wird langsam kurios...
Alles anzeigenbezüglich einer asound.conf für den HifiBerry MiniAMP kann ich vielleicht aushelfen (Siehe Dateianhänge). Hier hat mir das Forenmitglied smutbert sehr geholfen, den MiniAMP bei meinem Raspiblaster (basierend auf dem audacious-Mediaplayer) vernünftig einzurichten, dafür nochmals
Was mir letztlich auffiel, ist die Tatsache, dass mit dem omxplayer von Raspbian nur eine "einfache" ALSA-Konfiguration funktioniert. Eine etwas komplexere wie in meiner Beispieldatei, die einen Mixer implementiert, um mehrere Audioquellen gleichzeitig wiedergeben zu können, funktioniert zwar mit den meisten anderen Programmen, aber nicht mit dem omxplayer sowie mit Programmen, die darauf aufbauen, wie z.B. mein yamuplay. Aber der omxplayer ist bei diesem Projekt ja außen vor.
Ein weiterer Punkt ist die Anpassung an periphere Soundkarten wie die HifiBerry-Produkte in der config.txt. Dabei wurde für den MiniAMP folgender Block angepasst:
Code# Enable audio (loads snd_bcm2835) ####dtparam=audio=on # in spite of the upper line the HiFiBerry MiniAmp V1.0 is activated: dtoverlay=hifiberry-dac
Wichtig ist, die interne "Soundkarte" des SoC 283x zu deaktivieren, was hier über Auskommentieren der Zeile dtparam=audio=on erfolgt und die Einbindung des richtigen Treibers für den HifiBerry MiniAMP: dtoverlay=hifiberry-dac
Der MiniAMP ist kompatibel zum HifiBerry DAC, nicht zum DAC+. Also unbedingt ohne Pluszeichen!
Interessant ist evtl. der folgende Forenthread: HifiBerry MiniAMP aktivieren
Zu meinem Raspiblaster habe ich auf github eine Installationsanleitung abgelegt. Dort kann anstelle des Gesamtprojektes auch die mit LaTeX erstellte PDF-Datei raspiblaster_de.pdf direkt heruntergeladen werden. Kapitel 3.2 der Anleitung beschreibt die Einrichtung des MiniAMP.
Hi schlizibäda,
eine etwas aufwändigere asaound hatte ich ebenfalls schon ausprobiert, nachdem ich gestern hier und hier darauf gestoßen bin, sieht erst einmal ähnlich aus wie Deine, werde diese auf jeden Fall testen. Die Testsoundausgabe funktioniert so lange bis ich die phoniebox installarie, danach geht nach einem reboot (von dem Start Sound mal abgesehen) nichts mehr, warum auch immer, es kommt auch nichts über die Interne Soundkarte, habe einmal Kopfhörer eingesteckt. Ich starte heute noch einmal clean, mal sehen ob ich es eingrenzen kann, ansonsten muss ich wohl auf den miniamp verzichten, Donnerstag ist deadline, oder kommt man noch an die VLC basierte Version, da ging es ja.
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!