This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
PROBLEMAS CON UN ESP32
#1
Hola 
soy nuevo en el foro y estoy buscando ayuda..
arme con un spe32 de 38 pines una radio basada en github.com donde descargue las librerias , codigos, y herramientas de la placa
spe32+vs1053  y también arme con un spe32+max98357 , la idea era probar los dos sistemas y placas de audio.
Al principio costo un poco entender lo de las libreria pero logre que funcionaran sin problema , solo que algunas veces hay que reiniciar mas de una vez la placa para que tomara la URL ( siempre se conecta al wifi y probe con diferentes router )
pero desde ayer en ninguna de las dos versiones pude volver a conectarme a la URL , siempre dice conexión fallada como muestro en el texto , si pruebo la Url en el telefono , notebook o en lo que sea funciona.
cabe recordar que por cerca de 5 días funcionaba sin mayores problemas..
borre todo , desinstale arduino , borre librerías y carpeta arduino15 volvi a instalar en preferencias la url para instalar la placa del sitio github  Le resetee la flash con python pero no hay caso
Tengo dos spe32 y con las dos me pasa lo mismo..
La verdad ya no se que hacer , por eso recurro al foro y se agradecería cualquier idea que me ayude a solucionar el problema

11259][D][vs1053_ext.cpp:1523] connecttohost(): free heap=249624
DEBUG:        Connect to new host: "http://stream.zeno.fm/ux9e5nzh5nhvv"
DEBUG:        Connect to "stream.zeno.fm" on port 80, extension "/ux9e5nzh5nhvv"
[ 11302][I][WiFiClient.cpp:253] connect(): select returned due to timeout 250 ms for fd 48
DEBUG:        Request stream.zeno.fm/ux9e5nzh5nhvv failed!  ( esa radio la monte para pruebas pero con cualquiera no funciona desde ayer )
STATION:     
STREAMTITLE: 
Homepage:

aaala
lamm
  Responder
#2
Buenas tardes.
 
Así es bastante difícil adivinar que está pasando, pon el enlace a la página del proyecto copiado y el enlace a Github.
 
Aunque el ESP32 en cualquiera de sus modelos es compatible y se puede programar con el IDE de Arduino, necesita unas particularidades para poder hacerlo funcionar. Debes instalar la placa como ESP32, las librerías usadas para ESP no son las mismas que para Arduino, etc.
 
Esta es la página oficial de Espressif, creadora de las placas ESP32.
 
https://docs.espressif.com/projects/esp-...index.html
 
Aquí te dice cómo usar ESP32 con el IDE Arduino, y como hacer proyectos con el IDE Arduino
 
https://docs.espressif.com/projects/ardu...arted.html
 
Uno de los problemas más habituales, y que no nos damos cuenta, es que el router se encarga de asignar una dirección IP a cada dispositivo conectado, y que dos dispositivos no pueden usar la misma IP.
 
Cuando un dispositivo o el router se desconectan, se vuelve a asignar una IP distinta a cada dispositivo (IP dinámica).
 
Y esto da más de un dolor de cabeza, porque pensamos que puede fallar nuestro proyecto, (difícil si está bien copiado y ha funcionado alguna vez) cuando lo que pasa es que esta "fallando la conexión", mejor dicho, la gestión de las IP asignadas desde el router.
 
En realidad al router no le pasa nada, está haciendo su trabajo. Son solo problemas de asignación de IP, que normalmente se "arreglan" desde nuestro programa.
 
Tienes que configurar en el programa de ESP una IP fija (IP estática), para que no sea asignada a otro dispositivo, y el router identifique siempre al ESP32 con la misma IP. Seguro que en la página del proyecto te dice cómo hacerlo.
 
Un saludo.
  Responder
#3
Gracias por responder ,https://circuitdigest.com/microcontroller-projects/esp32-based-internet-radio-using-max98357a-i2s-amplifier-board , este es uno que probé y me funciono sin problema por algunos días , si pruebo el esp32 sin max con el código que corresponde https://create.arduino.cc/projecthub/ear...dio-ee747f funciona sin problemas el esp32 aunque con sonido de mala calidad ,pensé que el Max se avía roto y puse otro con los mismos resultados , entonces buscando probé las placas con , https://diyi0t.com/i2s-sound-tutorial-for-esp32/ , y funcionaron todas sin problema.
por otro lado me paso lo mismo con el Vs1053 con este funciona https://www.hackster.io/mircemk/simple-e...lay-83e49d , pero el audio sale intermitente y solo toma una radio ,probé cambiar la url y no la toma solo con la que viene ( url numero 5 ) pero intermitente.
Esta otra https://github.com/Edzelf/Esp-radio , me funciono también bien por unos días y luego dejo de hacerlo..
cabe señalar que la ip de esos código es automática y que activando el debug se aprecia que esta conectado a wifi pero igual probé con un router aparte solo para esto y tampoco funciono .
he borrado el equipo y cargado todo nuevamente sin resultado como 4 veces
todas las url las he probado en mi pc y funcionan sin problema , incluso la que suena intermitente en el Esp32 en el pc suena bien
Te agradezco por el interés en mi problema y espero tu respuesta...
Gracias

[Imagen: problemas.png]

esta es con el esp32 solo y el código https://create.arduino.cc/projecthub/ear...dio-ee747f
funciona por pin I2C del spe , pero suena muy mal


[Imagen: funciona-sola.png]
  Responder
#4
Buenas noches.

Por lo que estoy leyendo y entendiendo, parece ser que lo que hacen estos programas es bajar la pagina de internet de la emisora de radio en cuestión, almacenarla en el buffer de memoria del ESP, y después ejecutar la reproducción del archivo descargado, y alguno de los interesados que han hecho el proyecto, parece ser que tienen el mismo problema que tu, les funciona durante unos días, y luego de repente deja de funcionar.

Esto es porque el programa funciona hasta que se llena el buffer del ESP, una vez lleno, el programa no tiene ninguna orden para "vaciarlo" y volver a descargar y almacenar otro "trozo" de la pagina de internet. Y como el buffer esta "lleno", el programa deja de funcionar.

Cuando cargas el programa de nuevo, no lo haces sobre la memoria dinámica (buffer), que esta lleno, lo haces sobre la Eprom (memoria estática), que sobrescribes una y otra vez al cargar el programa. Mientras no vacíes el buffer, el programa no va a volver a funcionar.

Prueba añadiendo esta línea de código en las líneas 40 y 53, debajo de donde pone   Serial.flush(); 

Código:
  buffer.flush();                        // Depura la información del buffer

Lo que pretendo con esta orden es vaciar el buffer cada vez que se inicie el ESP, a ver si así se arregla el programa.

Si esto no tiene resultado satisfactorio, me temo que no puedo ayudarte mucho mas, ni tengo el ESP ni tengo el modulo I2S, para poder montar el proyecto y saber que mas puede estar dando error.

Un saludo.
  Responder
#5
Estimado , le agradezco mucho su interés ,hoy encontré el problema ..en la librería Audio.h hay que modificar un valor en la linea 440 "uint16_t m_timeout_ms = 250; " a 2500 y santo remedio. Esta determina el tiempo de espera al conectarse a la URL
  Responder
#6
Buenas noches

Me alegra que hayas encontrado la solución.

Un saludo.
  Responder