Esptool

Материал из УМКИwiki
Версия от 13:11, 8 октября 2024; Woronin (обсуждение | вклад) (→‎Утилита ESPTOOL (Linux))
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Установить утилиту ESPTOOL (Linux)

Предназначена для прошивки firmware в ESP контроллер из командной строки.

Для прошивки актуальной версии программы в контроллер вам нужно :

1. Скачать файл, например по этой ссылке: https://www.umkikit.ru/prog/firmware.bin

2. Установить у себя утилиту esptool из командной строки как root

# apt-get update
# apt-get install esptool

3. Подключить контроллер по USB (COM) порту, и убедится что ОС его распознает, например как /dev/ttyUSB0 (Для ESP8266) или /dev/ttyACM0 (для ESP32)

$ ls /dev/ttyU*
$ ll /dev/ttyA*
crw-rw---- 1 root uucp 166, 0 окт  7 17:31 /dev/ttyACM0

Прошить командой

Из командной строки можно собирать прошивку и загрузить ее в девайс например такой командой:

$ esptool write_flash 0x00000 Smart_Therm_0.1.2_20220318.bin

или указать порт и скорость прошивки

$  esptool --port /dev/ttyUSB0 --baud 460800 write_flash  -fm dio 0x00000 firmware.bin 

Еще один вариант команды для прошивку утилитой esptool , если драйвер порта распознался как /dev/ttyACM0:

$ esptool --chip esp32 --port /dev/ttyACM0 --baud 460800 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size 4MB 0x1000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin

4. Для того чтобы убедится, что устройство прошилось нормально, нажмем на нем кнопку RESET и в мониторе порта просмотра вывода информации из контроллера, для этого сконфигурим COM порт для мониторинга на нужную скорость вывода информации, с учетом того что Для СОМ-порта стандартными являются следующие скорости: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с:

$ /bin/stty -F /dev/ttyUSB0 raw -echo 9600

или на другой скорости

$ /bin/stty -F /dev/ttyUSB0 raw -echo 115200

Смотрим что выдает контроллер в порт (аналог Терминала в windows)

$ cat /dev/ttyUSB0

Проверить работу

5. Если все нормально прошло, то контроллер делает примерно такой вывод, из чего ясно что к WIFI он теперь не привязан:

Start
Умный контроллер SmatrTherm ESP8266
Vers 0.6 build Sep 13 2023
Sizeof time_t= 8
time= Thu Jan  1 00:00:01 1970
 millis()=1088
ERROR: No DS18b20(1) found on pin 12
DS18b20(2) found on pin 4
setup_web_common
OT_ids[0].used =1
FlashFS tBytes = 1024000 used = 16384
Reading file: /smot_par
read 2 bytes nn=20
Read =18 bytes
enable_CentralHeating=1
enable_HotWater=1
Tset=45.0 TdhwSet=46.0
UDPserver_repot_period=0 UDPserver_port=0
1
2
3
WiFi Not connected
MAC: c8 c9 a3 5d 9f 4b
loop_web()
WiFi.status=0
IRAM free:   9896 bytes (min 9896)
tcp_sts=0