Esptool: различия между версиями
Woronin (обсуждение | вклад) |
Woronin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
== | == Установить утилиту ESPTOOL (Linux) == | ||
Предназначена для прошивки firmware в ESP контроллер из командной строки. | Предназначена для прошивки firmware в ESP контроллер из командной строки. | ||
Строка 10: | Строка 10: | ||
# apt-get install esptool | # apt-get install esptool | ||
3. Подключить контроллер по USB порту, и убедится что ОС его распознает, например как /dev/ttyUSB0 (Для ESP8266) или /dev/ttyACM0 (для ESP32) | 3. Подключить контроллер по USB (COM) порту, и убедится что ОС его распознает, например как /dev/ttyUSB0 (Для ESP8266) или /dev/ttyACM0 (для ESP32) | ||
$ ls /dev/ttyU* | $ ls /dev/ttyU* | ||
$ ll /dev/ttyA* | $ ll /dev/ttyA* | ||
crw-rw---- 1 root uucp 166, 0 окт 7 17:31 /dev/ttyACM0 | crw-rw---- 1 root uucp 166, 0 окт 7 17:31 /dev/ttyACM0 | ||
Из командной строки можно собирать прошивку и загрузить ее в девайс такой командой: | == Прошить командой == | ||
Из командной строки можно собирать прошивку и загрузить ее в девайс например такой командой: | |||
$ esptool write_flash 0x00000 Smart_Therm_0.1.2_20220318.bin | $ 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 --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 и в мониторе порта просмотра вывода информации из контроллера, для этого сконфигурим порт на скорость вывода информации | 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 9600 | ||
или на другой скорости | или на другой скорости | ||
Строка 27: | Строка 30: | ||
$ cat /dev/ttyUSB0 | $ cat /dev/ttyUSB0 | ||
== Проверить работу == | |||
5. Если все нормально прошло, то контроллер делает примерно такой вывод, из чего ясно что к WIFI он теперь не привязан: | 5. Если все нормально прошло, то контроллер делает примерно такой вывод, из чего ясно что к WIFI он теперь не привязан: | ||
Текущая версия от 13:11, 8 октября 2024
Установить утилиту 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