Ankündigung

Einklappen
Keine Ankündigung bisher.

8-Kanal Multiroom Audio Controller+Verstärker auf piCorePlayer Basis

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • papaarrugada
    antwortet
    also hier noch meine versprochenen Skripte:

    den bisherigen angehängten Parameter des GPIO-Outputs der jeweiligen Playerinstanz bitte entfernen weil das jetzt das Skript übernimmt.

    es sind die beiden "muting.sh" und powerDelay.sh" im Ordner /home/tc

    Code:
    tc@piCorePlayer:~$ pwd
    /home/tc
    tc@piCorePlayer:~$ ll
    total 16
    -rw-r--r--    1 tc       staff         2615 Feb 15 18:53 muting.sh
    -rwxr-xr-x    1 tc       staff          368 Dec  5 16:38 powerDelay.sh
    -rwxr-xr-x    1 tc       staff          713 Sep 23 19:16 powerscript.sh
    -rw-------    1 tc       staff           24 Sep 23 19:16 wifi.db
    drwxr-xr-x    6 tc       staff          140 Jan  1  1970 www/


    muting.sh:

    Code:
    #!/bin/sh -x
    #/home/tc/www/cgi-bin/pcp-functions
    #pcp_variables
    
    ##############################################
    # Set the following according to your setup
    ##############################################
    MAC_ADDR=$1                     # Raspberry Pi MAC address
    LMS_IP=192.168.0.222            # LMS IP address
    INTERVAL=1                      # Set Poll interval
    GPIO=$2                         # Set GPIO for muting
    COMMAND="status 0 0"            # LMS player status command
    DELAYOFF=3                      # Delay in no. of intervals
    COUNT=0
    DEBUG=0
    TURNED_ON=0                     # Set flag with actual mode
    ##############################################
    
    if [ $DEBUG = 1 ]; then
      echo
      echo "MAC_ADDR : "$MAC_ADDR
      echo "LMS_IP : "$LMS_IP
      echo "INTERVAL : "$INTERVAL
      echo "GPIO : "$GPIO
      echo "COMMAND : "$COMMAND
      echo "DELAYOFF : "$DELAYOFF
      echo
    fi
    
    get_mode() {
      RESULT=`( echo "$MAC_ADDR $COMMAND"; echo exit ) | nc $LMS_IP 9090`
      echo $RESULT | grep "mode%3Aplay" > /dev/null 2>&1
      if [ $? == 0 ]; then
        echo "Playing $MAC_ADDR. Unmute GPIO$GPIO. Count: $COUNT"
        COUNT=0
        if [ $TURNED_ON == 0 ]; then
          turn_on
        fi
      else
        if [ $COUNT -ge $DELAYOFF ]; then
          if [ $TURNED_ON == 1 ]; then
            turn_off
          fi
          COUNT=0
        else
          COUNT=$(($COUNT + 1))
          echo "Stopped $MAC_ADDR. Mute GPIO$GPIO. . Count: $COUNT"
        fi
      fi
    }
    
    turn_on() {
    #  sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
    #  sleep .5
      sudo echo "1" > /sys/class/gpio/gpio$GPIO/value
      TURNED_ON=1
      echo "Turn on: $GPIO"
    }
    
    turn_off() {
    #  sudo echo "1" > /sys/class/gpio/gpio$GPIO/value
    #  sleep .5
      sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
      TURNED_ON=0
      echo "Turn off: $GPIO"
    }
    ##############################################
    # Initial GPIO setup
    ##############################################
    
    #sudo chown tc /sys/class/gpio/export
    #sudo echo "24" > /sys/class/gpio/export
    #sudo chown -R tc /sys/class/gpio/gpio24/
    #sudo echo "1" > /sys/class/gpio/gpio24/value
    #sudo echo "out" > /sys/class/gpio/gpio24/direction
    #sudo echo "0" > /sys/class/gpio/gpio24/value
    
    sudo chown tc /sys/class/gpio/export
    sudo echo $GPIO > /sys/class/gpio/export
    sudo chown -R tc /sys/class/gpio/gpio$GPIO/
    # muting is active low
    #sudo echo "1" > /sys/class/gpio/gpio$GPIO/active_low
    sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
    sudo echo "out" > /sys/class/gpio/gpio$GPIO/direction
    sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
    
    
    ##############################################
    # Loop forever. This uses less than 1% CPU, so it should be OK.
    ##############################################
    while true
      do
        get_mode
        sleep $INTERVAL
      done


    powerDelay.sh:

    Code:
    #!/bin/sh
    
    sudo chown tc /sys/class/gpio/export
    sudo echo "24" > /sys/class/gpio/export
    sudo chown -R tc /sys/class/gpio/gpio24/
    sudo echo "1" > /sys/class/gpio/gpio24/value
    sudo echo "out" > /sys/class/gpio/gpio24/direction
    sudo echo "0" > /sys/class/gpio/gpio24/value
    echo 'power off delay!'
    
    sleep 3s
    
    sudo echo "1" > /sys/class/gpio/gpio24/value
    echo 'power on!'


    Änderung in der /opt/bootlocal.sh mit debug Möglichkeiten:
    Hier wird jeweils auch dem muting die passende Mac-Adresse und der GPIO-Output mitgegeben.
    Das muting.sh wird 4x mit unterschiedlichen Parametern genutzt.

    Code:
    #!/bin/sh
    # put other system startup commands here
    
    . /home/tc/powerDelay.sh &
    . /home/tc/muting.sh 'ab:cd:ef:12:34:60' 9 > /dev/null &
    . /home/tc/muting.sh 'ab:cd:ef:12:34:61' 10 > /dev/null &
    . /home/tc/muting.sh 'ab:cd:ef:12:34:62' 11 > /dev/null &
    . /home/tc/muting.sh 'ab:cd:ef:12:34:63' 12 > /dev/null &
    #. /home/tc/muting.sh > /home/tc/logfile 2>&1 &
    /opt/eth0.sh
    
    GREEN="$(echo -e '\033[1;32m')"
    
    echo
    echo "${GREEN}Running bootlocal.sh..."
    #pCPstart------
    /home/tc/www/cgi-bin/do_rebootstuff.sh 2>&1 | tee -a /var/log/pcp_boot.log
    #pCPstop------

    und immer abspeichern mit:

    Code:
    sudo filetool.sh -b

    Einen Kommentar schreiben:


  • trant
    antwortet
    Danke, das sieht machbar aus

    Einen Kommentar schreiben:


  • papaarrugada
    antwortet
    @ trant:

    evtl. kann ich Dir auch weiterhelfen.
    Ich hab meine Verstärker auch umgebaut. Soweit ich weiß, ist das neben dem Mutingeingang der zweitunterste 39K Widerstand, beschriftet mit "393".
    Der müßte jetzt ein 20K sein.
    Da ich keine 20k hatte, habe ich (und das ist nicht die beste Lösung) noch einen 39K darauf gelötet. Das ergibt dann einem Gesamtwiderstrand von 19,5K, was aber noch im erlaubten Toleranzbereich von 5% laut Datenblatt liegt (also 19K bis 20k).
    Wie gesagt, ich habe nichts anderes gehabt. Besser ist es, den Widerstand zu ersetzen.

    Einen Kommentar schreiben:


  • trant
    antwortet
    Ich schalte aktuell alle 16 Verstärker einzeln über die GPIOs des Raspberry und da wäre die Verwendung von zwei Platinen von dir der Weg in die richtige Richtung.

    Einen Kommentar schreiben:


  • papaarrugada
    antwortet
    Mehrere Paltinen sind prinzipiell machbar.
    Also eine Platine kann maximal 4x Muing über je einen GPIO schalten. Ich habe dazu die mit Pulldown-Widerstand verwendet. Das passt zur Logik der Schaltung und der RaspberryPi hat mehr mit Pulldown, als mit Pullup. Das PowerOn läuft über einen Pullup GPIO.
    Verwendet habe ich für das Muting die GPIOs 9, 10, 11, 12 und für den PowerOn GPIO 24.
    An der Stiftleiste der Platine gibt es jeweils 2 verbundene Pins für Gnd, 3,3V und 5V sodaß hier von einer Platine zur nächsten verbunden werden kann. Dadurch könnte man die Spannungsversorgung durchschleifen.
    Was die Muting-Ausgänge betrifft, so muß man halt die Anzahl der GPIOs am RaspberryPi checken. Ebenso das PowerOn.
    Zuletzt geändert von papaarrugada; 11.03.2018, 17:50.

    Einen Kommentar schreiben:


  • trant
    antwortet
    Hochpass Danke für die Info. Selbst wenn ich es versuchen würde (habe gestern Kabel an zwei solcher Bauteile an meinen Accesspoint gelötet um damit den Zugriff über die serielle Schnittstelle zu erreichen, und bin dabei fast verzweifelt), welche Widerstände wären es?

    Einen Kommentar schreiben:


  • ChrisP
    antwortet
    Ich würde auch einen 8-fach benötigen, aber beim 4 fach bin ich auch dabei

    Einen Kommentar schreiben:


  • Hochpass
    antwortet
    Zitat von trant Beitrag anzeigen
    Hochpass
    Blöde Frage, wie kann ich den Gain auf 26db bekommen, ich seh da keinen 0603 an Board und selbst wenn, die Dinger sind ja viel zu klein?
    0603 ist kein Bauteil sondern die Bauteilgröße vom Widerstand. Dass lässt sich noch ohne Auflichtmikroskop löten. Gute Pinzette und feine Lötspitze dann ist das in 2 Minuten erledigt. Nur Mut

    Einen Kommentar schreiben:


  • trant
    antwortet
    Ich würde diese Ausführung in 8-fach brauchen, ist eine Kopplung von zwei 4-fach möglich?

    Einen Kommentar schreiben:


  • papaarrugada
    antwortet
    Hallo,

    danke für das Interesse an dem 4fach-Muting.
    Also es hat sich aufgrund der Nachfrage ergeben, daß ein Bausatz durchaus Sinn macht.
    Die anderen Varianten spielen keine entscheidenede Rolle.
    Das macht auch das Zusammenstellen leichter.
    In Ausnahmefällen könnte man schon mal eine Platine bestücken.

    Eine Neubestellung der Platine dauert beim Hersteller 6 Arbeitstage.
    Die Bauteile kommen in kürzerer Zeit.
    Ich würde je nach Bedarf schubweise bestellen.

    Die ersprochenen Skripte kommen noch.

    Einen Kommentar schreiben:


  • trant
    antwortet
    Hochpass
    Blöde Frage, wie kann ich den Gain auf 26db bekommen, ich seh da keinen 0603 an Board und selbst wenn, die Dinger sind ja viel zu klein?

    Einen Kommentar schreiben:


  • uncelsam
    antwortet
    Fertig aufgebaut ist kritische, da musst dich an viele Regel halten (Gewährleistung, Elektronikentsorgung sie)...

    Einen Kommentar schreiben:


  • papaarrugada
    antwortet
    Also vielen Dank für das rege Interesse.
    Meine Reserven sind weg.
    Ich habe schon beim Platinenhersteller wegen Sammelbestellung und Preisstaffelung angefragt.

    Mein Vorschlag wäre, 3 Varianten anzubieten, da der eine Spaß am selber bestücken hat und der andere lieber etwas Fertiges will:

    1.) Platine
    2.) Bausatz Platine mit Bauteilen
    3.) Komplett aufgebaute Platine

    Wenn noch jemand Interesse hat, so bitte ich um eine PN, damit ich sammeln kann.
    Am besten mit dem Titel "4fach-Muting" und im Text die Variante und der gewünschten Stückzahl
    Der Preis richtet sich dann auch nach der Größe der Sammelbestellung.

    viele Grüße

    Einen Kommentar schreiben:


  • papaarrugada
    antwortet
    hallo starwarsfan,

    vielen Dank für Dein Interesse.
    Ich habe schon einige Nachfragen. Mein Bestand schmilzt gegen Null. Bitte schreibe mir eine PN.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    papaarrugada: Mir gefällt der Aufbau auch sehr gut und ich hätte Interesse, mich an einer Sammelbestellung zu beteiligen.

    Einen Kommentar schreiben:

Lädt...
X