Squeezeplayer goes ESP32

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • hismastersvoice
    Supermoderator
    • 25.08.2015
    • 7216

    Squeezeplayer goes ESP32

    Habe folgendes Projekt schon seit längerem im Auge... sle118/squeezelite-esp32: squeezelite ported to esp32 (github.com)
    Das kompilieren der Software habe ich soweit schon im Griff, doch leider ist mir zu spät aufgefallen das die verwendeten ESP32 4MB PSRAM brauchen, das hat in meiner Bastelbox keiner.

    Also habe ich diverse Hardware bestellt um das ganze umzusetzen, und noch etwas mehr um auch weiter basteln zu können.

    Warum mach ich das... ???
    Mir gefällt der Gedanke das hier ein sehr energiesparendes System entwickelt wird das innerhalb von wenigen Sekunden betriebsbereit ist nach dem einschalten.
    Man hat keine fehleranfällige SD wie bei einem Raspberry etc.
    Auf lange Sicht soll der Raspi ZeroW 2 in der Garage und der Player auf der Terrasse durch so ein System ersetzt werden.
    So kann ich die Player kpl. ausschalten und muss nicht wie jetzt erst 20-30 Sekunden warten bis Musik spielt.

    Ich werde weiter berichten und wenn alles klappt eine Anleitung schreiben.
    Zuletzt geändert von hismastersvoice; 12.01.2022, 21:39.
    Kein Support per PN!
  • Loxtom577
    LoxBus Spammer
    • 19.08.2018
    • 495

    #2
    Klingt interessant. Wäre eventuell etwas für meine Terrasse.

    Kommentar

    • hme0354
      MS Profi
      • 06.07.2019
      • 961

      #3
      display und tasten auch möglich?
      Smarthome: 1x Miniserver Gen. 2, 3x Relay Extensions, 1x Tree Extension, 1x DI-Extension, 1x Air Base Extension, 8x RGBW Tree Dimmer, 9x Touch-Tree, 1x Nano DI Tree, 10x Tree BWM
      Technik: IDM Aero SLM 3-11 mit HGL, MS4H mit 9 Zonen, 2x Loxberry, 2x RPI für Anzeige, Doorbird, Froggit WH2600, POE+ System für Peripherie, Gedad Luftgütesensoren, Deconz (Bridge + 2x BWM + 2x RGBW + 5 Smartplug)

      Kommentar

      • hismastersvoice
        Supermoderator
        • 25.08.2015
        • 7216

        #4
        Ja, verschidene Displays Tasten oder Drehknopf etc sind auch möglich.
        Kein Support per PN!

        Kommentar

        • Prof.Mobilux
          Supermoderator
          • 25.08.2015
          • 4653

          #5
          Sehr cooles Projekt.

          Ich hab das mal auf Basis eines ZeroWs gebaut: https://loxwiki.atlassian.net/wiki/s...ezelite+Client

          Der ZeroW ist vom Verbrauch für mich auch OK, lohnt sich auch nicht den abzuschalten (meine Meinung ;-) Aber die Einbindung von Drehpoti, Tasten, Display ist viel Handarbeit. Und die SD-Karte ist immer ein Schwachpunkt.

          Wenn Du das bei Dir umgesetzt hast, würde ich mich auch mal daran wagen.
          🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


          LoxBerry - Beyond the Limits

          Kommentar


          • hismastersvoice
            hismastersvoice kommentierte
            Kommentar bearbeiten
            Bin voll bei dir, ich mag die Zeros, und der Zero 2 ist jetzt auch endlich schön schnell.
            Aber man muss ja immer was zu basteln habe, was will man sonst auch immer machen

            Oft geht es ja nur drum was hin zu bekommen...
            Wenn etwas nach dem Einstecken gleich funktioniert ist das doch langweilig.
            Sonos ist mir einfach zu wenig Herausforderung

            Finde das Projekt einfach cool, hätte nie gedacht das so was auf einem ESP möglich ist.
        • hismastersvoice
          Supermoderator
          • 25.08.2015
          • 7216

          #6
          Kurzer Zwischenstand...

          Hardware:
          ESP32 A1S
          ESP32 Wrover 8 + I2S DAC

          Beide Platinen laufen sehr gut, das Einrichten war zuerst nicht ganz einfach. (Verständnis-Problem)
          Der Player ist wie ein normaler Squeezelite zu bedienen.
          EQ geht, es muss auch ein extra Plugin für den EQ und Display installiert werden.
          Der EQ aber aktuell nur im LMS WebUI, ich werde mal schauen wie die Werte übertragen werden und versuche es in den MS4H/Loxone App zu integrieren.

          Nach dem einschalten vergehen je nach dem wie schnell der Stream aufgebaut ist 8-9 Sekunden bis Musik spielt.
          Das war einer der Gründe warum ich das Projekt umsetzten wollte.
          Stromverbrauch ~0,4W Standby, und 0,5-0,6W wenn Audio spielt.

          Soweit wurden schon mal alle Erwartungen erfüllt


          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: IMG_20220114_212019.jpg
Ansichten: 4223
Größe: 296,8 KB
ID: 333257Klicke auf die Grafik für eine vergrößerte Ansicht

Name: IMG20220114211152.jpg
Ansichten: 4059
Größe: 616,3 KB
ID: 333258Klicke auf die Grafik für eine vergrößerte Ansicht

Name: IMG20220114211859.jpg
Ansichten: 4034
Größe: 707,0 KB
ID: 333259
          Kein Support per PN!

          Kommentar

          • Labmaster
            Lox Guru
            • 20.01.2017
            • 2519

            #7
            Die Welt ist klein

            Ich hatte mir genau das Thema Anfang der Woche auch mal angeschaut und mir mal das ESP32 Audio Kit bestellt das du auch in deinen Bildern zeigst.
            Hast du die Software auf dem schon am laufen ?

            Kommentar

            • hismastersvoice
              Supermoderator
              • 25.08.2015
              • 7216

              #8
              Zitat von Labmaster
              Die Welt ist klein

              Ich hatte mir genau das Thema Anfang der Woche auch mal angeschaut und mir mal das ESP32 Audio Kit bestellt das du auch in deinen Bildern zeigst.
              Hast du die Software auf dem schon am laufen ?
              Ja, habe ich am laufen.
              Du kannst die hier die laden...

              https://github.com/sle118/squeezelit...0.master-cmake
              https://github.com/sle118/squeezelit...0.master-cmake
              Unterschied zwischen 32Bit und 16Bit kannst du auf Git nachlesen. (Ich nutze 16Bit)

              Im NVS Editor kannst du unter dac_config dann folgendes eintragen.
              Code:
              model=AC101,bck=27,ws=26,do=25,di=35,sda=33,scl=32
              Bei neueren V2.2 ab 974
              Code:
              model=ES8388,bck=27,ws=25,do=26,sda=33,scl=32,i2c=16
              Zuletzt geändert von hismastersvoice; 15.01.2022, 18:23.
              Kein Support per PN!

              Kommentar

              • hismastersvoice
                Supermoderator
                • 25.08.2015
                • 7216

                #9
                Labmaster
                Da fällt mir noch ein... Du musst die Zip laden und nicht die Bin.
                Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 15-01-_2022_07-11-56.jpg
Ansichten: 3941
Größe: 160,4 KB
ID: 333389
                Kein Support per PN!

                Kommentar

                • hismastersvoice
                  Supermoderator
                  • 25.08.2015
                  • 7216

                  #10
                  Nach ein paar weiteren Tests kann ich nun folgendes zur Hardware sagen.

                  ESP32 A1S
                  Fällt bei mir kpl. durch, es gibt am analogen Ausgang (Klinke) sehr viel Geräusche wie rauschen und knistern etc.
                  Ist für mich ein NoGo, ausserdem hat der andere Aufbau überhaupt keine Probleme in diese Richtung.
                  Auch der Tausch des Netzteil, Kabel usw. hat keinen Unterschied gemacht.
                  Es scheint was mit der CPU zu tun zu haben, wenn die CPU belastet wird, werden die Geräusche lauter/deutlicher.
                  schau mal bei dir ob es nur an meinem liegt oder ein generelles Problem ist.
                  Dazu kommt noch das ich es "noch" nicht geschafft habe das im Gegensatz zum Wrover Board das A1S über längere Zeit stabil läuft.


                  ESP32 Wrover 8 + I2S DAC
                  Sehr guter rauschfreier Klang, spielt auch an meiner teuren Anlage Technics/Nubert sehr fein.
                  Nach ein paar Optimierungen ist das auf jeden Fall mein Favorit.

                  Der Player überlebt auch eine kurze Unterbrechung des Inets (Zwangsunterbrechung DSL), und spielt selbst nach 22 Stunden immer noch ohne eine Unterbrechung
                  Stabilität ist auf jeden Fall gegeben.


                  Beide sind anscheinend mit eher schlechten WLAN Antennen ausgestattet, wo ein ZeroW oder W2 noch ein sehr gutes Signal empängt zicken beide Boards schon etwas herum.
                  Es gab zT Abbrüche des Stream wenn man die Geräte zu weit vom AP entfernt. Andere WLAN Geräte haben an den gleichen Stellen keine Probleme.
                  Zu dem Test habe ich aber extra einen AP abgeschaltet da ich eine sehr gute Abdeckung habe und sonst diesen Versuch nicht machen hätte können.


                  Der EQ wird in Zukunft auch im MS4H WebUI/Loxone App funktionieren, habe die Grundlagen dafür schon programmiert.
                  Es gibt die Möglichkeit das zB eine AMP direkt mit dem Board geschaltet werden kann, ob ich es in den PowerManger bringe schau ich mir nochmal an.


                  Hier noch kurz ein Video des WebUI, hab im ganzen Netz nichts dazu gefunden.

                  Zuletzt geändert von hismastersvoice; 30.01.2022, 07:39.
                  Kein Support per PN!

                  Kommentar

                  • hismastersvoice
                    Supermoderator
                    • 25.08.2015
                    • 7216

                    #11
                    Anleitung

                    Hardware
                    ESP32 Wrover B mit min. 4MB Flah / 4MB PSRAM (inzwischen haben viel 8MB) wie zB LINK
                    I2S DAC PCM 5102 zB LINK
                    Das ganze gibt es bei Ali etc natürlich deutlich billiger, mti 10 Tage Lieferung habe beides für ~15€ gekauft.

                    Alternativ gibt es auch ein ESP A1S Audio-Kit
                    Ich habe damit aber noch keine gute Erfahrung geramacht (rauschen, fiepen, kratzen) am Audio Ausgang.

                    Download
                    Ladet euch das letzte Relase von der Github Seite runter LINK

                    x.xxx-16#v4.0#I2S-4MFlash#master-cmake (16 Bit Version)
                    x.xxx-32#v4.0#I2S-4MFlash#master-cmake (32 Bit Version)

                    Wichtig! Ladet die ZIP nicht die BIN Datei.

                    Den unterschied zwischen 16/32Bit könnt ihr auf der Github-Seite unter Performance lesen LINK
                    Ich nutze auf jeden Fall die 16Bit Version da ich auch den Equalizer nutzen will der nur da geht.

                    Entpackt die Zip in einem Verzeichnis eurer Wahl.

                    Flashen
                    Für den Flash Prozess benötigt ihr Flash Download Tools -> Tools | Espressif Systems
                    Das könnt ihr Entpacken und direkt nutzen.

                    Wählt ESP32 und develpment im Startfenster
                    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 16-01-_2022_14-17-59.jpg
Ansichten: 4186
Größe: 12,4 KB
ID: 333573

                    Nach dem Start müsst ihr das ganze konfigurieren.

                    1. Dateien aus dem Relasedownload einfügen
                    2. Speicherbereiche @ 0x******* angeben wie im Screenshot
                    3. ganz vorn Häkchen setzen
                    4. SPI Config setzen wie im Bild
                    5. Start drücken (war auf dem ESP schon mal eine andere Software sollte zuerst ein Erase gemacht werden.

                    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 16-01-_2022_14-22-07.jpg
Ansichten: 3937
Größe: 221,2 KB
ID: 333574
                    Kein Support per PN!

                    Kommentar

                    • hismastersvoice
                      Supermoderator
                      • 25.08.2015
                      • 7216

                      #12
                      Verkabelung
                      I2S WROVER
                      VCC 3,3V
                      3,3V 3,3V
                      GND GND
                      FTL GND
                      DMP GND
                      SCL GND
                      BCK bck GPIO wählen
                      DIN do GPIO wählen
                      LCK ws GPIO wählen
                      FMT GMD
                      XMT 3,3V
                      Beispiel bck=26,ws=33,do=25
                      Die GPIOs könnt ihr eigenlich wählen wie ihr wollt.


                      Konfiguration
                      Habt ihr die Software geflasht, muss der ESP kurz neu gestartet werden.

                      Jetzt könnt ihr ein neues WLAN finden das mit squeezelite-xxxxx bezeichnet ist.
                      Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 16-01-_2022_14-37-04.jpg Ansichten: 0 Größe: 3,5 KB ID: 333576
                      Wählt dieses und gebt als Passwort: squeezelite an.
                      Aauf einem Mobiltelefon wird bei erfolgreicher Verbindung direkt 192.168.4.1 aufgerufen, ggf. muss das von Hand gemacht werden zB am PC.

                      Jetzt wählt ihr euer WLAN aus und gebt das Passwort ein zur Verbindung.
                      Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 16-01-_2022_14-38-03.jpg Ansichten: 0 Größe: 138,9 KB ID: 333577
                      Nun werdet ihr mit eurem Netzwerk verbunden, sollte es nicht gehen kommt eine Fehlermeldung und es kann nochmal alles gewählt werden.


                      Ihr müsst jetzt eure IP herausfinden, zB über Fritzbox oder IP-Scanner etc.
                      Zuletzt geändert von hismastersvoice; 16.01.2022, 15:47.
                      Kein Support per PN!

                      Kommentar

                      • hismastersvoice
                        Supermoderator
                        • 25.08.2015
                        • 7216

                        #13
                        Konfiguration Teil 2

                        Audio


                        1. Output wählen, in unserem Fall I2S
                        2. Name für den Player vergeben und mit Apply bestätigen
                        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 16-01-_2022_15-22-39.jpg Ansichten: 0 Größe: 158,0 KB ID: 333584

                        System

                        1. WLAN Scan auf Fast stellen und Apply ausführen. Solltet es lange dauern bis eine Verbindung aufgebaut wird kann das auch zurück werden.
                        2. Bluetooth Speaker deaktivieren und Apply
                        3. Hostname ändern und Apply

                        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 16-01-_2022_15-23-26.jpg Ansichten: 0 Größe: 137,1 KB ID: 333585

                        Hardware
                        Hier muss in unserem Fall nicht gemacht werden, das erledigen wir im NVS-Editor.

                        NVS-Editor
                        Sollte dieser Menüpunkt nicht sichtbar sein, kann er unter Credits eingeschalten werden!

                        1. autoexec1 - hier kann optional der Befehl -s IP_DES_LMS eingefügt werden um ihn an einen LMS zu binden (sinnvoll bei mehr als einem Netzwerk)
                        2. dac_config - hier werden die GPIOs zum I2S angegeben Beispiel: bck=26,ws=33,do=25
                        3. Das ganze mit Commit aktivieren
                        4. reboot druchführen (ggf. RecoveryMode deaktivieren / aber erst nach dem reboot)

                        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 16-01-_2022_15-27-02.jpg Ansichten: 0 Größe: 950,0 KB ID: 333586


                        LMS Plugin

                        Um alle Funktionen nutzen zu können wie Equalizer oder Displays muss noch ein Plugin im LMS installiert werden.
                        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 16-01-_2022_15-49-01.jpg Ansichten: 0 Größe: 3,1 KB ID: 333589

                        Viel Spaß damit.
                        Zuletzt geändert von hismastersvoice; 16.01.2022, 15:51.
                        Kein Support per PN!

                        Kommentar

                        • Labmaster
                          Lox Guru
                          • 20.01.2017
                          • 2519

                          #14
                          Ich hab noch ein paar Hifiberry AMP2 Boards, da sollte eine pcm5122 DAC drauf sein.
                          Wenn ich die am ESP32 Wrover zum laufen bekommen hätte ich schon ein paar Ideen wo mir Raspis bisher im Dauerbetrieb zu instabil waren und mir auch zuviel Strom gezogen haben.


                          Das der ESP32 A1S mit seinem internen DAC bei der Soundqualität nicht ganz mithalten kann, war zu erwarten.

                          Kommentar

                        • Leigh
                          MS Profi
                          • 25.08.2015
                          • 699

                          #15
                          Sorry für das OT, aber kann mich wer für den Bereich hier sperren?!

                          Das bringt einen auf zu viel Dumme Gedanken.
                          Ciao, Leigh

                          Nur der eigene Geist setzt uns Grenzen...

                          Kommentar


                          • hismastersvoice
                            hismastersvoice kommentierte
                            Kommentar bearbeiten
                            Dann müsste man wohl viele aus dem ganzen Forum sperren. Sonst wird man irgendwie nie fertig mit seinem SmartHome

                          • Loxtom577
                            Loxtom577 kommentierte
                            Kommentar bearbeiten
                            Da geb ich dir recht. Das Loxforum hat mich auch schon so einiges (nicht nur Geld, sondern auch Nerven) gekostet bei der Umsetzung der Ideen aus dem Forum.
                            Dafür hat es mir aber auch schon bei so manchem Problem zu einer preiswerten Lösung meiner Probleme verholfen.

                          • Loxtom577
                            Loxtom577 kommentierte
                            Kommentar bearbeiten
                            @hismastersvoice
                            Allein schon deine Ideen sind super und machen auch Spaß umzusetzen.
                        Lädt...