Прошиваем ESP32 на прошивку от Tasmota

Руки дошли и до DIY устройств. 🙂 Собственно имеем некое чудо ESP32-WROOM-32 Devkit на борту котором есть Wifi/BLE/внешнее питание через Micro-USB … и фик знает чего там еще напихали. Сам факт того, что мы планируем его использовать в будущем для удаленного подключения энергомера PZEM-004T к домашней сети HomeAssistant и снимать с него статистику всех электрических показаний в сети (напряжение, ток, частота, текущая мощность и т.п.). для этого нам необходимо первым делом подготовить модуль ESP32 к интеграции с HomeAssistant. Т.е. первым этапом займемся его прошивкой на специальную от tasmota firmware. Замечу, что прошивать будем не стандартной прошивкой, а именно для ESP32 Devkit. Эти прошивки расположены здесь.

Почему именно она ? Упростим себе задачу :). Как всегда нам понадобится USB TTL Flasher на базе CH340. Вот здесь мы его уже использовали для прошивания wifi реле на базе ESP8266 и теперь будем использовать для ESP32. Сам я его никогда еще не прошивал – поэтому будем учиться вместе 🙂 Выглядит модуль ESP32 Devkit так

На борту у него есть еще внешнее питание по Micro-USB, его мы будем использовать для прошивки, а не так как ранее брали 3.3V с USB TTL Flasher (хотя кому как удобнее). Две кнопки: Boot (режим загрузчика) и EN (для сброса). Вообщем схема для соединения двух устройств стандартная. Солянка из сборки Flasher+ESP32  🙂

Контакты при подключении

USB Flasher ESP32 Devkit
RX TX0
TX RX0
GND GND
3V3 3V3 (либо внешее по Micro-USB)

На схеме выше я использование питание ESP32 Devkit по Micro-USB кабелю. Теперь качаем софтину ESP32 Download Tool. Скачать можно отсюда. Я пробовал прошивать Tasmotizer, которое мне выдавало одну и туже ошибку (кстати опознает оно ESP32-WROOM как ESP8266 и не прошивает) 

и Tasmota-PyFlasher … но первый вариант был по глупости (он не поддерживает ESP32) 🙂 второй вариант прошивал некорректо (однако прошивал, но SSID tasmota_* в моей wifi сети не появлялся). 

Также нам необходимо специальный файлы для записи в ESP32 (bootloader, tasmota прошивка и partition). Скачать их можно по таблице ниже, а почитать о них здесь

Bootloader bootloader_dout_40m.bin https://github.com/arendst/Tasmota/tree/firmware/firmware/tasmota32/ESP32_needed_files
Partition partitions.bin https://github.com/arendst/Tasmota/tree/firmware/firmware/tasmota32/ESP32_needed_files
Tasmota tasmota32.bin https://github.com/arendst/Tasmota/tree/firmware/firmware/tasmota32

Вставляем USB TTL Flasher в порт компьютера и подключаем отдельное питание по Micro-USB для ESP32. В системе смотрим наличие номера COM порта в Диспетчере устройств Windows 10

Файлы для прошивок скачали в отдельную папку и запускаем приложение для прошивки ESP32 Download Tool, выбираем режим Developer

настраиваем вкладку SPIDownload к следующему виду (.bin файлики для прошивки мы с вами скачали ранее). Каждая прошивка из файла требует адресного пространства. Такова структура прошивки этого модуля которые пришел на смену ESP8266.

самое главное здесь первые 3 строки и их правильные адреса расположения в памяти, поля для цифровых значений добавляются ручками

Теперь мы готовы к прошивки. Для начала очистим от всех данных, что в заводской прошивке нашего модуля. Нажимаем ERASE

IDLE статус смениться на SYNC 

и жмем на ESP32 кнопку Boot + EN отпускаем Boot и EN, и далее жмем один раз Boot (или без). Если не получается можно еще так попробовать : отключить питание ESP32. Нажать на кнопку Boot, подать питание на модуль и через пару секунд отпустить кнопку Boot. Результатом удачного подключения должен быть статус FINISH .

далее жмем на START в программе  и  на  модуле ESP32  нажимаем комбинацию кнопок Boot + EN, отпускаем Boot и EN, и далее жмем один раз Boot. Конбинация какая-то странная, хотя в документация описана только комбинация вида : “на ESP32 кнопку Boot + EN отпускаем Boot”, в итоге вы попадаете в ручной режим программирования. Ниже результат лога удачной прошивки.

Иногда у меня не срабатывала комбинация очистки данных даже под прицелом ружья, ситуацию исправила вкладка Factory MultiDownload. Вообще модуль весьма капризный в прошивке  я заметил.

Если вы зальете стандартную прошивку tasmota, вы не получите нужный результат. Нужно прошивать только отдельную прошивку, которая находится в разработке (Beta) пока. Читем здесь.

Теперь ищем в WIFI сети SSID с именем tasmota_*, У меня это было так

Отлично. Подключаемся к ней и заходим на адрес 192.168.4.1 (хотя вас может перебросить автоматически после того как ты только к SSID’у подключитесь). Далее все по старинке … через tasmota интерфейс управления подключаемся к Web консоли и настраиваем наш wifi для подключения к домашнему роутеру. На роутере я рекомендую выставить устройству статический IP адрес

устройство перегрузиться

и попадаем в царство настроек темплейта. он там экслюзивный. Все 39 контактов это большая честь на самом ESP32-WROOM Devkit модуле (это модуль который собран из самого чипа Expressif ESP32 … со всеми контактами / пайками / конверторами TTL и т.п. т.е. готовый модуль для отладки. Рекомендую вам его покупать для DIY устройств). Настраивать подключение к HomeAssistant мы будем у же в другой раз когда приедет оборудование.

Дерзайте! Обновления производим скачивания прошивки tasmota32.bin https://github.com/arendst/Tasmota/tree/firmware/firmware/tasmota32 и ручной заливки.

3.7 3 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
6 комментариев
Популярные
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии
Леха
Леха
18.01.2021 15:36

Он шьется через microUSB без проблем. Есть прога tasmotizer, там это делается в один клик. Нужен только порт.

Леха
Леха
24.01.2021 12:57
Ответить на  admin

Надо видимо сначала нулем прошить.
тасмотайзер настройки вайфая позволяется сразу выставить, без гемороя с поднятием ап.

Vit
Vit
27.05.2021 20:35

ESP32 gрошивал в 3 клика ESP-Flasher-Windows-x64.exe Работает отлично без проблем и заморочек.
https://github.com/Jason2866/ESP_Flasher/releases

Последний раз редактировалось 25 дней назад Vit ем
6
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x