Esptool
Установить утилиту 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