Update: The reader Andreas Schröder has changed the project a little and supplemented some functions. You can find the text and sketch at the end of the post.
Many radio stations can be heard as a MP3 stream over the Internet. Since the microcontroller ESP32 has WLAN skills on the one hand and, on the other hand, can convert the digital data stream into an analog signal with two built-in digital/analog converters, it offers itself as an ideal solution. In addition, a battery power supply, an audio amplifier, two speakers, a display for the transmitter display and an input device for the transmitter setting is required. The whole thing is rounded off with a housing from the 3D printer.
Required hardware
Number | Component | annotation |
---|---|---|
1 |
|
|
1 |
|
|
1 |
|
|
2 |
Resistance 4.7 KOHM |
|
2 |
Resistance 22 KOHM |
|
1 |
Resistance 10 kohm |
|
1 |
Elko 1000UF / 10V |
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
2 |
Spring strips 19-pin |
|
1 |
Park bar 3-pin |
|
1 |
Park bar 4-pin |
|
1 |
Pin bar 5-pin |
|
2 |
Turntons for 6mm axis |
|
Several |
Jumper cable female too female |
|
1 |
|
|
1 |
|
|
1 |
|
|
various |
|
circuit

Important!
If the Rotary Encoder is not used, the PIN 34 of the ESP32 must still be connected to the 10 co-cock resistance with 3.3V.
The ESP32 is built up on a 50x70 mm hole grid plate with the resistances and pen strips for the periphery.
The figure shows the assembly and wiring on the underside
wiring
First of all, the loader's battery connection is connected to the input of the DC-DC Step Up converter. Note the polarity! The battery is also soldered via a suitable connector with the battery input of the loader. Now the output voltage of the converter with the blue potentiometer should be set to approx. 5.2 V. To do this, either a battery must be connected or the loader's USB input must be connected to a USB network.
If the voltage is set, the output of the converter can be connected to the supply receipt of the audio amplifier. There are two soldering points on the back of the amplifier, the plus connection is switched over the switch of the volume potentiometer.
This connection is used to supply the ESP32 and the display so that the device can be switched off completely via the potentiometer.
Now the connections to the control board can be made on the hole grid plate. It is best to use jumper wires with two female plugs. You need a 3-pin connection from the audio output to the amplifier, a 4-pin to the display and a 5-pin to the Rotary Encoder.
Important NOTE!
The loudspeakers should not be attached or staked out when switched on, since inductive tension peaks could destroy the amplifier outputs.
If the housing presented in the blog post is used, battery, loader, DC/DC converter and the control board come to the baking tarpaulin. The speakers, the amplifier, the Rotary Encoder and the display come to the front tarpaulin. The lid is used to secure the battery.
software
In order for the sketch to be compiled, the Arduino IDE must be prepared accordingly. By default, Arduino IDE supports a large number of boards with different microcontrollers, but not the ESP32. So that you can create and upload programs for these controllers, a software package for the support must therefore be installed.
First you have to communicate the Arduino IDE where you can find the additional data required. To do this, open the Preferences in the File menu. In the preset window there is the input field called "Additional board administrator URLS". If you click on the icon to the right of the input field, a window in which you can open the URL https://dl.espressif.com/dl/package_esp32_index.json for the ESP32 can enter. Version 2.0.0 or higher of the ESP32 package should not be used for this project, since these versions have problems related to the ESP8266audio library!
Now choose the board management in the Arduino IDE under tool → board.
A window opens in which all available packages are listed. In order to narrow down the list, you enter "ESP32" in the search field. Then you only get an entry in the list. Install the "ESP32" package.
For the display you need a library that can be installed via the Arduino library management. This is the library "Liquidcrystal I2C".
Another library is required for the Rotary Encoder. Her name is "Aiesp32rotary Coder".
The core of this project is the library "ESP8266audio".
This library enables various digital input currents to be read, decoding and reproducing them using various output channels. As an entrance, the program memory, the internal RAM can be used by an SD card, an HTTP stream or an ICY stream. The icy stream is typically used by internet radios.
WAV, MOD, MIDI, Flac, AAC and MP3 files can be decoded. MP3 is required for the web radio. The output can finally be made in memory, files or I2S. There is a special feature for the ESP32. The I2S Output can be output on the internal digital analog converter. An analog stereo signal is then available at the output pins of the DAW (PIN 25 and PIN 26). This feature is used in the present project.
If all libraries are installed, the sketch can be compiled and uploaded to the hardware.
The sketch
#include <Wifi.H> // Includes from ESP8266audio #include "AudioFileesourceiSstream.h" // input stream #include "AudioFileesourcebuffer.h" // input buffer #include "Audiogeneratormp3.h" //decoder #include "AudioOutPuti2s.h" // output stream // Library for LCD display #include <Liquidcrystal_i2c.H> // Library for Rotary Encoder #include "AiesP32rotaryScoder.h" // ESP32 Library to Save Preferences in Flash #include <Preferences.H> // WLAN Access Fill with your credentials #define SSID "************" #define PSK "*************" // Used pins for Rotary Encoder #define Rotary_encoder_a_pin 33 #define Rotary_encoder_b_pin 32 #define Rotary_encoder_Button_pin 34 #define Rotary_encoder_vcc_pin -1 /* 27 PUT -1 of Rotary Encoder VCC IS Connected Directly to 3.3V; Else you can use declared output pin for powering rotary encoder */ // Depending on Your Encoder - Try 1.2 OR 4 TO GET Expected Behavior //#define rotary_encoder_steps 1 //#define rotary_encoder_steps 2 #define Rotary_encoder_steps 4 // Structure for Station List type struct { char * url; // stream url char * Surname; // station name } station; #define Ward 24 // Number of Stations in Tzhe List // Station List Can Easily Be Modified to Support Other Stations station wardlist[Ward] Progmem = { {"http://icecast.ndr.de/ndr/ndr2/niedersachsen/mp3/128/stream.mp3","NDR2 Lower Saxony"}, {"http://icecast.ndr.de/ndr/ndr1niedersachsen/hannover/mp3/128/stream.mp3","NDR1 Hannover"}, {"http://wdr-1live-live.iceCast.wdr.de/wdr/1live/live/mp3/128/stream.mp3","WDR1"}, {"http://wdr-cosmo-live.iceCast.wdr.de/wdr/cosmo/live/mp3/128/stream.mp3","WDR Cosmo"}, {"http://radiohagen.cast.addradio.de/radiohagen/simulcast/high/stream.mp3","Radio Hagen"}, {"http://st01.sslstream.dlf.de/dlf/01/128/mp3/stream.mp3","Deutschlandfunk"}, {"http://dispatcher.rndfnk.com/br/br1/franken/mp3/low","Bayern1"}, {"http://dispatcher.rndfnk.com/br3/live/mp3/low","Bayern 3"}, {"http://dispatcher.rndfnk.com/hr/hr3/live/mp3/48/stream.mp3","Hessen3"}, {"http://stream.antentne.de/antne","Antenne Bayern"}, {"http://stream.1a-webradio.de/saw-deutsch/","Radio 1a German hits"}, {"http://stream.1a-weibradio.de/saw-rock/","Radio 1a Rock"}, {"http://streams.80s80s.de/ndw/mp3-192/streams.80S80S.de/","Neue Deutsche Welle"}, {"http://dispatcher.rndfnk.com/br/brklassik/live/mp3/low","Bavaria Classic"}, {"http://mdr-284280-1.Cast.mdr.de/MDR/284280/1/mp3/low/Stream.mp3","MDR"}, {"http://icecast.ndr.de/ndr/njoy/live/mp3/128/stream.mp3","N-Joy"}, {"http://dispatcher.rndfnk.com/rbb/rbb888/live/mp3/mid","RBB"}, {"http://dispatcher.rndfnk.com/rbb/antnebrandenburg/live/mp3/mid","Antenne Brandenburg"}, {"http://wdr3-live.iceCasttssl.wdr.de/wdr/wdr3/live/mp3/128/stream.mp3","WDR3"}, {"http://wdr2-aachenundregion.iceCasttssl.wdr.de/wdr2/aachenundregion/mp3/128/stream.mp3","WDR 2"}, {"http://rnrw.cast.addradio.de/rnrw-0182/deinschlager/low/Stream.mp3","NRW Schlagerradio"}, {"http://rnrw.cast.addradio.de/rnrw-0182/deinrock/low/stream.mp3","NRW Rockradio"}, {"http://rnrw.cast.addradio.de/rnrw-0182/dein90er/low/stream.mp3","NRW 90s"}, {"http://mp3.hitradiort1.c.nmdn.net/rt1rockwl/livestream.mp3","RT1 Rock"}}; // Buffer size for stream buffering const intimately Preallocatebuffersize = 80*1024; const intimately PreallocateCodecsize = 29192; // MP3 Codec Max Mem Needed // pointer to preallocated memory void *Preallocatebuffer = ZERO; void *PreallocateCodec = ZERO; // Instance of Preferences Preferences Pref; // Instance for Rotary Encoder AISP32Rotary code rotary = AISP32Rotary code(Rotary_encoder_a_pin, Rotary_encoder_b_pin, Rotary_encoder_Button_pin, Rotary_encoder_vcc_pin, Rotary_encoder_steps); // Instance for LCD display Liquidcrystal_i2c LCD(0x27,16,2); // Set the lcd address to 0x27 for a 16 chars and 2 line display // Instance for Audio Components Audio *decoder = ZERO; Audio filesourceistream *file = ZERO; Audio filesource buffer *buff = ZERO; Audiooutputi2s *out; // Special character to Show a Speaker Icon for Current Station uint8_t speaker[8] = {0x3,0x5,0x19,0x11,0x19,0x5,0x3}; // global variables uint8_t curing = 0; // Index for current selected station in station list uint8_t act = 0; // Index for current station in station list used for streaming uint32_t liability = 0; // Time of Last Selection Change // Callback function wants to be called If Meta Data Were Found in Input Stream void MDCallback(void *cbdata, const char *type, Bool isunicode, const char *string) { const char *PTR = Reinterpret_Cast<const char *>(cbdata); (void) isunicode; // Punt this ball for Now // note that the type and string may be in progmem, so copy them to ram for printf char S1[32], s2[64]; strncpy_p(S1, type, Sizeof(S1)); S1[Sizeof(S1)-1]=0; strncpy_p(s2, string, Sizeof(s2)); s2[Sizeof(s2)-1]=0; Serial.printf("Metadata (%s) '%s' = '%s' \ n", PTR, S1, s2); Serial.flush(); } // stop playing the input stream release memory, delete instantences void stop playing() { IF (decoder) { decoder->Stop(); delete decoder; decoder = ZERO; } IF (buff) { buff->close(); delete buff; buff = ZERO; } IF (file) { file->close(); delete file; file = ZERO; } } //start playing a stream from current active station void startUrl() { stopPlaying(); //first close existing streams //open input file for selected url Serial.printf("Active station %s\n",stationlist[actStation].url); file = new AudioFileSourceICYStream(stationlist[actStation].url); //register callback for meta data file->RegisterMetadataCB(MDCallback, NULL); //create a new buffer which uses the preallocated memory buff = new AudioFileSourceBuffer(file, preallocateBuffer, preallocateBufferSize); Serial.printf_P(PSTR("sourcebuffer created - Free mem=%d\n"), ESP.getFreeHeap()); //create and start a new decoder decoder = (AudioGenerator*) new AudioGeneratorMP3(preallocateCodec, preallocateCodecSize); Serial.printf_P(PSTR("created decoder\n")); Serial.printf_P("Decoder start...\n"); decoder->begin(buff, out); } //show name of current station on LCD display //show the speaker symbol in front if current station = active station void showStation() { lcd.clear(); if (curStation == actStation) { lcd.home(); lcd.print(char(1)); } lcd.setCursor(2,0); String name = String(stationlist[curStation].name); if (name.length() < 15) lcd.print(name); else { uint8_t p = name.lastIndexOf(" ",15); //if name does not fit, split line on space lcd.print(name.substring(0,p)); lcd.setCursor(0,1); lcd.print(name.substring(p+1,p+17)); } } //handle events from rotary encoder void rotary_loop() { //dont do anything unless value changed if (rotaryEncoder.encoderChanged()) { uint16_t v = rotaryEncoder.readEncoder(); Serial.printf("Station: %i\n",v); //set new currtent station and show its name if (v < STATIONS) { curStation = v; showStation(); lastchange = millis(); } } //if no change happened within 10s set active station as current station if ((lastchange > 0) && ((millis()-lastchange) > 10000)){ curStation = actStation; lastchange = 0; showStation(); } //react on rotary encoder switch if (rotaryEncoder.isEncoderButtonClicked()) { //set current station as active station and start streaming actStation = curStation; Serial.printf("Active station %s\n",stationlist[actStation].name); pref.putUShort("station",curStation); startUrl(); //call show station to display the speaker symbol showStation(); } } //interrupt handling for rotary encoder void IRAM_ATTR readEncoderISR() { rotaryEncoder.readEncoder_ISR(); } //setup void setup() { Serial.begin(115200); delay(1000); //reserve buffer für for decoder and stream preallocateBuffer = malloc(preallocateBufferSize); // Stream-file-buffer preallocateCodec = malloc(preallocateCodecSize); // Decoder- buffer if (!preallocateBuffer || !preallocateCodec) { Serial.printf_P(PSTR("FATAL ERROR: Unable to preallocate %d bytes for app\n"), preallocateBufferSize+preallocateCodecSize); while(1){ yield(); // Infinite halt } } //start rotary encoder instance rotaryEncoder.begin(); rotaryEncoder.setup(readEncoderISR); rotaryEncoder.setBoundaries(0, STATIONS, true); //minValue, maxValue, circleValues true|false (when max go to min and vice versa) rotaryEncoder.disableAcceleration(); //init WiFi Serial.println("Connecting to WiFi"); WiFi.disconnect(); WiFi.softAPdisconnect(true); WiFi.mode(WIFI_STA); WiFi.begin(SSID, PSK); // Try forever while (WiFi.status() != WL_CONNECTED) { Serial.println("...Connecting to WiFi"); delay(1000); } Serial.println("Connected"); //create I2S output do use with decoder //the second parameter 1 means use the internal DAC out = new AudioOutputI2S(0,1); //init the LCD display lcd.init(); lcd.backlight(); lcd.createChar(1, speaker); //set current station to 0 curStation = 0; //start preferences instance pref.begin("radio", false); // Set Current Station to Saved Value IF Available IF (Pref.Iskey("station")) curing = Pref.gut("station"); IF (curing >= Ward) curing = 0; // Set Active Station to Current Station // Show on display and start streaming act = curing; show station(); starturl(); } void loop() { // check if stream has ended Normally not on icy streams IF (decoder->Isrunning()) { IF (!decoder->loop()) { decoder->Stop(); } } Else { Serial.printf("MP3 Done \ n"); // Restart ESP when streaming is done or errored delay(10000); ESP.remaining start(); } // Read events from Rotary Encoder rotary_loop(); }
Before compiling, the SSID and the password must be set for the WLAN. At the beginning of the sketch is a list of 24 German radio stations. You can edit or expand them as you like to hear your desired program. A maximum of 100 stations can be defined.
After uploading, the program can be started. The channel list can be scrolled with the Rotary Encoder. If you press the button of the Rotary Encoder, the station that has just been displayed is set as active. This selection is saved in the flash, so that after a power break, the program is started again with the selected transmitter. The station that has just been reproduced is displayed on the display by a preceding loudspeaker symbol.
Have fun with the internet radio
Update from our reader Andreas Schröder
(thanks at this point)
With a cut black film on white housing, it looks really good.
Because this is not tingling and screwing up, I expanded the code to include the following:
1. An automatic AP mode with a lack of WLAN connection, which then queries the access data via web server.
2. In normal operation, the transmitter list can be maintained via a web front end. Would like to have provided the code, screenshots and the plotter file for the film here.
The WLAN configuration is held in the internal flash memory. This can be configured using the web interface. The configuration process is as follows:
-
Charge the saved login data
-
Attempt to make connections (display shows "WLAN")
-
If that is not possible
-
Change to AP mode and create the WLAN "WebRadio"
-
Expect the data entry under http://192.168.4.1
-
Restart with new data
-
==> The whole thing is repeated until a connection is possible
Transmitter list
The list of stored transmitters can above http: // be adjusted.
334 commentaires
Kurt Hohmann
Hallo Jörn,
WO hast du den Eintrag geändert?
Ich habe das gleiche Problem, sehe aber den Fehler nicht.
VG Kurt
Kurt Hohmann
Hallo Werner (März 21, 2025 at 12:59pm)
Ich vermute einen Syntaxfehler beim Ändern der Senderliste.
Klammern gesetzt, Komma beachtet oder die Anzahl der Sendereinträge nicht geändert?
#define STATIONS 24 //gibt an, dass 24 Sender in der Liste sind.
Jeder Eintrag hat
{“http://Adresse“,“Anzeigename“},
Wenn du dich da verzählt hast, geht es schief.
VG Kurt
Andy
Thanks @Alfred
I reinstalled the ESPAsyncWebServer provider that you used:
- ESPAsyncWebServer 3.1.0 By lacamera
All good now. It builds and runs OK.
@Ronald are you using the 3.1.0 library by lacamera?
There was an earlier message about deleting the SD and WIFI folders
@ben – maybe similar problems for you?
I included all the library versions that I was using in a previous message (except for the 3.1.0 ESPAsyncWebServer – at that point, mine was using v3.7.4 by ESP32Async rather than lacamera)
Hope this gives you some clues.
Alfred
@ThomasErne.
“ESP geht auf stop” hast du geschrieben…. Hm. Tut mir leid… Das ist einfach zu wenig
Info von deinem Problem.
VG Alfred
Alfred
Werner, was hast du denn geändert???? Kannst auch dorthin deine Fragen stellen, geht schneller.... intern10online.de
VG Alfred
Werner
Am Anfang funktionierte alles super.
Dann änderte ich die Sendenliste. Dann begann das Problem. jetzt kommt immer diese Fehlermeldung.
rst:0xc (SW_CPU_RESET),boot:0×13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0×00,q_drv:0×00,d_drv:0×00,cs0_drv:0×00,hd_drv:0×00,wp_drv:0×00
mode:DIO, clock div:1
load:0×3fff0018,len:4
load:0×3fff001c,len:1216
ho 0 tail 12 room 4
load:0×40078000,len:10944
load:0×40080400,len:6388
entry 0×400806b4
Connecting to WiFi
…Connecting to WiFi
…Connecting to WiFi
…Connecting to WiFi
Connected
Gespeicherte Station 23 von 25
Active station http://mp3.hitradiort1.c.nmdn.net/rt1rockwl/livestream.mp3
sourcebuffer created – Free mem=162324
created decoder
Decoder start…
MP3 done
ets Jul 29 2019 12:21:46
Kann mir jemand helfen?
Thomas ERNE
Hallo
Der ESP geht auf stop – Kann mir da jemand weiterhelfen ?
Mit freundlichen Grüßen Thomas
Alfred
Hallo Rudolf,,,,
danke für deine Rezension. Schön, dass alles jetzt funktioniert…
VG Alfred
Rudolf Beck
Letzter Nachtrag:
Bei Streamadressen der Sender /Play.mp3 ergänzen und anstelle https nur http.
Beispiel SWR3:
statt https://liveradio.swr.de/sw282p3/swr3/
geht mit http://liveradio.swr.de/sw282p3/swr3/play.mp3.
Nochmals vielen Dank für die Hilfen, vor allem hervorzuheben Alfred, ohne den ich bereits aufgegeben hätte.
Gruß Rudi
Rudolf Beck
So, ich habe nun auch den Fehler mit dem Rotary gefunden. Ein Kabel war abgegangen, neu verlötet und jetzt funktioniert die Senderplatzauswahl.
Einzig mit den Sendern kämpfe ich noch, finde außer NDR2 bisher keine weiteren abspielbaren Sender…
Rudolf Beck
So, jetzt spielt das Radio dank intensiver Hilfe von Alfred.
Allerdings nur NDR2 auf Platz 1 und 2.
Über Rotary lässt sich nichts ändern, nur über Senderliste mittels IP-Adresse.
Hat mir jemand Webadresse von ein paar weiteren Sendern, die funktionieren?
Und eventuell Ideen, warum Rotary nicht funktioniert?
Danke im voraus
Rudi
Rudolf Beck
Hallo zusammen,
erst einmal vielen Dank an Alfred, mit seiner Hilfe konnte ich als Anfänger einige Schritte weiterkommen. Ich war mir lange nicht sicher, ob das Kompilieren erfolgreich war und funktionierte. Einfacher Trick: Versorgt ESP über USB mit Spannung, dann müsste das WLAN Webradio auftauchen. Dann eigene WLAN-Name und Passwort eingeben und über seriellen Monitor mit Bausrate 115200 beobachten, was der ESP macht.
So kam ich drauf, dass mi ESP alles ok war, aber eine Versorgungsleitung auf Platine nicht verbunden war. Dieses korrigiert und Radio hat gespielt.
Als ich Sender gewechselt habe hat sich das Radio dann leider aufgehängt.
Jetzt suche ich nach Lösung für den nächstem Fehler.
Alfred
Hi,,,in die Runde….
all Habe mal ein bischen rumexperimentiert: - Ich nutze diesen Sketch aus dem Update: ESPwebRadio-20250211T114304Z-001.zip Diese läuft ohne Probleme durch den Compiler. Arduino-IDE 1.8.19 ESP32 Version 1.0.6 ESP8266Audio 1.9.5 LiquidCrystalI2C 1.1.2 AiEsp32RotaryEncoder 1.4.0 ESP8266Audio 1.9.5 Mit anderen Versionen gab es Fehlerausschriften. Die restlichen, erforderlichen Bibliotheken habe ich wie oben im Blog installiert. Das SketchBook sollte eben auch im Ordner ...\Dokumente\Arduino liegen. z.B.: C:\Users\Alfred\Documents\Arduino Da die Aktualisierung hier sehr lang dauert, könnt ihr auch eine PN an mich senden. intern10online.de
Könnte auch vom oben genannten Sketch eine *.bin Datei zur Verfügung stellen. Die kann dann direkt geflasht werden.
VG
Jörn
@Alfred
Danke für die Antwort. Leider ist die Zeitverzögerung aufgrund der Moderation hier sehr groß. Der Elko war korrekt verbaut.
Aber ich konnte das Problem inzwischen lösen, es war ein Softwareproblem: In der Funktion MDCallback hatte die Zeile
`char s132, s264;`
den Fehler ausgelöst und initialisieren der Arrays mit
`char s132 = {0} , s264 = {0};`
hat geholfen. War also ein Speicherzugriffsfehler. Trotzdem seltsam, dass der Code offenbar bei anderen durchlief, aber jetzt tönt auch mein Webradio :)
Gruß Jörn
Andy
Hi all,
Does anyone have a reference list of the library versions that successfully compiled Andreas Schroeder’s sketch?
I get the same error as others
senderconfig:29:50: error: call of overloaded ‘getParam(int)’ is ambiguous
I presume the build has opted for the wrong alternative package at some point but what are the correct ones.
This is my list at the end of the compile:-
Using library Preferences at version 1.0 in folder: C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\Preferences
Using library ESP8266Audio at version 2.0.0 in folder: C:\Users\user\Documents\Arduino\libraries\ESP8266Audio
Using library HTTPClient at version 1.2 in folder: C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\HTTPClient
Using library WiFi at version 1.0 in folder: C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi
Using library LiquidCrystal_I2C at version 1.1.2 in folder: C:\Users\user\Documents\Arduino\libraries\LiquidCrystal_I2C
Using library Wire at version 1.0.1 in folder: C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\Wire
Using library Ai_Esp32_Rotary_Encoder at version 1.7 in folder: C:\Users\user\Documents\Arduino\libraries\Ai_Esp32_Rotary_Encoder
Using library ESP_Async_WebServer at version 3.7.1 in folder: C:\Users\user\Documents\Arduino\libraries\ESP_Async_WebServer
Using library FS at version 1.0 in folder: C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\FS
Using library Async_TCP at version 3.3.5 in folder: C:\Users\user\Documents\Arduino\libraries\Async_TCP
Using library SPIFFS at version 1.0 in folder: C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\SPIFFS
Using library SD at version 1.0.5 in folder: C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\SD
Using library SPI at version 1.0 in folder: C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\SPI
These were the 3 errors reported…
senderconfig:29:50: error: call of overloaded ‘getParam(int)’ is ambiguous
senderconfig:53:47: error: invalid conversion from ‘const AsyncWebParameter*’ to ‘AsyncWebParameter*’ [-fpermissive]
wlanconfig:135:47: error: invalid conversion from ‘const AsyncWebParameter*’ to ‘AsyncWebParameter*’ [-fpermissive]
Thanks
Andy
Ronald Kattner
Hallo,
ich komme nicht weiter.
Ich nutze Arduino 1.8.19, ESP32 1.0.6, habe alle Bibliotheken wie hier beschrieben eingebunden. ich bekomme beim Kompilieren folgende Fehlermeldung:
In file included from C:\Internetradio\ESPwebRadio\senderconfig.ino:2:0:
C:\IDEPortable\arduino-1.8.19-windows\arduino-1.8.19\portable\sketchbook\libraries\ESPAsyncWebServer-3.1.0\src/ESPAsyncWebServer.h:33:22: fatal error: AsyncTCP.h: No such file or directory
compilation terminated.
Mehrere Bibliotheken wurden für “WiFiClient.h” gefunden
Benutzt: C:\IDEPortable\arduino-1.8.19-windows\arduino-1.8.19\portable\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi
Nicht benutzt: C:\IDEPortable\arduino-1.8.19-windows\arduino-1.8.19\libraries\WiFi
exit status 1
Fehler beim Kompilieren für das Board ESP32 Dev Module
von den EspAsyncwebserver gibt es nur die Version 3.1.0.
Kann mir bitte jemand sagen, wo der Fehler liegt, ich bin am Verzweifeln.
Danke
Ben
@Rudolf
Hallo,
ich habe das selbe Problem wie du.
Habt ihr eine Lösung gefunden?
Würde mich sehr über eine Antwort freuen.
Alfred
Hi, also das Forum ist hier nicht optimal….
- Meine Programmcodezeilen im letzten Post von mir, werden hier nicht korrekt dargestellt.
- Sendet deshalb eine PN an intern10@online.de…. wenn jmd die Zeilen möchte.
LG Alfred …bBh…
Alfred
Hi, in die Runde…..
if (tryCount < MAXWLANTRY) { Serial.print(F("IP-Adresse per DHCP ist ")); Serial.println(WiFi.localIP()); // ab hier eingefügt , ab Zeile 95 bei mir im Programm wlanconfig // ANFANG Anzeige der IP Adresse am Display nach Bootvorgang lcd.clear(); lcd.setCursor(0,0); lcd.print(“IP-Adresse”); lcd.setCursor(0,1); // Cursor setzen Zeile 2 Position 1 lcd.print(WiFi.localIP()); // aktuelle IP-Adresse ausgeben delay(1000); lcd.clear(); // ENDE der eingefügten Zeilen // // Für den Automatik-Test if (TESTMODUS) { preferences.putString(“password”, “XXX”); } return(true); // when connection ok, stop here and return positiveErfahrungsbericht:
- Sollte ein Sender nicht empfangen werden können, ist es schwierig mit dem Rotary-Knopf einen anderen Sender einzustellen. Da hilft nur Online über den Browser einen anderen Platz zu wählen.
Bei mir sind es die Sender auf den Plätzen 5 , 8 , 10 und 11… Werde dort andere eintragen.
- Auch prellt der RotaryDreher manchmal. Ist aber nicht so schlimm.
- Um die IP-Adresse des WLAN-Radios ohne die Konsole(Arduino-IDE) herauszufinden, habe ich die folgenden Zeilen in im Programmteil “wlanconfig” eingefügt.
- Nach jedem Bootvorgang wird ca. 1Sek die IP angezeigt.
Ansonsten läuft das Teil prima.
Könnte für euch Gehäuse drucken und auch ESPs flashen…..
LG Alfred
Alfred
@Rudolf.
Hi,lösche die Librarys:
C:\Users\Admin\Downloads\arduino-1.8.19-windows\arduino-1.8.19\libraries\WiFi
C:\Users\Admin\Downloads\arduino-1.8.19-windows\arduino-1.8.19\libraries\SD
Die Arduino-Ide sollte auch vom WIN-Programmordner gestartet werden.
C:\Programm(x86)\Arduino\arduino.exe (Installationsordner)
In einem Installationsunterordner liegen dann auch schon viele Librarys.
LG….Viel Erfolg.
s.auch Post @Thoralf 12.12.24
Rudolf Beck
Hallo Experten,
Jetzt bräuchte ich doch Eure fachmännische Hilfe.
Alles zusammengebaut und verdrahtet, aber es kommt nur ein Balken in der oberen Reihe des LCD.
Das Kompilieren des Sketches mit den Unterordnern
ESPwebRadio, audio, lcdisplay, rotary, senderconf.h, senderconfig, senderlist, wlanconf.h, wlanconfig funktioniert irgendwie nicht.
Habe Arduino V1.8.19, und darin ESP32 V1.0.6, LiquidCrystal I2C V1.1.2, AiEsp32RotaryEncoder V1.4.0 und ESP8266Audio V1.9.5 eingebunden.
Arduino: 1.8.19 (Windows 10), Board: “ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 115200, None”
Folgende Fehlermeldungen kommen:
WARNUNG: Bibliothek LiquidCrystal_I2C behauptet auf avr Architektur(en) ausgeführt werden zu können und ist möglicherweise inkompatibel mit Ihrem derzeitigen Board, welches auf esp32 Architektur(en) ausgeführt wird.
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:62:74: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] (kommt nacheinander 48 Mal)
audio:8:11: error: redefinition of ‘const int preallocateBufferSize’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:65:11: note: ‘const int preallocateBufferSize’ previously defined here
audio:9:11: error: redefinition of ‘const int preallocateCodecSize’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:66:11: note: ‘const int preallocateCodecSize’ previously defined here
audio:11:7: error: redefinition of ‘void* preallocateBuffer’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:68:7: note: ‘void* preallocateBuffer’ previously defined here
audio:12:7: error: redefinition of ‘void* preallocateCodec’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:69:7: note: ‘void* preallocateCodec’ previously defined here
audio:15:17: error: redefinition of ‘AudioGenerator* decoder’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:78:17: note: ‘AudioGenerator* decoder’ previously defined here
audio:16:27: error: redefinition of ‘AudioFileSourceICYStream* file’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:79:27: note: ‘AudioFileSourceICYStream* file’ previously defined here
audio:17:24: error: redefinition of ‘AudioFileSourceBuffer* buff’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:80:24: note: ‘AudioFileSourceBuffer* buff’ previously defined here
audio:18:17: error: redefinition of ‘AudioOutputI2S* out’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:81:17: note: ‘AudioOutputI2S* out’ previously declared here
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\audio.ino: In function ‘void MDCallback(void*, const char*, bool, const char*)’:
audio:21:6: error: redefinition of ‘void MDCallback(void*, const char*, bool, const char*)’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:91:6: note: ‘void MDCallback(void*, const char*, bool, const char*)’ previously defined here
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\audio.ino: In function ‘void stopPlaying()’:
audio:36:6: error: redefinition of ‘void stopPlaying()’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:106:6: note: ‘void stopPlaying()’ previously defined here
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\audio.ino: In function ‘void startUrl()’:
audio:55:6: error: redefinition of ‘void startUrl()’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:125:6: note: ‘void startUrl()’ previously defined here
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\lcdisplay.ino: At global scope:
lcdisplay:5:22: error: redefinition of ‘LiquidCrystal_I2C lcd’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:76:19: note: ‘LiquidCrystal_I2C lcd’ previously declared here
lcdisplay:8:18: error: redefinition of ‘uint8_t speaker 8’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:84:9: note: ‘uint8_t speaker 8’ previously defined here
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\lcdisplay.ino: In function ‘void showStation()’:
lcdisplay:12:6: error: redefinition of ‘void showStation()’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:144:6: note: ‘void showStation()’ previously defined here
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\rotary.ino: At global scope:
rotary:16:22: error: redefinition of ‘AiEsp32RotaryEncoder rotaryEncoder’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:74:22: note: ‘AiEsp32RotaryEncoder rotaryEncoder’ previously declared here
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\rotary.ino: In function ‘void rotary_loop()’:
rotary:20:6: error: redefinition of ‘void rotary_loop()’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:163:6: note: ‘void rotary_loop()’ previously defined here
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\rotary.ino: In function ‘void readEncoderISR()’:
rotary:54:16: error: redefinition of ‘void readEncoderISR()’
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\ESPwebRadio.ino:197:16: note: ‘void readEncoderISR()’ previously defined here
C:\Internetradio\Dateien Andreas Schröder\ESPwebRadio\senderlist.ino: In function ‘void setup_senderList()’:
senderlist:5:3: error: ‘sender’ was not declared in this scope
Mehrere Bibliotheken wurden für “SD.h” gefunden
Benutzt: C:\Users\Admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\SD
Nicht benutzt: C:\Users\Admin\Downloads\arduino-1.8.19-windows\arduino-1.8.19\libraries\SD
Mehrere Bibliotheken wurden für “WiFi.h” gefunden
Benutzt: C:\Users\Admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi
Nicht benutzt: C:\Users\Admin\Downloads\arduino-1.8.19-windows\arduino-1.8.19\libraries\WiFi
exit status 1
redefinition of ‘const int preallocateBufferSize’
Und damit endet das Kompilieren ☹.
Hat jemand eine Idee, was falsch ist bzw. was ich machen kann?
Alfred
@Rudolf
Hi, was gibt denn die Compilerkonsole aus, wenn Du den Sketch NUR kompilierst?… Das wäre erstmal ein Ansatz. Es dürfen keine Fehler angezeigt werden, außer die Warnung von der LCD-Bibliothek.
LG Alfred
Alfred
@Jörn:
Hi, ich kann nur vermuten: Die Programmierung ist warscheinlich iO abgelaufen. Aber die Versorgungsspannungen oder auch die Siebung der Versorgungsspannung ist nicht optimal.
Messe die 5 Volt Pins nach und auch die 3,3V Pins! Ist auch ein Elko mit verbaut worden?
Manchmal haben auch die Elkos eine Macke, großer Leckstrom… dann pumpt die Spannung.
Der ESP zieht auch ein bissel Strom, dass muss der Elko ausgleichen, vor allem in der Startphase.
LG
cadet
Vorab, mittlerweile funktioniert mein Aufbau, zumindest im Moment noch, komplett einwandfrei.
Aber, auch ich hatte anfangs den mehrfach beschriebenen “panic” Loop Fehler. Leider habe ich vor dem letzten Upload gleich zwei Dinge geändert, (statt besser eins nach dem anderen):
1. @Reiner: Auskommentieren der “Serial.printf(”METADATA ‘%s’ = ‘%s’\n", ptr, s1, s2);" Zeile im Code. Toll, dass es solche User-Kommentare gibt. Danke.
2. Boot- und Reset- Button am Controller gedrückt, beim Start des Uploads.
Des Weiteren hatte ich vorher schon den “WiFi-Manager” eingebunden, um SSID und Passwort am Smartphone für unterschiedliche WLANS konfigurieren zu können. Das hat mit dem “PANIC”-Problem natürlich nichts zu tun und es sollte mit dem Original WiFi Code oder dem Access Point Code von Reiner ganz sicher genauso funktionieren.
Was mich allerdings anfangs sehr verwirrt hatte, das war die Tatsache dass der mir von AZ-Delivery gelieferte Rotary-Encoder anders aussah und anders angeschlossen werden musste, als im Bild “Schaltung” des Blogs. Dort ist nur ein Anschluss an 5V, an der Unterseite des Encoders dargestellt.
Die Abbildungen zum realen Hardware-Aufbau passten jedoch wieder zu meinem Encoder mit den 5 Pins: CLK,DT,SW,+,GND.
Den Platinen-Aufbau finde ich jetzt im nachhinein, wo alles funktioniert, ganz toll, Respekt, da Kabelverbindungen zur Peripherie keine einzige Kabelvertauschung erforderlich machte. Ich bin absoluter Anfänger und habe den Controller zur Stromversorgung im Moment noch ohne Batterie-Anschluss am USB Port meines Laptops hängen. Als nächstes werde ich das Gehäuse auf meinem Saturn8K ausdrucken und mit dem Batterieanschluss dann fertig stellen.
Ich kann das Projekt deshalb wirklich nur jedem Anfänger empfehlen. Übrigens habe auch ich mich sehr schnell dafür entschieden PlatformIO auf VSCODE statt der Arduino IDE zu verwenden. Und wenn ICH (73) das kann, dann kann das ganz sicher JEDER :-).
Nochmal danke an den “Erfinder” und alle die ihre Kommentare hier hinterlassen haben, und weiter so, – macht Spaß. ;-).
Rudolf Beck
Hallo,
Habe Spannung auf 5,2 V eingestellt und alles verdrahtet.
Beim Einschalten kommen nur einzeilige weiße Blöcke.
Vermute da hat irgendwas mit der Programmierung nicht geklappt.
Wie mache ich weiter?
Freue mich über jeden Tip…
Jörn
Hallo,
ich habe folgendes Problem: Nach Einschalten der Spannung höre ich für einen Sekundenbruchteil das Programm vom Sender. Dann Knacken und Brummen und der ESP startet neu. Immer wieder. In der kurzen Zeit kann ich die Sender auch mit dem Drehgeber verstellen. Es scheint also zumindest alles richtig verdrahtet zu sein.
Im seriellen Monitor sehe ich, dass Wifi Verbindung klappt
und dann aber:
sourcebuffer created – Free mem=128428
created decoder
Decoder start…
Guru Meditation Error: Core 1 panic’ed (LoadProhibited). Exception was unhandled.
und es geht von vorne los
Kann jemand helfen? Ich habe ein anderes ESP Board versucht, aber gleiches Verhalten.
Viele Grüße
Jörn
Alfred
Hallo Rodolf,
den ESP nicht auflöten…. versorge DIr ein paar Steckerleisten welche Du auflötest. Die Boards immer steckbar einsetzen.
Den Sketch kannst Du auch OHNE die Peripherie auf das Board laden. Wenn Du die Konsole im Arduino-IDE startest, kannst Du alles Verfolgen was das Board nach dem Upload macht.
Stelle natürlich auch die richtige Baud-Rate an der Konsole ein, sonst siehst Du nix… :-)
Viel Erfolg….. Alfred
Alfred
Hallo in die Runde… erstmal vielen Dank an alle Entwickler, welche dieses Projekt WEBRADIO erstellt haben.
Nach einigen Hürden spielt das Ding seine Lieder ganz gut ab.
Tips: – prüft alle Lötstellen auf den Platinen (es gibt einige KALTE Lötstellen !!!)
– zum Hochladen des Sketches habe ich die ADUINO-IDE 1.8.19 genutzt
– die ESP32 – Version ist die 1.0.6
– ESPAsynWebServer 3.1.0 von lacamera
Einige Hürden gab es auch beim Hochladen vom PC aus. Es sollten unbedingt USB-Kabel
genutzt werden, welche NICHT zu lang sind und die auch die 5Volt bis zum Board bringen.
Sonst klappt der UpLoad nicht.
Sollte der ESP32 nicht von allein in den Flash-Modus gehen, dann drückt während des
Kompiliervorgangs die Boot-Taste und kurz die Reset-Taste. Danach beide Tasten loslassen.
Dann viel Spaß beim Zusammenbau…… :-)
Rudolf Beck
Hallo zusammen,
ich habe eine grundlegende Frage, da ich bisher nur mit Arduino etwas gespielt habe.
wie bringe ich den Sketch auf den ESP32?Verbinde ich einfach die Platine mit dem USB meines Laptops und dann Arduino mit den entsprechenden Einstellungen? Oder soll/muss ich die Pheripherie (Einschalter mit Verstärker, LCD, Drehgeber, Spannungsversorgung etc.) vor Verbingung über USB anschließen?
Wenn ich das richtig verstanden habe, soll ich den Mikrocontroller zuerst programmieren und dann einsetzen. Da ich keinen passsenden Sockel habe würd eich den ESP32 direkt auf die Lochrasterplatine löten. Wenn ich dann später am Sketch etwas ändern muss, kann ich dann einfach Stromversorgung vom Internetradio entfernen und ESP32 über USB mit Laptop verbinden?
Robin
Habe noch selbst gemachte PLatinen:
unter Discord →
robinegs
Holger Spitz
Hallo, bei mir kommt auch die Fehlermeldung
call of overloaded ‘getParam(int)’ is ambiguous
beim compilieren.
Hat jemand einen Rat für mich?
Ingo
Liest Marcel hier noch mit? (Im Github-Repository habe ich keine Kontaktadresse gefunden.)
Ich bin nicht so der begnadete Löter und Deine fertige Platine lässt weniger Spielraum für Fehler ;-) Hast Du davon noch ein Exemplar abzugeben?
Danke!
Ingo
Moin!
Ich habe eine Frage zu den Federleisten, bei denen kein Link angegeben ist. Kann ich diese verwenden und auf 19 Pins abschneiden/sägen?
https://www.az-delivery.de/products/40-pin-buchsenleiste
Danke!
Ernst27
Esp32 Radio!
Das Projekt ist bei mir elektrisch vollendet.
Schwierigkeiten habe ich mit den Kommentaren gelöst. Jetzt meine Frage an die Community: "Gibt es eine 3D Druckdatei für ein Gehäuse?. Hat jemand einen Vorschlag dazu. Ich würde mich freuen, wenn auch hier Dateien zur Verfügung gestellt würden. LG Ernst
Jürgen Dorn
Ich versuche das Internet Radio mit dem ESP32Wroom aufzubauen an welchen Pin wird der Rotary Encoder angesclossen? Komme nicht weiter!!
Walter dl2sew
@Thoralf
Die Warnung mit dem LiquidCrystal_I2C darf ignoriert werden.
Wenn exakt die beschriebenen Bibliotheken verwendet werden, sollte das kompilieren auch funktionieren.
@Chris
Die Widerstände sind Spannungsteiler zur Pegelanpassung für die NF-Verstärker (sind unkritisch) und der Elko dient zur “Spannungsstabilisierung”(Siebung).
Electro eBooks
ESP32 eBooks
https://electroebooks.com/esp32
PeKo
Kann man auch irgendwoher den Titel und Interpreten anzeigen lassen?
Ich habe es auf ein 128×64 OLED umgestellt und habe noch Platz auf dem Display
Krister Svärd
@Thoralf. I have the exact same error as you. Any progress in finding a solution?
Chris
Hallo Zusammen,
ich komme eher aus der Programmierecke, daher eine Einstiegsfrage:
Ich würde gerne verstehen, wieso bzw. zu welchem Zweck dienen die Wiederstände bzw. der ELKO. Wie würden diese dimensioniert.
Vielen Dank
Chris
Thoralf
Hallo zusammen. Ich habe jetzt auch alles probiert, compile error. Bitte helft mir.
Arduino: 1.8.19 (Mac OS X), Board: “ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 115200, None”
WARNUNG: Bibliothek LiquidCrystal_I2C behauptet auf avr Architektur(en) ausgeführt werden zu können und ist möglicherweise inkompatibel mit Ihrem derzeitigen Board, welches auf esp32 Architektur(en) ausgeführt wird.
/Users/thoralf/Downloads/ESPWebRadio 2/ESPwebRadio/senderconfig.ino: In lambda function:
senderconfig:44:50: error: call of overloaded ‘getParam(int)’ is ambiguous
AsyncWebParameter* p2 = request→getParam(0);
^
In file included from /Users/thoralf/Downloads/ESPWebRadio 2/ESPwebRadio/senderconfig.ino:2:0:
/Users/thoralf/Documents/Arduino/libraries/ESP_Async_WebServer/src/ESPAsyncWebServer.h:403:30: note: candidate: const AsyncWebParameter* AsyncWebServerRequest::getParam(const char*, bool, bool) const
const AsyncWebParameter* getParam(const char* name, bool post = false, bool file = false) const;
^
/Users/thoralf/Documents/Arduino/libraries/ESP_Async_WebServer/src/ESPAsyncWebServer.h:405:30: note: candidate: const AsyncWebParameter* AsyncWebServerRequest::getParam(const String&, bool, bool) const
const AsyncWebParameter* getParam(const String& name, bool post = false, bool file = false) const { return getParam(name.c_str(), post, file); };
^
/Users/thoralf/Documents/Arduino/libraries/ESP_Async_WebServer/src/ESPAsyncWebServer.h:416:30: note: candidate: const AsyncWebParameter* AsyncWebServerRequest::getParam(size_t) const
const AsyncWebParameter* getParam(size_t num) const;
^
senderconfig:60:47: error: invalid conversion from ‘const AsyncWebParameter*’ to ‘AsyncWebParameter*’ [-fpermissive]
AsyncWebParameter* p = request→getParam(i); // read parameter
^
/Users/thoralf/Downloads/ESPWebRadio 2/ESPwebRadio/wlanconfig.ino: In lambda function:
wlanconfig:137:47: error: invalid conversion from ‘const AsyncWebParameter*’ to ‘AsyncWebParameter*’ [-fpermissive]
AsyncWebParameter* p = request→getParam(i);
^
Mehrere Bibliotheken wurden für “WiFi.h” gefunden
Benutzt: /Users/thoralf/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi
Nicht benutzt: /Applications/ArduinoV1.app/Contents/Java/libraries/WiFi
Mehrere Bibliotheken wurden für “SD.h” gefunden
Benutzt: /Users/thoralf/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SD
Nicht benutzt: /Applications/ArduinoV1.app/Contents/Java/libraries/SD
Nicht benutzt: /Users/thoralf/Documents/Arduino/libraries/SD
exit status 1
call of overloaded ‘getParam(int)’ is ambiguous
YuFi
Uii… Aus diesem Beitrag wird man weder schlau, noch glücklich!! Am End haufen zeit sinnlos verballert!! mit den codes aus hier geht nicht wirklich iwas…. aber was ich auf jeden korrigieren kann… mit dem bib vor version 2.0 geht gar nichts… hatte zwar n kompilier und hochlade erlebniss mit den beuesten bibs.. aber richtige verbindung geschweigedenn lala aus dem ding kam nicht..,..spart euch eure lebzeit.. ist viel mehr n verkaufs ding vom az-wohl…
Lars Häuser
Hallo zusammen, ich habe das Radio inzwischen den halb fertig. Mit den Arduino Bits war es etwas nervig, aber letztlich hat alles geklappt. Das Platinenlayout ist schwer entzifferbar, aber auch das hat geklappt.
@Andreas Schröder: Haben Sie das 3d Case zufällig mit Autodesk Fusion erstellt und könnten die Fusionen-Dateien zum Bearbeiten zur Verfügung stellen? Denn ich verwende einen anderen Akkutyp und muss das Gehäuse noch etwas umbauen.
Ich nutze aktuell einen einzigen 18650. Dieser reicht aber nicht für genug Strom, um den ESP zu starten. Ich muss es erst kurz an den Strom hängen zum Starten und dann kann ich das Kabel ziehen und alles funktioniert. Daher müssen jetzt zwei rein. Dann sollte es hoffentlich klappen.
Danke und VG
Lars Häuser
Udo
Hallo!
Ich habe ein Problem das Internet-Radio ans Laufen zu bringen.
Sämtliche Bibliotheken habe ich mehrmals neu installiert. Aufbau mehrmals kontrolliert.
Erhalte bei jedem Hochladen die Meldung: Fehler beim Kompilieren für das Bord ESP32 Dev Module.
Ich weiß mir keinen Rat mehr!
Sollte eigentlich ein “Anfänger-Projekt” ein.
Benno
Hallo,
ich habe das Problem inzwischen gelöst. Beim Abspeichern muss man die Erweiterung in der IP Adresse löschen.
Bei mir zB “/?play=4” http://192.168.179.7/?play=4.
ronny
ich habe das Problem das ich die ESPAsyncWebServer.h benötige. Welche Bibliothek muss noch installiert werden? Ich habe einige Bibliotheken probiert aber es kommen immer Fehler.
Benno
Hallo,
ich habe, dank der vielen Tipps im Blog, das Radio zum laufen gebracht. Leider gelingt es mir nicht die Senderliste dauerhaft zu ändern. Bei jedem Neustart kommt wieder die ursprüngliche Liste.
Viele Grüße
Benno
Richard Derganc
Hello. I have difficulties with code. ESP32 start and made a connection to my wifi and after that when the decoder starts there is an error and ESP restarts itself. It is Guru Medidation Error: Core 1 panic’ed….
Can someone help me or at least direct me to the solution?
Thanks in advance,
Richard
Dre van den Elshout
@Wolf Geldmacher Ich habe versucht, Ihren aktualisierten Code von https://owncloud.womaro.ch/owncloud/index.php/s/gjR4LMZMaRWYWbt herunterzuladen
Allerdings funktioniert der Link bei mir nicht. Wurden die Daten an einen anderen Ort verschoben?
Thomas Dorn
Ok , keine Ahnung warum aber das Ding funktioniert jetzt ( nur für Moderator , den letzten Post nicht veröffentlichen ). Heute neu eingesteckt und funktioniert …
Was ich noch hinzugefügt habe ist ein Timer für das Backlight .
Wenn es das für jemand interessant ist kann ich das gerne posten .
MFG
Th. Dorn