Esptool: различия между версиями

Материал из УМКИwiki
Перейти к навигации Перейти к поиску
 
Строка 1: Строка 1:
== Утилита ESPTOOL (Linux) ==
== Установить утилиту 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