Themabewertung:
  • 1 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Karadio für ESP8266/ESP32
#1
warum eine weitere software für Internetradios? Wir haben doch schon iRadio und Edzelf und viele andere.

Herausragende Vorteile von Karadio sind:

- sehr einfach aufzuspielen ohne compiler oder Entwicklungsumgebung.
- vielseitig in der Auswahl der Prozessorboards (alle Typen des ESP8266 oder ESP32, WROOM oder WROVER)
- Unterstützung sehr vieler Displaytypen (34 in der Grundausstattung, weitere per addon)
- vielseitige Möglichkeiten der Audioausgabe (VS1053, interner DAC, I2S, I2SMERUS, PWM)
- vielseitge Steuerungsmöglichkeiten (1 oder 2 Encoder, Tasten, touch, Infrarot, web, android-app, seriell)
- playlisten mit bis zu 255 Radiostationen können im webinterface inkl. Anzeigenamen exortiert / importiert werden
- sehr gesprächige serielle Monitorausgabe mit vielen Details zum laufenden Programm

negativ ist mir bis jetzt aufgefallen:

- die templates der Displayausgabe sind vorgefertigt und ohne Programmierkenntnisse nicht zu ändern
- keine grundsätzliche Unterstützung von Nextion-Displays. Es gibt lediglich ein addon für ein 7" Enhanced Nextion.
- Änderung der GPIO-Belegung: von der Auswahl vorgefertigter hardware-Konfigurationen abweichende Belegungen müssen etwas aufwändig gebaut werden per espressif framework (IDF/ADF) und toolchain.
Ergänzung 21.11.2022: gpio-Änderungen sind auch mit einem Hex-Editor direkt im binary möglich. Siehe: Das einfachste Internetradio mit dem neuen ESP32 Audio

- je nach Audiokonfiguration können AAC und WMV-Formate nicht abgespielt werden.

In meinem Bericht werde ich mit einfachen Projekten beginnen und wir werden sehen wie tief ich mich einarbeiten kann.

Downloadquellen

Karadio ESP32

Karadio ESP8266

Ergänzung 21.11.2022:

KaRadio32_4


Einspielen der software

Hierzu brauche ich nicht viel zu sagen. Es gibt ein deutsches Video in dem der Vorgang besser gezeigt ist als ich das jemals erklären könnte. Es werden einfach nur mit einem kleinen tool die binaries an die entsprechenden Speicheradressen geladen. Dann wird per handy WLAN verbunden (wie man es auch von Edzelf her kennt) und per webinterface Tonausgabe und Radiostationen eingestellt.



Erster Versuchsaufbau

noch Freiluft ...

   

die Android-App:

   

Dann nahm ich einen Lochraster-Aufbau, der mal als Edzelf-Experimentierplatine diente und den ich auf die Standard-Belegungen von Karadio entsprechend der standard_adb.csv umverdrahtet habe.

Ich benutzte einen wroom32-Baustein, der noch für Edzelf hier lag. Die Tonausgabe erledigt ein VS1053, Anzeigeeinheit ist ein 2,8" SPI Display mit ILI9341, in Karadio definiert als Typ 194.

   

Tonausgabe per I2S

der I2S-Baustein (Adafruit I2S 3W Class D Amplifier Breakout) wird mit 3 Datenleitungen, 5V und GND mit dem ESP32 Baustein verbunden. Aktiviert wird I2S dann per webinterface. Fertig ist das Minimalradio!

   

von der Arduino-IDE wird nur der serielle Monitor benötigt für Statusausgaben und um den code für das passende Display abzusenden. Das geht auch mit Telnet oder einem beliebigen anderen Terminal.

   

Lolin32

in der Hardwareauswahl gibt es auch diverse WeMos LOLIN - Boards. Hier ein Testaufbau mit dem Adafruit DAC. Mit nur wenigen Verbindungen hat man schon ein funktionierndes Internet-Radio.

   

ein 0,42" IC2 Display ist zum Ablesen eher ungeeignet. War ja auch nur ein Test:

   

viel brauchbarer ist da schon die 1,3" Version:

   

damit schliesse ich mal den ersten Teil meiner Software-Vorstellung. Weitere Aufbauten bzw. Fertiggeräte werde ich mit Sicherheit noch zeigen.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#2
Danke, Jupp,
Eine Klasse Vorstellung, wie bei dir normal. Ich habe die Teile auch bereits auf dem Tisch und werde einiges Experimentieren - z.B. mit ESP8266 und weitere Displays.
Gruß,
Ivan
Zitieren
#3
Hallo Jupp,

wie ich sehe, Du hast Freude an dem WDR 5 Sender gefunden.
Schöne  Arbeit.
Gruß  Miroslaw

In der Theorie gibt es keinen Unterschied zwischen Praxis und Theorie. In der Praxis schon.

Zitieren
#4
richtig Miroslaw. Es passiert so viel auf der Welt was man ohne WDR5 gar nicht erfährt. Nur meine Frau stört sich etwas an dem Gemurmel aus meinem Zimmer. Für sie bedeutet Radio immer Musik.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#5
Hallo Jupp,

danke für die ausführliche Beschreibung. Ich werde es mal ausprobieren.
Liebe Grüße,
der Jens wars gewesen...

--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Zitieren
#6
(01.12.2021, 13:19)pintel schrieb: Hallo Jupp,

danke für die ausführliche Beschreibung. Ich werde es mal ausprobieren.

das würde mich freuen. Du bekommst bestimmt die esp-idf zum Laufen. Ich verzweifle daran. Die Beschreibung von Vassilis passt nicht mehr zur aktuellen Version. Dann käme ich von den vorkonfigurierten Beispielen weg.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#7
ich knüpfe mal hier an, nachdem ich der Dokumentation eines Komplettgerätes mit ESPlay Micro V2 einen eigenen thread gewidmet habe.

Nächster Versuch ist ein Aufbau mit einem WEMOS LOLIN32 Lite V1.0.0. Kostet kaum mehr als 5 Euro, besitzt wie das Lolin32 Board aber keinen PSRAM. Überhaupt sind die technischen Daten der beiden Boards zu 99% identisch. Ein funktionierendes einfaches Internetradio läßt sich mit beiden Modulen bauen. Mit der Einschränkung daß nur mp3/m3u Sender abgespielt werden können (ist mir bei dem ersten Versuch in #post1 noch nicht aufgefallen).

Die flash-Einstellungen:


.png   lolin_lite.png (Größe: 26,78 KB / Downloads: 1.131)

Betrieb zunächst ohne Peripherie:

   

dann habe ich noch den encoder und ein 0,96" OLED dazu gesetzt.

   

Schaut man sich im Karadio-Paket die Datei Interface.md an stellt man noch was interessantes fest. Man kann im seriellen Monitor die WiFi Verbindung händeln und erspart sich damit die AP-Mode Prozedur:

Zitat:wifi.con("ssid","password") : Record the given AP ssid with password in AP1 for next reboot
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#8
Hallo alle zusammen
ich bin neu in diesen Forum und Bastler, ich habe den Karadio mit esp32 zusammen mein problem ich bekomme mein SSD1306 Oled display nicht an laufen ich habe den befehl für den oled display in arduino ide eingegeben und hat das angenommen nur das Display blebt schwarz für jede hilfe dankbar.
mein Display #define LCD_I2C_SSD1306 1 //128X64
Zitieren
#9
Hallo caligula,

der Befehl im seriellen Monitor lautet: sys.lcd("1"). Und es kommt dann auch eine Rückmeldung.

wenn das nicht funktioniert ist das Display defekt oder falsch angeklemmt. Von den 0,96" habe ich mindestens 20% Ausschuß.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#10
Hallo saarfranzose
das Display ist in ortnung ich habe es mit adafruit ssd1306 ausprobiert und läuft
den sys.lcd("1") hat auch sofort funktioniert und habe auch eine Rückmeldung bekommen
die pinnbelegung habe ich aus den Plan von Karawin aus dem Github genommen
Display 3v, GND, SCL=pin io14 , SDA=pin io13

Gruß
Zitieren
#11
Pin 13 und 14 ist falsch, die Leitungen müssen auf gpio13 und 14. Je nach Layout des Bausteins sind die Pin dazu unterschiedlich. Ich denke du hast es aber bestimmt richtig gemeint und nur falsch geschrieben.
gpio13 und 14 für I2C gilt aber auch nicht für alle Boardvorlagen. Schaue auch in die csv Datei der von dir benutzten Vorlage.
Sonst hab ich keine Idee mehr.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#12
das Display funktioniert Kabelbruch oder wackler ?
schönen Tag noch
Zitieren
#13
Hallo saarfranzose wie bekomme ich einen foto ochgeladen in den Beitrag
Zitieren
#14
das kannst du hier nachlesen:

Bilderupload Teil 1: Einfügen in den Beitrag
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#15
Hallo,
ich habe mich nun auch an dem Projekt versucht und war bis auf zwei kleine Stolperstellen erfolgreich.
Die erste betraf das Espressiv Download Tool, welches in der neuen Version den Erfolg nunmehr in blauer statt in grüner Farbe markiert. Mein Mißtrauen hat mich etwas Zeit gekostet, Huh Idea dafür lief es dann aber recht glatt.
Die zweite Stolperstelle betrifft mein 2,4" TFT-Display 320x240 mit ST7789V-Controller (Nr. 199 bei der Auswahl). Die Identifikation der kryptisch bezeichneten SPI-Anschlüsse hat funktioniert, aber es sind alle Farben im Bild invertiert.
Das soll man mit der Codezeile

Code:
# define TFT_INVERSION_OFF


beheben können. Nur wo trage ich diese ein? Muß ich dazu die komplette Tool chain installieren und meine eigene Firmware kompilieren?
Danke vorab für Eure richtungweisenden Tips.

Gruß Micha
Zitieren
#16
Hallo Micha,

Zitat:Das soll man mit der Codezeile "# define TFT_INVERSION_OFF" beheben können.

wo hast du denn diese Info her?

ich tippe eher auf einen falschen Bildschirmtreiber. Hast du außer der 199 auch andere probiert?

Die TFT-Typen sollten komplett im Terminal (Monitor) zu konfigurieren sein. Ich kann mir nicht vorstellen dass du wegen einem Parameter einen neuen layer bauen musst.

Du kannst das Problem in der FB-Gruppe von Jean-Pierre Cocatrix schildern. Jean-Pierre gibt sich viel Mühe mit Hilfestellungen.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#17
Jupp, danke für Deine Anregung. Mit der anderen in Frage kommenden Möglichkeit (194, ILI9341) funktioniert es leider auch nicht.
Die Info habe ich aus der Bewertung eines anderen Käufers und sie erscheint mir plausibel. Leider gibt es ja zu den billigen Teilen keine gute Dokumentation, nur ein Datenblatt zum Controller. Zumindest gibt es bei Github auch einige Diskussionen dazu.
FB steht mir leider nicht offen. Smiley57 So werde ich mich wohl doch mal mit der tool chain auseinandersetzen. Smiley43
(Oder bestelle nochmal ein anderes Display Cool , aber das war eigentlich nicht der Plan.) 

Gruß Micha

PS: Mit Nr. 204 stimmt die farbliche Darstellung übrigens, aber das Format ist viel zu klein, da bleiben breite Ränder...
Zitieren
#18
Zitat:Liebe diesen kleinen Bildschirm. Es funktioniert über SPI mit zusätzlichen Pins für Daten steuerung, Reset und Hintergrund beleuchtung. Verbinden Sie VCC und LED mit 3,3 V und überprüfen Sie das Pinout Ihrer Dev-Platine sorgfältig, um alle SPI-Pins zu verbinden. Eine seltsame Eigenart, die ich entdeckt habe, ist, dass diese Anzeige standard mäßig Farben invertiert. Wenn Sie die Adafruit ST7789-Bibliothek oder die TSFT _ eSPI-Bibliothek verwenden, fügen Sie oben in Ihrem Programm die Zeile "# define TFT_INVERSION_OFF" hinzu, um die Farben des Bildschirms zu korrigieren. Danach sind Sie so lange eingestellt, wie Sie an die richtigen SPI-Pins anges ch lossen und CS-, DC-und RST-Pins entsprechend eingestellt haben. Das Display wurde in einer Hartplastik hülle mit Schaumstoff zum Schutz der Stifte geliefert-SEHR schöne Verpackung. Dank an den Verkäufer!

das gilt für die Adafruit oder die Bodmer Bibliothek. Welche Bibliotheken Cocatrix benutzt weiß man nicht. Mit der tool-chain konvertierst du eine Tabelle in ein binary. Das wird dir also nichts nutzen. Mehr ist vom Quellcode ja nicht zugänglich. Kaufe dir besser ein Display welches direkt unterstützt wird oder benutze ein anderes Programm. Die Auswahl ist ja mittlerweile sehr groß geworden.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#19
Hallo zusammen,
ich habe nun auch ein KaraDio mit einem ESP32-D1mini und VS1003 gebaut, das ist der abgespeckte Bruder des VS1053.
Mit den Pins hatte ich gehofft, dass ich mit den zum ESP8266 Rastermaß kompatiblen Pins das Radio zum Laufen bekommen, aber mit den GPIOs 16,17,21,22 für I2S ging es nicht.
Mit 3 GPIOs aus der zweiten Reihe (32,33,34) des ESP32-D1mini habe ich nun eine funktionierende Konfiguration gefunden.
Gestern habe ich auch die IDF-Umgebung zum Laufen bekommen, so dass ich mir auf dem Weg auch das bin-File generiert habe. Ich hatte erst vermutet, dass die Variante mit dem HEX-Editor vielleicht doch nicht so funktioniert, und deshalb mit den oben genannten Pins der vs1003 nicht angesprochen wurde. Aber das war nicht die Ursache, mit den kompilierten bin-file ging es auch nicht.
Ein zufällig gefundenes TFT-Display hat auf Anhieb funktioniert.
Alles in allem ein tolles Projekt.

Hier ist die Konfiguration aus dem csv-File, alles weitere ist deaktiviert (255)

gpio_space,namespace,,
K_SPI,data,u8,2
P_MISO,data,u8,19
P_MOSI,data,u8,23
P_CLK,data,u8,18
P_XCS,data,u8,32
P_RST,data,u8,5
P_XDCS,data,u8,33
P_DREQ,data,u8,34
P_ENC0_A,data,u8,255
P_ENC0_B,data,u8,255
P_ENC0_BTN,data,u8,255
P_ENC1_A,data,u8,255
P_ENC1_B,data,u8,255
P_ENC1_BTN,data,u8,255
P_BTN0_A,data,u8,26
P_BTN0_B,data,u8,255
P_BTN0_C,data,u8,255
P_BTN1_A,data,u8,255
P_BTN1_B,data,u8,255
P_BTN1_C,data,u8,255
P_I2C_SCL,data,u8,22
P_I2C_SDA,data,u8,21
P_I2C_RST,data,u8,255

Viel Spaß beim Basteln.

Grüße,
Werner
Zitieren
#20
Hallo Werner,

die gpios sind, wie du ja schon gemerkt hast, nicht gleichberechtigt. DIN für I2S braucht einen DAC-Pin (GPIO25). Und für I2C sind GPIO21 und 22 festgelegt (Siehe Grafik).
Aber von I2S bist du ja weg und nutzt einen VS1003 zur Tonausgabe. Nicht jede Software akzeptiert den VS1003. Bei KaRadio hast du Glück gehabt. Musst aber damit rechnen dass evtl. nicht jeder webstream abgespielt wird.
Auch 18 ,19, 23 ist für den VSPI Bus festgelegt und für SPI alternativlos. HSPI steht für den D1 Mini wohl nicht zur Verfügung?

Glückwunsch auch zum gelungenen Einrichten der toolchain. Welches Betriebssystem nutzt du dafür?

   
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Dementia III ESP32 Internetradio mit Simulation saarfranzose 16 3.089 08.04.2024, 14:34
Letzter Beitrag: saarfranzose
  iRadioMini für ESP32 Bernhard45 17 11.309 09.03.2024, 22:29
Letzter Beitrag: OttoBerger
  MW-Sender mit ESP32 DrNeurosurg 23 4.802 06.02.2024, 14:56
Letzter Beitrag: navi
  Software Installer für den ESP32 pintel 18 1.072 29.12.2023, 18:29
Letzter Beitrag: Siegfried55
  Huth E72 Internetradio mit ESP32 saarfranzose 10 1.904 12.05.2023, 14:49
Letzter Beitrag: saarfranzose

Gehe zu: