esptool
Utilidad oficial de Espressif para comunicarse con dispositivos ESP8266 y ESP32 a través del puerto serie.
Capacidades
- Instalar firmware
- Crear backups completos
- Borrar completamente la memoria flash
- Obtener información del chip
- Leer la dirección MAC
- Combinar archivos binarios
Referencia Rápida
| Tarea | Comando |
|---|---|
| Borrar flash | erase-flash |
| Instalar firmware | write-flash |
| Crear backup | read-flash |
| Leer MAC | read-mac |
| Información de la flash | flash-id |
| Combinar archivos binarios | merge-bin |
Instalación
Crear un entorno virtual de Python:
python -m venv esptool-envActivar el entorno virtual:
Linux
source esptool-env/bin/activateWindows (CMD)
esptool-env\Scripts\activate.batWindows (PowerShell)
esptool-env\Scripts\Activate.ps1Instalar esptool:
pip install esptoolVerificar la instalación:
esptool versionActivar el entorno virtual
Antes de utilizar esptool se debe activar el entorno virtual:
source esptool-env/bin/activateBorrar completamente la memoria flash
esptool -p /dev/ttyUSBx erase-flashEjemplos rápidos
esptool -p /dev/ttyUSB0 erase-flashInstalar firmware
esptool -p /dev/ttyUSBx -b 115200 write-flash -fm dout <offset1> filename1.bin <offset2> filename2.bin <offset3> filename3.binEjemplos rápidos
esptool -p /dev/ttyUSB0 -b 115200 write-flash -fm dout 0x00000 firmware.binesptool -p /dev/ttyUSB0 -b 115200 write-flash -fm dout 0x1000 bootloader.bin 0x8000 partition-table.bin 0x10000 app.binNota El modo
doutes requerido por numerosos dispositivos ESP8266 compatibles con Tasmota.
Crear un backup completo
esptool -p /dev/ttyUSBx -b 115200 read-flash 0x00000 ALL filename.binEjemplos rápidos
esptool -p /dev/ttyUSB0 -b 115200 read-flash 0x00000 ALL backup.binObtener información de la memoria Flash
esptool -p /dev/ttyUSBx flash-idEjemplos rápidos
esptool -p /dev/ttyUSB0 flash-idLeer la dirección MAC
esptool -p /dev/ttyUSBx read-macEjemplos rápidos
esptool -p /dev/ttyUSB0 read-macCombinar varios archivos binarios en un único archivo
esptool -c <chip_type> merge-bin -o output_filename.bin -fm dio -ff keep -fs keep <offset1> filename1.bin <offset2> filename2.bin <offset3> filename3.binEjemplos rápidos
esptool -c esp32 merge-bin -o firmware.bin -fm dio -ff keep -fs keep 0x1000 bootloader.bin 0x8000 partition-table.bin 0x10000 app.binesptool -c esp32s2 merge-bin -o firmware.bin -fm dio -ff keep -fs keep 0x1000 bootloader.bin 0x8000 partition-table.bin 0x10000 app.binNotas
- Cerrar cualquier monitor serie antes de utilizar
esptool. - Utilizar un cable USB de buena calidad.
- Algunos dispositivos requieren mantener GPIO0 conectado a GND durante el reinicio para ingresar en modo de programación.
- Reemplazar
/dev/ttyUSBxpor el puerto serie correspondiente (/dev/ttyUSB1,/dev/ttyACM0,COM3, etc.).