Muchas gracias por el esfuerzo y por compartir tantas horas.
He montado la electrónica modelo B y he cargado el firmware.
He tratado de vincular el bluetooth con el movil pero no aparece.
He conectado el esp32 al ide de Arduino para ver el puerto serie y el esp se esta reiniciando continuamente, varias veces por segundo.
Sale continuamente esto:
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:928
ho 0 tail 12 room 4
load:0x40078000,len:8424
ho 0 tail 12 room 4
load:0x40080400,len:5868
entry 0x4008069c
ets Jun 8 2016 00:22:57rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:928
ho 0 tail 12 room 4
load:0x40078000,len:8424
ho 0 tail 12 room 4
load:0x40080400,len:5868
entry 0x4008069c
ets Jun 8 2016 00:22:57
He cargado un programa de ejemplo el esp32 y funciona correctamente pero el firmware no me funciona.
¿alguna sugerencia que pueda comprobar?
Muchas gracias !!!
Hola, estás seguro que has cargado el firmware del modelo B? que no hayas cargado el del A por error.
Saludos,
Fran
Seguro. Y lo he vuelto a descargar y a instalar.Ocurre lo mismo.
He probado con el firmware del modelo A y le pasa exactamente igual
Por descartar posibles causas, ¿el esp32 debería arrancar aunque no este pinchado en el zócalo?
Lo he probado con y sin el zócalo pero por descartar que el problema pueda ser del zócalo.
He pedido un esp32 nuevo. Lo probare en cuanto me llegue.
Muchas gracias.
Si, quizás el Arduino ESP32 esté defectuoso y da error al intentar inicializar algún elemento (Bluetooth, memoria interna, etc.) y por eso se resetea (los mensajes que te van saliendo continuamente son hard resets del ESP32).
En todo caso, prueba a descargar y cargar en el ESP32 este firmware de este enlace:
http://www.motomedialink.site/files/firmware-dio-2.6.zip
Tienes que descomprimir el ZIP en una carpeta. Una vez descomprimido, edita el archivo upload.bat y modifica el puerto COM (ahora esta puesto COM5) donde tengas conectado el Arduino ESP32 (eso lo puedes ver en el IDE del Arduino, con el ESP32 conectado al PC). Cierra el IDE del Arduino, y con el ESP32 conectado vía USB, ejecutas el upload.bat, empezará la carga del firmware, cuando te salga lo de "Connecting........_____" apretas el botón BOOT del ESP32 hasta que inicie el proceso de upload del firmware.
Este firmware es el mismo, pero he cambiado el método de upload al ESP32, a ver si de casualidad te funciona.
Ya me dices.
Saludos,
Fran
Muchas gracias por tu ayuda.
He recibido el nuevo ESP32 y me pasa lo mismo. He probado con el firmware que me mandas y lo mismo.
No aparece ningun dispositivo bluetooth y si lo conecto al IDE de arduino se ve que se esta reseteando como antes.
Tambien a mi me parece muy raro porque supongo que hay quien esta utilizando esta version de firmware. Supongo que mi ESP 32 no sera diferente (no da ningun error al cargar el firmware). No se me ocurre que puede pasar. Lo he probado sin conectar al zocalo y conectado
La carga no da ningun error
esptool.py v2.3.1
Connecting........____
Chip is ESP32D0WDQ6 (revision (unknown 0xb))
Features: WiFi, BT, Dual Core, VRef calibration in efuse
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 8192 bytes to 47...
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 5041.2
kbit/s)...
Hash of data verified.
Compressed 16832 bytes to 10888...
Wrote 16832 bytes (10888 compressed) at 0x00001000 in 0.1 seconds (effective 961
.8 kbit/s)...
Hash of data verified.
Compressed 961936 bytes to 569953...
Wrote 961936 bytes (569953 compressed) at 0x00010000 in 8.1 seconds (effective 9
53.7 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 144...
Wrote 3072 bytes (144 compressed) at 0x00008000 in 0.0 seconds (effective 1638.4
kbit/s)...
Hash of data verified.Leaving...
Hard resetting via RTS pin...
Pues si que es raro, porque yo he montado ya unos cuantos kits del modelo B usando el firmware que esta publicado en la web y ningún problema. Déjame que le de alguna pensada a ver que más podemos probar.
Fran
Prueba varias cosas:
- Primero edita el fichero upload.bat y cambia el parámetro "--baud 921600" por "--baud 256000"
- Si te sigue sin funcionar, vuelve a editar el fichero y cambia el parámetro "--flash_mode dio" por "--flash_mode qio" (puedes dejar el baud a 256000)
- Si te sigue sin funcionar, eliminas el parámetro "--flash_mode qio" y vuelves a probar
ya me dices.
Fran
Gracias Fran. Ya siento las molestias. He probado todo eso y nada.
Una pregunta por ir descartando cosas. Con el esp solo, sin pinchar en su zócalo, debería poder conectar el movil al bluetooth ?
He probado a cargarlo desde otro equipo con el mismo resultado
Tambien he probado a ponerle un condensador electrolitico grande entre Vin y Gnd por si podia ser problema de alimentación y lo mismo.
Tampoco me encaja que probando 2 esp32 de distintos orígenes tengan los 2 el mismo problema.
No se me ocurre que probar y tengo todo preparado en la moto para enchufarlo !!! Jajaja.
Tienes algun programa para el IDE de arduino que use los mismos recursos para cargarlo desde el IDE a ver si funciona?
Hola, si, sin conectarlo al zócalo debería aparecerte el Bluetooth MMLink cuando haces buscar dispositivos BT desde el móvil, porque entiendo que ni siquiera te sale ahí el BT MMLink, no? A parte si lo vinculas y lo configuras en la app MMLink también te debería conectar (salir el icono de la moto en la parte superior de la app MMLink).
Mira de cargar el siguiente código desde el Arduino IDE:
#include <EEPROM.h>
#include "BluetoothSerial.h"
BluetoothSerial BT;
unsigned long ping_time = 0;
void setup() {
Serial.begin(115200);
if (!EEPROM.begin(20)) {
Serial.println("EEPROM failed!");
}
BT.begin("MMLINKTEST");
}
void loop() {
if ((millis()-ping_time)>3000) {
BT.print("PING");
ping_time = millis();
}
}
Entiendo que tienes instaladas las librerías de ESP32 en el Arduino IDE. En tal caso asegúrate que las opciones del menú "Herramientas" están configuradas como en la imagen que te adjunto (el puerto COM tienes que elegir donde este conectado el ESP32).
Una vez cargado el código en el Arduino ESP32 mira con el monitor Serial a ver si te sigue haciendo resets. Si no te hace resets mira con el móvil si te sale el dispositivo BT con el nombre MMLINKTEST y puedes vincularlo con el móvil.
Ya me dices.
Por probar, prueba también a usar otro cable USB para cargar el firmware, no creo que sea eso, pero por si a caso.
Funciona perfectamente conecto el movil al MMLINKTEST y con un programa de terminal en el móvil veo el PING.
Ufff.
Que puede hacer que el firmware funcione bien en un esp y en otro no?
Envíame un mail a motomedialink@gmail.com y hablamos un momento por ahí.
Fran