Программа для прошивки esp32

Обновлено: 08.07.2024

Прошивка ESP Easy

Прошивка "ESP Easy" от Let's Control It позволит легко превратить любой модуль на базе ESP в многофункциональный сенсор или модуль для умного дома.

Подходит для модулей:
- ESP8265
- ESP8266
- ESP 32
- ESP SONOFF

В прошивку вложен функционал по написанию отдельных правил (Rules)

В архиве будет много прошивок из названий понятно для чего они:

Для модулей:
- ESP8265
- ESP8266
- ESP 32
- ESP SONOFF

Они в свою очередь делятся на:
- Тестовые версии (в названии test)
- Обычные (normal_core)
В зависимости от ядра, пример 241,242, 260 и т. д.
- Минимальные (minimal)
- C IR устройствами (IRext)

В зависимости от объема уставленной памяти на ESP8266
1M
4M1M
4M2M

Файл "blank_1MB" или 2,4,16 для затирки памяти

Проще всего прошить программой "ESPEasy Flasher"
ESPEasy Flasher (скачать с GitHub или входит в комплект поставки с прошивкой Mega)
Внимание настройки программы работают если программа находится в папках без русских букв (например в корневом каталоге)
Настройки программы
Прошивку положить в папку bin, которая находится в одной папке с программой (по умолчанию, с прошивкой Mega все уже лежит где нужно)
Post flash action (действия после прошивки) - поставить галочку
Pause after flash (manual reboot) (пауза после прошивки (ручная перезагрузка)) - после прошивки модуль перезвагрузится
Указать настройки сети:
Имя ESP
Номер платы (для каждой платы должен быть индивидуальным),
Пароль доступа
IP адрес,
WI-Fi Main (главный)
WI-Fi Fallback (Резервный)
И сразу можно вписать правила (rules)
Если прошивались всеми прошивками кроме ESPEasy Flasher или в ESPEasy Flasher не заполняли поля то формируется Wi-Fi сеть ESP_0 (В некоторых версиях прошивки возможно будет Esp_Easy_0 или другая если другая версия прошивки).
Подключитесь к ней
Пароль: configesp
IP: 192.198.1.4 или 192.168.4.1
В прошивку вложен функционал по написанию отдельных правил (Rules)

Общая структура программ:
on do
endon
on <trigger> do
<action>
<action>
<action>
endon
Порядок следования условий on|endon не имеет значения, грубо говоря они проверяются все одновременно, и если событие наступило — оно обрабатывается.

.Установка, прошивка платы ESP32 в Arduino IDE (Windows, Mac OS X, Linux)

Существует надстройка для Arduino IDE, которая позволяет программировать ESP32 с использованием Arduino IDE и его языка программирования. В этой статье мы покажем вам, как установить плату ESP32 в Arduino IDE, не зависимо от используемой вами операционной системы: Windows, Mac OS X или Linux.

Если у вас возникли какие-либо проблемы во время процедуры установки, сообщите об этом на форуме.

esp32 devkit

Необходимые условия: Arduino IDE последней версии.
Перед началом установки убедитесь,что на вашем компьютере установлена последняя версия Arduino IDE. Если у вас стоит не последняя версия, сперва удалите текущую версию и затем установите более новую версию. В противном случае, данная инструкция может не сработать.
Имея последнюю версию Arduino IDE, установленную с официального сайта, продолжайте установку по данной инструкции.

Установка дополнения ESP32 в Arduino IDE

Чтобы установить плату ESP32 в Arduino IDE, выполните следующие действия:
1. В вашем Arduino IDE перейдите в Файл> Настройки

установить плату ESP32 в Arduino IDE

2. Войдите https://dl.espressif.com/dl/package_esp32_index.json. в поле "Дополнительные ссылки для менеджера платы", как показано на рисунке ниже. Затем нажмите кнопку OK.

Дополнительные ссылки для менеджера платы

Внимание: Если вы у вас установлена в Arduino IDE ESP8266 то добавьте 2 строки или через запятую:

3. Откройте Менеджер плат. Перейдите в меню Инструменты > Платы > Менеджер плат

Менеджер плат

4. Ищем ESP32. И нажимаем кнопку Установка.

Ищем ESP32

5. Вот и все. Через пару минут у вас все установиться.

Первая загрузка скетча в ESP32.

Подключите плату ESP32 к компьютеру. Открываем Arduino IDE и выполним следующие действия:

1. Выберите доску в меню Инструменты > Плата (в моем случае это DOIT ESP32 DEVKIT V1 )

Инструменты WiFiScan

Плата (в моем случае это DOIT ESP32 DEVKIT V1)" width="382" height="240" style="display: block; margin: auto; width: 382px; height: 240px;" rel="display: block; margin: auto; width: 382px; height: 240px;">

2. Выберите порт (если вы не видите COM-порт в Arduino IDE, вам необходимо установить драйверы CP210x USB to UART Bridge VCP). В моем случае ком порт отображается по другому. Это связанно с тем что я использую OS Linux.

Выберите порт

3. Открыть в следующем примере в Файл > Примеры > WiFi > WiFiScan

Примеры WiFiScan

4. В вашей среде Arduino IDE откроется новый скетч.

Arduino IDE откроется новый скетч

 Загрузить в Arduino IDE

6. Откройте последовательный монитор Arduino IDE со скоростью передачи данных 115200.

 Откройте последовательный монитор Arduino IDE

Распиновка ESP32 DEVKIT V1

Подведение итогов.
Это краткое руководство, которое иллюстрирует, как подготовить ваш Arduino IDE для ESP32 на компьютере с ОС Windows, Mac OS X или Linux. Если во время установки возникнут какие-либо проблемы, пишите на форум.

Всем привет. Несколько дней назад мне достался экземпляр ESP32 Demo Board V2, о чем я сразу радостно заявил у себя на FB. Конечно, ведь получить его сейчас не очень просто: первая партия (штук 600), которая поступила на продажу на Seeed Studio разлетелась за считанные часы!


Но как разработчик и hardware интегратор Open-Source библиотеки для Blynk, я часто получаю ранний доступ к различным девайсам. Blynk позволяет быстро прототипировать и строить iOS/Android Apps для интернета вещей, используя drag'n'drop блоки прямо на телефоне.

Плата, которая попала мне в руки, выглядит вот так:

image

ESP32 обещает снова совершить революцию в мире IoT, как в свое время совершил его младший брат ESP8266 (и я искренне надеюсь, что так и будет). Если Вы раньше ничего не слышали о ESP8266 — читайте, например здесь и здесь (ну и гугл).

Что же собой представляет новый ESP32? Даже с первого взгляда понятно, что это очень мощная платформа. Например, Иван Грохотков (разработчик поддержки Arduino для ESP8266) опубликовал фото игры DOOM на ESP32:

Характеристики ESP32

image

Более детальная (и практически полная) информация есть на офф. сайте Espressif Systems. ESP32 будет доступен (как минимум) в нескольких видах:

» Модуль ESP-WROOM-32 ($5 ?)

image

» Модуль AI-Thinker ESP3212, похожий на ESP-12F ($6.9). На ESP3212 нет ножек для SD-card, в отличии от WROOM-32.

image
image

Чип ESP32-D0WDQ6 ($2.8 ?) | Datasheet

  • D: Dual-core
  • 0: No internal flash
  • W: Wi-Fi
  • D: Dual-mode Bluetooth
  • Q: Quad Flat No-leads (QFN) package
  • 6: 6 mm × 6 mm package body size

Осторожно! Практически все упоминания о ESP32 до 09.2016 на самом деле о ESP31B, что вообще не то же самое.

Настройка среды разработки

На оффсайте сейчас можно найти ссылки на два SDK:

» ESP31_RTOS_SDK — SDK для ESP31B, построена на FreeRTOS.
» Espressif IDF (IoT Development Framework) — Official development framework for ESP32.

Хоть это и не очевидно с описания на сайте, но для релизной версии нам подходит только ESP-IDF. Есть инструкции по установке для linux, windows, macos.

У меня 64-bit Ubuntu Linux. Сначала скачал компилятор:


Должна появиться папка xtensa-esp32-elf . Потом скачал esp-idf (в той же папке /opt/Espressif ):


Должна появиться папка esp-idf .

Пишем Hello World

Espressif подготовил для нас темплейт проект, так что начать очень просто:


Можно попробовать запустить чисто темплейт, но мне это показалось неинтересным. Я чуть-чуть дописал main/app_main.c , чтоб помигать светодиодом. Вот что получилось.

Собираем и заливаем на плату

Чтоб собрать проект, сначала надо настроить окружение:


Теперь подключаем плату, включаем питание, и смотрим на каком порту она появилась (у меня это /dev/ttyUSB3). Запускаем конфигуратор:

image

Надо зайти в «Serial flasher config» и установить «Default serial port» на порт платы. Можно еще посмотреть другие настройки.
Все, сохраняем и выходим.


Если все хорошо, заливаем на плату:

Подключаемся к плате используя Putty (screen, или другой эмулятор терминала). Передергиваем питание, и видим:

Если подключить светодиод к IO18 , то он тоже мигает. Значит, наш код работает!

Отладка

Еще одна хорошая новость — в ESP32 есть JTAG интерфейс на ножках IO12, IO13, IO14, IO15 . Я попробую использовать его для отладки программ. Но об этом уже в следующей статье.

Ну что ж, осталось только дождаться наличия ESP32 в магазинах, стабилизации SDK (надеюсь, оно будет изначально намного стабильнее, чем ESP8266). Функция Bluetooth тоже пока не доступна. В скором времени (по моим данным, очень скоро) должны появиться бета-поддержка Arduino IDE и MicroPython, чуть потом Espruino и что-то похожее на NodeMCU.

Умный дом легко и просто без программирования - прошивка "ESP Easy" легко превращает любой модуль на базе ESP в многофункциональный модуль умного дома.

Программировать не нужно, все настраивается интерактивно, хота данное прошивка поддерживает свой язык программирования, правила - Rules, а это значит в прошивке можно писать свою простенькую программу.

Возможности прошивки

К прошивке можно подключить м одули:

Поддерживаются следующие протоколы для передачи данных и работы с системами умных домов:

По объему и предназначению прошивки:

  • Тестовые версии (в названии test)
  • Обычные (normal_core)
  • В зависимости от ядра, пример 241,242, 260 и т. д.
  • Минимальные (minimal)
  • C IR устройствами (IRext)

В зависимости от объема уставленной памяти на ESP8266

Файл " blank_1MB " или 2,4,16 нужен для затирки памяти нулями (например когда модуль не хочет подключатся к сети)

Последняя стабильная версия ESPEasy R120 для плат с маленьким объемом памяти

Прокручиваем, а затем открываем меню "Assets" и качаем в данном случаем ESPEasy_ESP82xx_mega-20200929.zip (у Вас скорее всего будет новее)

(!) Внимание! Настройки программы работают если программа находится в папках без русских букв (например в корневом каталоге)

Запускаем от имени администратора программу "ESP Easy Flasher" из папки куда мы ее распаковали (если запустить программу без административных полномочий могут не определятся ESP на COM портах)

Разберемся с настройками


COM port - выбор Com порта
Onli active ports -автовыбор подключенного порта
Fimware (.bin) - выбор прошивки, они лежат в папки bin или можно указать другую папку
Baud rate - скорость порта
Force - DOUT - я не знаю что это такое
Post flash action - действия после прошивки, если поставить галочку то все дальнейшие действия после прошивки модуля будут выполнены
Pause after flash (manual reboot) - пауза после прошивки для перезагрузки в ручную

UNIT - настройки модуля
Name - Имя ESP
Number - Номер платы, для каждой платы должен быть индивидуальным
Admin Password - Пароль доступа
Run custom serial commands (Settings\SerialCommands.txt) - Запустите пользовательские последовательные команды

Настройки сети
IP адрес, fixed IP - Постоянный IP адрес
WI-Fi SSID, Password (Main)- Ввод имени и пароля WI-Fi основной сети
WI-Fi SSID, Password (Fallback) - Ввод имени и пароля WI-Fi резервной сети, будет действовать если не подключится к главной
Rules 1-4 - сразу можно вписать правила

Надписи на кнопках
Safe as default settings - Сохранить эти настройки по умолчанию
Open Serial monitor - Открыть монитор последовательного порта
Flash ESP Easy FW - Прошить

Читайте также: