Beiträge von Schorsch05

    Hi,

    ich habe mein Problem selber lösen können. Hier mein Lösungsweg mit ein paar Erläuterungen:

    • Ich habe mich an die Anleitung von phx vom 02. September 2018 gehalten (hier in diesem Beitrag).
    • Die Datei /etc/asound.conf enthält systemweite Angaben für ALSA, also unabhängig vom User. Oftmals wird im Internet auch auf Einstellungen in der Datei ~/.asoundrc verwiesen. Die dort getätigten Einstellungen sind nur für den jeweiligen Benutzer. Für meine Installation muss die Datei ~/.asoundrc gelöscht werden (war auch nicht vorhanden). Die Datei asound.conf war ebenfals nicht vorhanden, diese muss jedoch angelegt werden.
    • pulseaudio wird in der Regel auf User-Ebene genutzt. Jeder User kann dann seine eigenen Einstellungen abspeichern. Dies erfolgt in der Datei /etc/pulse/default.pa . In diesem Fall wird pulseaudio als systemweite Installation genutzt. Die Einstellungen müssen daher in der Datei /etc/pulse/system.pa vorgenommen werden.
    • Als sink wird bei den folgenden Befehlen auch eine Ausgabe "..... .monitor" ausgegeben. Dabei handelt es sich um einen Kanal zur Aufnahme des gerade ausgegeben Musikstücks. Dies ist für die weitere Betrachtung nicht relevant und habe ich daher nicht weiter berücksichtigt.
    • Soundcard IQaudIO Codec gemäß Anleitung installiert.

    Für ALSA habe ich Pulseaudio als default eingetragen, in dem ich die Datei asound.conf mit folgendem Inhalt erstellt habe.

    In vielen Beiträgen wird die Schreibweise pcm.!default verwendet. Auf den Seiten von freedesktop.org wird für das perfekte Setup von pulseaudio jedoch die vorgenannte Schreibweise empfohlen [1].


    Mit dem Befehl aplay -l (kleines L) erhält man die Liste der eingesetzten Hardware.

    Bei mir ist es Karte 0 und Gerät 0. Diese Angaben sind auch in der folgenden Datei bereits gesetzt. Ansonsten müst ihr diese anpassen:

    Code: /usr/share/alsa/alsa.conf
    ...
    defaults.ctl.card 0
    defaults.pcm.card 0
    defaults.pcm.device 0
    ....


    Abweichend von phx sieht meine Datei system.pa wie folgt aus:

    • Mit den Modulen module-alsa-sink bzw. module-alsa-source habe ich die Karte mit den beiden Zahlen für Karte und Gerät fest vorgegeben.
    • mit sudo pactl list erhält man eine Liste der geladenen Module, Quellen und Ziele. Mit sudo pactl list wird die Ausgabe gekürzt dargestellt.
    • Das Modul zur Echo-Cancellation:
      • sink_master bzw. der source_master ist jeweils die unbearbeitete Version.
      • source_name bzw. sink_name sind die bearbeitete Version
      • für die feste Vorgabe von Karte und Gerät verwendet das Modul leider eine andere Syntax, daher die Unterstriche.
      • Die Zeile muss ohne Umbrüche, Zeilenvorschub oder dergleichen geschrieben werden!
      • Ich habe die Werte "true" und "false" verwendet. Es müsste auch mit "0" bzw. "1" gehen.
    • die automatische Erkennung der Hardware durch pulseaudio habe ich abgeschaltet.

    Mein Aufruf von sudo pactl info sieht dann wie folgt aus:


    Das Echo ist damit bei mir eleminiert. Die Lautstärke kann ich über sudo alsamixer einstellen.


    Wie bereits in meinem vorhergehenden Beitrag beschrieben, habe ich lange gesucht. Ob alles so wirklich richtig ist - mir egal, es läuft. Wenn mir jemand noch etwas erklärt oder eine Korrektur hat - gerne, man wird nicht dümmer.


    Gruß

    Hallo,

    seit Tagen versuche ich mit pulseaudio das Echo-Problem in den Griff zu bekommen - jedoch ohne Erfolg. Trotzdem ich sehr viele Seiten im Internet gelesen habe, habe ich nach wie vor ein Echo.

    Hardware:

    Raspberry Pi 4, IQaudIO Codec Zero mit externem Mic und Visaton Lautsprecher (Mono)

    WLAN-Anbindung, Fritzbox und FritzFon C5

    Software:

    pi@DoorPiSv:~ $ lsb_release -a

    No LSB modules are available.

    Distributor ID: Raspbian

    Description: Raspbian GNU/Linux 11 (bullseye)

    Release: 11

    Hostname DoorPiSv

    Codename: bullseye

    pi@DoorPiSv:~ $ uname -a

    Linux DoorPiSv 5.15.32-v7+ #1538 SMP Thu Mar 31 19:38:48 BST 2022 armv7l GNU/Linux

    pi@DoorPiSv:~ $ dpkg -l | grep pulseaudio

    ii pulseaudio 14.2-2+rpi1 armhf PulseAudio sound server

    ii pulseaudio-utils 14.2-2+rpi1 armhf Command line tools for the PulseAudio sound server

    pi@DoorPiSv:~ $ doorpi_cli --version

    VoIP Door-Intercomstation with Raspberry Pi 2.5.1


    Die echo canellation habe ich nach der Anleitung von phx vom 02. September 2018 vorgenommen.


    Die Bezeichnungen für sink und source habe ich wie folgt erhalten:

    pi@DoorPiSv:~ $ sudo pactl list short sinks

    0 alsa_output.platform-soc_sound.stereo-fallback module-alsa-card.c s16le 2ch 16000Hz SUSPENDED

    1 doorpisink module-echo-cancel.c float32le 2ch 16000Hz SUSPENDED


    pi@DoorPiSv:~ $ sudo pactl list short sources

    0 alsa_output.platform-soc_sound.stereo-fallback.monitor module-alsa-card.c s16le 2ch 16000Hz SUSPENDED

    1 alsa_input.platform-soc_sound.stereo-fallback module-alsa-card.c s16le 2ch 16000Hz SUSPENDED

    2 doorpisource module-echo-cancel.c float32le 2ch 16000Hz SUSPENDED

    3 doorpisink.monitor module-echo-cancel.c float32le 2ch 16000Hz SUSPENDED


    pi@DoorPiSv:~ $ sudo pactl list short modules

    0 module-device-restore

    1 module-stream-restore

    2 module-card-restore

    3 module-udev-detect

    4 module-alsa-card device_id="0" name="platform-soc_sound" card_name="alsa_card.platform-soc_sound" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"

    5 module-native-protocol-unix

    6 module-default-device-restore

    7 module-always-sink

    8 module-suspend-on-idle

    9 module-position-event-sounds

    10 module-echo-cancel sink_master=alsa_output.platform-soc_sound.stereo-fallback source_master=alsa_input.platform-soc_sound.stereo-fallback aec_method=webrtc sink_name=doorpisink source_name=doorpisource use_master_format=true aec_args="analog_gain_control=false digital_gain_control=false noise_suppression=false high_pass_filter=false mobile=true routing_mode=loud-speaker comfort_noise=false"


    Einzig die Befehle

    set-default-sink doorpisink

    set-default-source doorpisource

    habe ich in der Datei /etc/pulse/default.pa eingetragen. Hatte diese Befehle aber auch zwischenzeitlich in der Datei /etc/pulse/system.pa.

    Ansonsten habe ich alles wie in der vorgenannten Anleitung erstellt.


    In der Anleitung steht, dass

    "aplay -l sollte mit aktivem Pulseaudio per default auf das pulse device zeigen:

    default

    Playback/recording through the PulseAudio sound server"


    Bei mir gibt der Befehl folgendes aus:

    pi@DoorPiSv:~ $ aplay -l

    **** Liste der Hardware-Geräte (PLAYBACK) ****

    Karte 0: IQaudIOCODEC [IQaudIOCODEC], Gerät 0: IQaudIO CODEC HiFi v1.2 da7213-hifi-0 [IQaudIO CODEC HiFi v1.2 da7213-hifi-0]

    Sub-Geräte: 1/1

    Sub-Gerät #0: subdevice #0


    jedoch bei dem folgenden Befehl wird pulseaudio als default dargestellt

    pi@DoorPiSv:~ $ sudo amixer info

    Card default 'pulse'/'PulseAudio'

    Mixer name : 'PulseAudio'

    Components : ''

    Controls : 4

    Simple ctrls : 2


    Ebenso bei

    pi@DoorPiSv:~ $ aplay -L

    null

    Discard all samples (playback) or generate zero samples (capture)

    default

    Playback/recording through the PulseAudio sound server

    lavrate

    Rate Converter Plugin Using Libav/FFmpeg Library

    samplerate

    Rate Converter Plugin Using Samplerate Library

    speexrate

    Rate Converter Plugin Using Speex Resampler

    jack

    JACK Audio Connection Kit

    oss

    Open Sound System

    pulse

    PulseAudio Sound Server

    upmix

    Plugin for channel upmix (4,6,8)

    vdownmix

    Plugin for channel downmix (stereo) with a simple spacialization

    hw:CARD=IQaudIOCODEC,DEV=0

    IQaudIOCODEC, IQaudIO CODEC HiFi v1.2 da7213-hifi-0

    Direct hardware device without any conversions

    plughw:CARD=IQaudIOCODEC,DEV=0

    IQaudIOCODEC, IQaudIO CODEC HiFi v1.2 da7213-hifi-0

    Hardware device with all software conversions

    sysdefault:CARD=IQaudIOCODEC

    IQaudIOCODEC, IQaudIO CODEC HiFi v1.2 da7213-hifi-0

    Default Audio Device

    dmix:CARD=IQaudIOCODEC,DEV=0

    IQaudIOCODEC, IQaudIO CODEC HiFi v1.2 da7213-hifi-0

    Direct sample mixing device

    usbstream:CARD=IQaudIOCODEC

    IQaudIOCODEC

    USB Stream Output


    Alles erfolglos. Ich bekomme das Echo nicht weg. Ich bemerke eigentlich keinen Unterschied zum Betrieb ohne oder mit dem module-echo-cancel.


    Kann mir jemand behilflich sein?

    Vielen Dank im Voraus

    Schorsch

    Hi,

    ich habe einen Bwewegungsmelder und ein Helligkeitsmodul extern miteinander verknüpft. Wenn Bewegung UND Dunkel, dann liegt am GPIO-Pin 31 ein positives Signal an. Doorpi soll dann am GPIO-Pin 29 die Namensschildbeleuchtung einschalten.


    Wenn ich in der doorpi.ini folgenden Eintrag vornehme:

    [onboardpins_InputPins]

    31 = out:NamLight,1,0,5

    dann geht die LED für die eingegebenen 5 Sekunden an.


    Ich wollte jedoch bei einem Eingangssignal am Inputpin 31 mehrere Aktionen starten. Daher habe ich folgendes gemacht:

    [onboardpins_InputPins]

    31 = BewSens


    [EVENT_OnKeyUp_onboardpins.31]

    10 = out:NamLight,1,0,5


    Das funktioniert jedoch nicht. Da ich in den verschiedenen doorpi.ini den Befehl "sleep" gesehen habe, habe ich dies auch einmal unter InputPins eingesetzt (siehe aktuelle ini). Funktioniert auch nicht.

    Was macht der Befehl "sleep"?

    Was muss ich verändern, dass ich bei einem Eingangssignal am GPIO-Pin 31 mehrere Aktionen starten kann?

    Gibt es irgendwo eine Seite, wo die Einträge der doorpi.ini etwas erklärt werden?


    Vielen Dank

    Schorsch


    Hi,

    vor ein paar Wochen war ich auf zwei Seiten im gitHub. Auf der einen Seite wurden die wesentlichen Einträge der doorpi.ini erklärt und auf der anderen Seite die wesentlichen Events. Ich bin mir sicher, dass die Links zu den Seiten unterhalb der Readme-Seite waren.


    Beide Seiten kann ich nicht mehr auffinden. Wurden diese gelöscht?

    Kann ich die Informationen an anderer Stelle finden?


    Gruß

    Schorsch

    Hi,


    prima, dass es weiter geht. Hut ab, für euer Engangement.


    meine Wünsche als fortgeschrittener Laie (kann den RasPi mittlerweile in kurzer Zeit neu aufsetzen ;) )

    - Ich würde mir die Möglichkeit wünschen, GPIO-Eingänge miteinander logisch zu verknüpfen um in Abhängigkeit vom Ergebnis eine Aktion zu triggern. Durch Vorschaltung eines PIR-Bewegungsmelders und eines Helligkeitssensors könnte dann folgendes sehr schnell realisiert werden (Beispiel):

    Wenn Bewegung UND Dunkel dann Hintergrundbeleuchtung an.

    - Genauso denkbar wäre die Möglichkeit, die Ergebnisse anderer Programme (z. B. Sonnenauf- und Sonnenuntergang) zu nutzen. Da habe ich NULL-Ahnung, ob so etwas überhaupt schon jetzt funktioniert.


    Gruß

    Schorsch

    Hallo,

    ich erstelle mir gerade eine Türsprechstelle mit DoorPi. Auf dem Labortisch läuft ein Versuchsaufbau mit einem RasPi3, der Audio-Schnittstelle IQaudIO Codec Zero, der RasPi Camera und einem externen Taster und eine externen LED (Anzeige Sprachverbindung).

    Nun möchte ich noch realisieren, dass eine Hintergrundbeleuchtung das Klingelschild bei Dunkelheit beleuchtet. Dies möchte ich gerne durch einen PIR-Bewegungsmelder antriggern. In der Schublade habe ich noch einen Helligkeitssensor. Somit lautet die Bedingung: Wenn Bewegung UND Dunkel dann Hintergrundbeleuchtung an.

    Gibt es eine Möglichkeit, diese Bedingung in DoorPi zu realisieren (z. B. wenn GPIO "Bewegung=On" UND GPIO "Dunkel=ON" dann GPIO "Hintergrundbeleuchtung=ON")?

    Es gibt auch Software für den RasPi, die auf Basis des Standortes den Sonnenauf- und -untergang berechnet. Können die Ergebnisse in DoorPi genutzt werden?


    Vielen Dank für eure Ratschläge.

    Schorsch