Descargar PDF
        SAMOVAR 
×
Menú

Actualización del sketch

Samovar 7.00: se admite la actualización mediante Arduino IDE. Como opción equivalente, puede ejecutar el configurador de la nueva versión y pulsar «Grabar» («Прошить»); LittleFS se carga con un botón aparte, «Cargar LittleFS» («Загрузить LittleFS»), y sustituye los archivos de la interfaz web (en el proceso pueden perderse los archivos de usuario de LittleFS). El configurador guarda sus valores en el archivo user_config_override.h junto al sketch: cópielo al directorio de la nueva versión y los ajustes se conservarán. También puede grabar por Wi-Fi: el botón «Actualizar» («Обновить») encuentra Samovar en la red si en la sección «Red» («Сеть») está activado «Permitir la actualización por Wi-Fi» («Разрешить обновление по Wi-Fi») (USE_UPDATE_OTA).
 
 
A medida que salgan nuevas versiones, será necesario actualizar. Una nueva versión puede traer  bibliotecas y herramientas nuevas o modificadas. Por eso, para evitar errores, se recomienda usar cada vez exactamente las bibliotecas y herramientas que vienen en el archivo  de esa versión concreta.
 
¡Atención! ¡Importante!
A partir de la versión 6.0, siempre que Samovar esté conectado a internet,  la interfaz se actualizará automáticamente para la versión concreta del sketch; es decir, si necesita volver a una versión anterior del sketch, la interfaz también volverá a la versión correspondiente. Si no hay conexión a internet, la interfaz debe instalarla usted mismo, en local.
 
 
Actualización del sketch
 
Con la sección Primera carga del sketch preparamos una estructura determinada de archivos y directorios en  ...Documents\Arduino. Seguiremos partiendo de esa organización.
 
Prepare el directorio ... Documents\Arduino\ en el siguiente orden:
 
Así, en el directorio ... Documents\Arduino\ solo queda el directorio OLD.
Y dentro de OLD estarán: el archivo comprimido Samovar-7.00 y el directorio Samovar-7.00 con el directorio Samovar anidado.
Este sistema de almacenamiento evita errores en las actualizaciones, permite usar los ajustes anteriores con la nueva versión y, si hace falta, volver rápidamente a la versión anterior o a una aún más antigua. 
 
A continuación procedemos paso a paso, como en la primera instalación: «desempaquetamos» la nueva versión en  ... Documents\Arduino\ hasta obtener la estructura de directorios anterior. En consecuencia, el archivo comprimido y el directorio obtenido de él llevarán en el nombre el número de la nueva versión.
Pero ahora no cargamos el sketch en el ESP enseguida; primero hacemos los ajustes necesarios en el archivo Samovar_ini.h. Esto se puede hacer de dos maneras:
 
1. La manera correcta.
Por comodidad necesitará programas especiales que puedan comparar dos archivos distintos y mostrar visualmente las diferencias entre ellos.
El programa recomendado es WinMerge — (una herramienta de comparación y fusión para Windows que puede comparar tanto archivos como carpetas y muestra las diferencias en forma de texto visual . El programa es fácil de usar y tiene interfaz en ruso.)
O un programa más avanzado, pero también más difícil de aprender,  Notepad++  con el complemento Compare instalado.
 
Un ejemplo con  el programa WinMerge.
Para comparar hay que seleccionar dos archivos Samovar_ini.h distintos
Seleccione primero el archivo del directorio OLD, al que acabamos de mover la versión anterior de Samovar. Se encuentra en: ... \Documents\Arduino\OLD\Samovar-7.00\Samovar\
Tome el segundo archivo del directorio con la nueva versión de Samovar. Se encuentra en ... \Documents\Arduino\Samovar\
 
El programa compara ambos archivos y resalta las líneas con diferencias.
 
Las diferencias se resaltan en un tono más claro. Puede editar los valores de la derecha a mano, o puede situar el cursor a la izquierda y dar la orden «Copiar a la derecha» («Копировать направо»).
Así, línea a línea, el archivo de ajustes se adapta a su equipo. Cuando termine todas las ediciones, haga clic en el icono «Guardar»
Lo principal es no confundir que el archivo de ajustes antiguo está a la izquierda y el archivo con el que trabajará Samovar está a la derecha.
 
2. La manera rápida
Al actualizar mediante Arduino IDE, compare Samovar_ini.h de la versión nueva y de la anterior y traslade solo sus propios valores. No pegue el Samovar_ini.h antiguo encima del nuevo: incluso una versión menor puede contener nuevos parámetros obligatorios.
Si la nueva versión introduce nuevas funciones de Samovar, debe editar el archivo Samovar_ini.h; de lo contrario, las nuevas funciones no estarán disponibles y Samovar no funcionará correctamente.
Si los ajustes se hicieron en el configurador, no hace falta editar Samovar_ini.h: sus valores se guardan en user_config_override.h, que tiene prioridad sobre Samovar_ini.h. Basta con trasladar este archivo a la nueva versión.
 
La configuración ha terminado. Puede cargar el sketch en el ESP. Como se trata de una actualización de un sketch ya instalado, no tendrá que volver a configurar la conexión Wi-Fi y no hace falta cargar los ajustes por defecto.
Al actualizar, ya puede prescindir de conectar  el ESP al puerto USB y actualizar el firmware «por el aire»
 
 
 
«Vuelta atrás» a una versión antigua.
 
Algo de la nueva versión no le ha gustado o no funciona correctamente. Quiere volver a las versiones anteriores. Con este sistema de almacenamiento de versiones antiguas, es muy sencillo.
Prepare el directorio ... \Documents\Arduino como para una actualización:
Desde el directorio Samovar, mueva arrastrando (o cortando y pegando)  un nivel más arriba, a ... \Documents\Arduino\,  los dos directorios libraries  y tools.

Eso es todo. Puede cargar el sketch en el ESP.
Más adelante, al actualizar a una nueva versión, solo tendrá que vaciar el directorio ... \Documents\Arduino  borrando Samovar, libraries  y tools. No hace falta moverlos a OLD, porque ya están allí y usamos una copia.
 

Al actualizar el sketch ya puede  usar Arduino IDE en sus versiones  2.x.x. Pero estas versiones no tienen el elemento «ESP32 LittleFS Data Upload», y sin el complemento no podrá actualizar la interfaz en local. En consecuencia, si Samovar no tiene acceso a internet, la interfaz web no se actualizará.
 
Añadido. En las versiones Arduino IDE 2.x.x se hizo posible instalar la interfaz en local mediante un complemento. Las instrucciones están aquí. El complemento (arduino-littlefs-upload-1.1.7.vsix) está en el archivo de Samovar, en el directorio tools\ESP32LittleFS_Arduino IDE 2.X; consulte Primera carga del sketch.
 
Puede instalar a la vez en su ordenador varias  versiones de Arduino IDE 2.x.x y Arduino IDE 1.x.x, y no se causarán ningún problema entre sí.  Así puede seguir usando Arduino IDE 2.x como IDE principal y usar  Arduino IDE 1.x solo cuando necesite cargar en local el sistema de archivos LittleFS (incluida la interfaz) en su ESP32.
 
Si usa distintas versiones de Arduino IDE, debe instalarlas en directorios distintos. Para ello basta con añadir el número de versión al nombre del directorio.
Por ejemplo.
C:\Program Files(x86)\Arduino1_1_18;
C:\Program Files\Arduino IDE_2_3_2;
C:\Program Files\Arduino IDE_2_3_1
 Esto permite usar en cada versión de Arduino IDE distintas versiones del SDK de ESP32 de Espressif Systems.
Pero tenga en cuenta que cada una de las versiones de Arduino IDE que use, tendrá que configurarse por separado para ESP32.
 
¡Atención!
Si usa el complemento de ESP32 «ESP32 by Espressif Systems» en la versión  3.0.0 o superior, el firmware desactiva por sí mismo la actualización por Wi-Fi (OTA): el parámetro USE_UPDATE_OTA no tiene efecto en este núcleo; cargue solo por USB. Además, debe cambiar el tipo de placa usado y seleccionar las particiones adecuadas. La tabla de particiones de Samovar no existe en el núcleo 3.x; se añade a mano (la descripción está al principio del archivo Samovar.ino):
  1. copie el archivo partitions\samovar.csv del directorio del sketch a ...\Arduino15\packages\esp32\hardware\esp32\3.x.x\tools\partitions\ (en Windows el directorio Arduino15 está en C:\Users\<name>\AppData\Local\);
  2. añada tres líneas al archivo ...\esp32\3.x.x\boards.txt:
    esp32.menu.PartitionScheme.samovar=Samovar
    esp32.menu.PartitionScheme.samovar.build.partitions=samovar
    esp32.menu.PartitionScheme.samovar.upload.maximum_size=1507328
  3. reinicie Arduino IDE y elija «Tools» → «Partition Scheme» → «Samovar».
El configurador PlatformIO usa el núcleo 2.0.17 y la misma tabla de particiones (partitions/samovar.csv); no hace falta añadir nada.
Mensaje en el foro.
 

Preguntas y respuestas. FAQ
 
No he encontrado en ningún sitio cómo actualizar el firmware «por el aire». ¿Me pueden orientar?...
La primera vez, en cualquier caso, hay que grabar por cable  y conectar Samovar a su red Wi-Fi. El parámetro USE_UPDATE_OTA debe estar activado en Samovar_ini.h (activado por defecto; en el configurador es «Permitir la actualización por Wi-Fi» («Разрешить обновление по Wi-Fi»)), y el núcleo de ESP32 debe ser el 2.0.17.
Reinicie Samovar y vuelva a abrir Arduino IDE. Después, la dirección IP de Samovar aparecerá en los puertos de red  de Arduino IDE (un puerto de red llamado samovar).
En lugar del puerto USB (COM), seleccione la dirección IP y la actualización se hará por el aire.
 
 
Más adelante,  si conecta Samovar al ordenador con un cable USB, en los puertos habrá dos opciones: actualizar «por el aire» o por el puerto COM. Elija el canal que elija, el sketch se enviará por él.
El configurador funciona igual: pulse «Actualizar» («Обновить») y en la lista de puertos aparecen tanto el puerto COM como el Samovar encontrado en la red; seleccione el de red y pulse «Grabar» («Прошить»). El botón «Cargar LittleFS» («Загрузить LittleFS») también funciona por la red.