24.11.2023, 15:52
Jaja, der Thread-Titel ...
Nee, ganz ehrlich, viel einfacher geht es kaum.
Doch der Reihe nach:
Für ein gänzlich anderes Projekt (Display & Steuerung für HomeTrainer) war ich auf der Suche nach einem Display mit Touch. Nicht zu klein, nicht zu groß und - natürlich - nicht zu teuer.
Bei Ali bin ich dann auf das WT32-SC01-Plus (Achtung: das "Plus" ist wichtig !) gestoßen:
Ein Modul mit
Datenblätter findet man an verschiedenen Stellen, u.a. hier.
Kaufen kann man das Ding nicht nur bei Ali , sondern auch direkt in Deutschland !!!
Bestellt und nach einer Woche bekommen...
Was ist in der Box ?
Das Board, ein USB-C zu USB-A Kabel , ein Anschluss-Kabel für RS485 und eins für das Programmier-Interface.
Was liegt also näher, als damit eine kleines, aber feines Internet-Radio zu bauen ?
Zuallererst muss man das Ding erstmal programmierbar machen.
Ich bin großer Freund (und Benutzer) von PlatformIO, habe mich aber in diesem Fall für die Arduino IDE entschieden.
Da ich mit einem Mac arbeite, ist ja das USB-C Interface sehr willkommen:
Vergesst das mitgelieferte Kabel: es kann nur zur Stromversorgung benutzt werden - nix weiter !
Also ein "richtiges" USB-C Kabel mit dem Board verbunden und - Erstaunen - das Board zeigt eine Demo.
Fein, aber nicht sehr spektakulär.
Ich will selber !!!
Zuerst mal gucken was sich in der Arduino-IDE zeigt:
und Tatsache, nicht nur der USB-C-Port, wird erkannt, auch das Board.
Kurzer Text ("Hello World") über Serial.Println :
Als Board im BoardManager "ESP32S3 DevModule" ausgewählt, "USB CDC on boot" auf enabled gestellt.
(Hier nochmal die Einstellungen)
Bildschirmfoto 2023-11-24 um 14.29.23.png (Größe: 87,33 KB / Downloads: 830)
Kompiliert, Upload: Voila ! Das ist cool .
Und nochmal der Hinweis: Das ist der aller-aller-erste Schritt, den man erfolgreich absolvieren sollte - nicht gleich das volle Programm !
(die Quellen gibts dann - etwas später - auch auf GitHub)
Das nächste - und naheliegende - ist das Display.
Nach eine wenig (wirklich wenig) googeln, habe ich mich für LVGL entschieden, die zusammen mit LovyanGFX (beide als Arduino Bibliotheken verfügbar) viele Dinge möglich machen sollte.
Es gibt mehrere kleine Hürden, die vorher noch überwunden werden müssen:
Und schon kann man die erste UI "zaubern".
(klitzekleines Beispiel dann auch auf Github)
Und jetzt kommt der Moment: alles zusammen mit Audio...
Ich benutze - der Einfachheit halber und weil ich mich damit ganz gut auskenne - die AudioTools von P.Schatzmann. Das Gute daran ist, dass man die gleich als Library in die Arduino-IDE einfügen kann ..
Und alles zusammen dann:
Und zu guter Letzt habe ich dann noch eine GUI mit dem Squareline Studio "gebastelt" ... es braucht zwar einige Zeit zur Einarbeitung und es sind auch einige Hürden zu überwinden, wenn man das ganze mit der Arduino-IDE "verheiraten" will - aber es geht:
Das wars erstmal für heute .. stay tuned !
PS: Alle Beispiele auf Github (habt noch eine wenige Geduld - ist Wochenende)
Nee, ganz ehrlich, viel einfacher geht es kaum.
Doch der Reihe nach:
Für ein gänzlich anderes Projekt (Display & Steuerung für HomeTrainer) war ich auf der Suche nach einem Display mit Touch. Nicht zu klein, nicht zu groß und - natürlich - nicht zu teuer.
Bei Ali bin ich dann auf das WT32-SC01-Plus (Achtung: das "Plus" ist wichtig !) gestoßen:
Ein Modul mit
- ESP32S3 (!)
- RS485, USB-C (!)
- 3.5" TFT-Display mit 480x320 (16Bit)
- kapazitivem Touch
- SD-Karte
- I2S Verstärker (leider nur Mono - egal)
Datenblätter findet man an verschiedenen Stellen, u.a. hier.
Kaufen kann man das Ding nicht nur bei Ali , sondern auch direkt in Deutschland !!!
Bestellt und nach einer Woche bekommen...
Was ist in der Box ?
Das Board, ein USB-C zu USB-A Kabel , ein Anschluss-Kabel für RS485 und eins für das Programmier-Interface.
Was liegt also näher, als damit eine kleines, aber feines Internet-Radio zu bauen ?
Zuallererst muss man das Ding erstmal programmierbar machen.
Ich bin großer Freund (und Benutzer) von PlatformIO, habe mich aber in diesem Fall für die Arduino IDE entschieden.
Da ich mit einem Mac arbeite, ist ja das USB-C Interface sehr willkommen:
Vergesst das mitgelieferte Kabel: es kann nur zur Stromversorgung benutzt werden - nix weiter !
Also ein "richtiges" USB-C Kabel mit dem Board verbunden und - Erstaunen - das Board zeigt eine Demo.
Fein, aber nicht sehr spektakulär.
Ich will selber !!!
Zuerst mal gucken was sich in der Arduino-IDE zeigt:
und Tatsache, nicht nur der USB-C-Port, wird erkannt, auch das Board.
Kurzer Text ("Hello World") über Serial.Println :
Als Board im BoardManager "ESP32S3 DevModule" ausgewählt, "USB CDC on boot" auf enabled gestellt.
(Hier nochmal die Einstellungen)
Bildschirmfoto 2023-11-24 um 14.29.23.png (Größe: 87,33 KB / Downloads: 830)
Kompiliert, Upload: Voila ! Das ist cool .
Und nochmal der Hinweis: Das ist der aller-aller-erste Schritt, den man erfolgreich absolvieren sollte - nicht gleich das volle Programm !
(die Quellen gibts dann - etwas später - auch auf GitHub)
Das nächste - und naheliegende - ist das Display.
Nach eine wenig (wirklich wenig) googeln, habe ich mich für LVGL entschieden, die zusammen mit LovyanGFX (beide als Arduino Bibliotheken verfügbar) viele Dinge möglich machen sollte.
Es gibt mehrere kleine Hürden, die vorher noch überwunden werden müssen:
- zuerst muss eine für das Board angepasste lvcl.conf an ein den "Arduino/libraries"-Ordner kopiert werden: direkt in den Ordner und nicht in einen Unter-Ordner !!!
- letztendlich braucht man noch die entsprechenden Aufrufe, um das Display zu initialisieren, den Touch abzufragen usw. : das habe ich über das Header-File wt32_sc01_plus.h realisiert.
Und schon kann man die erste UI "zaubern".
(klitzekleines Beispiel dann auch auf Github)
Und jetzt kommt der Moment: alles zusammen mit Audio...
Ich benutze - der Einfachheit halber und weil ich mich damit ganz gut auskenne - die AudioTools von P.Schatzmann. Das Gute daran ist, dass man die gleich als Library in die Arduino-IDE einfügen kann ..
Und alles zusammen dann:
Und zu guter Letzt habe ich dann noch eine GUI mit dem Squareline Studio "gebastelt" ... es braucht zwar einige Zeit zur Einarbeitung und es sind auch einige Hürden zu überwinden, wenn man das ganze mit der Arduino-IDE "verheiraten" will - aber es geht:
Das wars erstmal für heute .. stay tuned !
PS: Alle Beispiele auf Github (habt noch eine wenige Geduld - ist Wochenende)
Think different !
Viele Grüße aus Berlin
Frank
Viele Grüße aus Berlin
Frank