Internetradio auf 7" ESP32-S3 Display von Waveshare

  • Für interessierte Tester kann ich aber auch zu gegebener Zeit Binaries bereitstellen.
    Wobei hier das Interesse am Projekt recht überschaubar ist, warum auch immer.

    Hallo Bruno,

    letzte Woche kam mein 7" Gerät. Wenn Du etwas hast das ich testen kann dann wäre ich nun dazu in der Lage.

    Ich habe die Revision 1.2 bekommen. Bin mal gespannt wie es funktioniert. Wenn ich eine Software habe werde ich mal probieren den CAN Bus Baustein zu entfernen und die I2S Leitungen direkt auf die Anschlüsse zu legen. Auch plane ich meinen UKW Modulator damit zu probieren. Damit könnte das Gerät dann völlig autark als Blickfang stehen und andere Radios mit Signalen versorgen.

    Viele Grüße
    Semir

    "Alle sagten: Das geht nicht. Dann kam einer der wusste das nicht, und hat es gemacht."
    (Prof. Hilbert Meyer, Uni Oldenburg)

    "Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety."
    (Benjamin Franklin)

  • Hallo Semir,

    mein Radio ist noch lange nicht fertig, sorry.
    Ich habe nun auf Core 3.2.0 unter PlatformIO/Arduino-Framework umgestellt und musste viele Hürden nehmen und einige sind noch vor mir.

    Ich kann dir aber bei Bedarf ein Basiskonstrukt anbieten, welches dir die Funktionalität des Displays ohne LVGL erschließt und dann kannst du auch verschiedene Audio-Libs implementieren.

    Möchtest du das so?
    Dann sag Bescheid, dann baue ich dir etwas zusammen und gebe dir den Quellcode.

    Denn, wenn ich dir meine aktuellen Binaries, statt des Quellcodes geben würde, kannst du ja dein SPDIF-Vorhaben durch die Schreibfaul-Lib nicht umsetzen. Ich überlege übrigens auch ernsthaft zu wechseln.

    Viele Grüße
    Bruno

  • Hallo Bruno,

    Ich habe mit PlatformIO oder der Espressif IDF leider noch keine Erfahrung. Aber das wäre ja mal eine Gelegenheit mich damit zu befassen. Wenn Du magst schick mir ruhig das was Du im Moment hast. Auch wenn S/PDIF nicht geht. Ich möchte als erstes mal versuchen den CAN Bus Chip zu entfernen und einen "Schönen" I2S Ausgang an das Display zu bauen. Das wäre für mich erst mal die Basis. Wenn das geht könnte ich das Display und einen meiner UKW Module in ein Gehäuse bauen. Das wäre dann ein schönes "Stand-Alone" Gerät das Internet Radio empfängt und als UKW weitergibt. Auf dem Tisch wäre das ein echter "Hingucker"...

    Das hat aber alles keine Eile. Ich verzettel mich gerne mit vielen Projekten und dann bleibt einiges liegen. :)

    Viele Grüße
    Semir

    "Alle sagten: Das geht nicht. Dann kam einer der wusste das nicht, und hat es gemacht."
    (Prof. Hilbert Meyer, Uni Oldenburg)

    "Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety."
    (Benjamin Franklin)

  • Hallo Semir,

    ah gut, ich mache dir gern eine Softwarebasis fertig, auf die man gut aufbauen kann!

    Mittlerweile habe ich auch komplett auf Core 3.2.0 umgestellt und auch die Schreibfaul-Lib in Version 3.3.0 in Benutzung.
    Da ist momentan eine rege Entwicklung im Gange und ich habe auch einen Bug gefunden und gemeldet.
    Wolle ist da scheinbar sehr dahinter :thumbup:.

    Bis zum Wochenende hast du etwas zum Spielen.

    Viele Grüße
    Bruno

  • Hallo Semir,

    anbei, wie versprochen, ein bisschen Spielzeug als Anhang.
    Damit du nicht abgelenkt wirst, habe ich dir ein Projekt erzeugt, welches alle Möglichkeiten des Displays und der I2S Dekodierung ausnutzt, aber nicht überladen ist. Ich habe mich bemüht, den Code übersichtlich zu halten und gut zu dokumentieren.
    Auch eine Console-Klasse habe ich dir entwickelt. Damit kannst du alles was passiert auf dem Display loggen und auch farbig in der seriellen Konsole, dank ANSI-Farben.

    Das sollte eine vernünftige Basis darstellen, um deine Wünsche zu implementieren.

    Das Display sollte dann so aussehen und zeilenweise scrollen:

    Und im Terminal von VSCODE sollte es dann so aussehen, wenn das Programm läuft:



    Momentan ist Wolle (Schreibfaul1) damit beschäftigt, seine Lib auf v3.3.0 stabil zu bekommen. Er ist derzeit auf v3.3.0e.
    Wenn du also die aktuellsten Versionen der Audio-Lib ausprobieren möchtest, müsstest du im Projektordner im Verzeichnis "lib" die komplette Audio-Lib "ESP32-audioI2S" löschen und in der platformio.ini die auskommentierte Zeile "; https://github.com/schreibfaul1/ESP32-audioI2S.git" aktivieren.
    Dann holt er sich die aktuellste Version der Audio-Lib.
    Aber Achtung, auch fehlerhafte Versionen können dabei sein, je nach Tag und wie Wolle gerade drauf ist.
    Auf den beiden Bildern siehst du z.B. Streamprobleme und Drops - da hatte ich gerade die neueste Version getestet ;).

    Mit meinem Programm kannst du also folgendes sehen:

    • ob das Display arbeitet (Lib = LovyanGFX, 16 Bit Bus, I2C Touch);
    • ob der Touch, also I2C arbeitet (Touchkoordinaten werden in den Kosolen ausgegeben);
    • Ob der auf dem Board befindliche IO-Expander CH422G arbeitet;
    • Ob WiFi arbeitet;
    • Ob I2S auf dem externen PCM1502A dekodiert wird und den Radiosender spielt;
    • Ob der PSRAM korrekt erkannt und benutzt wird;
    • Ob die SD-Karte arbeitet. Ich benutze eine 16GB Karte mit FAT32;
    • Ob LittleFS arbeitet;

    Na dann viel Spaß und gutes Gelingen :thumbup:.

  • Hallo Bruno,

    vielen herzlichen Dank! da habe ich nun schon mal eine Basis um etwas auszuprobieren!

    Viele Grüße
    Semir

    "Alle sagten: Das geht nicht. Dann kam einer der wusste das nicht, und hat es gemacht."
    (Prof. Hilbert Meyer, Uni Oldenburg)

    "Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety."
    (Benjamin Franklin)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!