WeMos Lolin (ESP32) установка в системе и совместное сосуществование с WeMos D1 (ESP8266) под Arduino IDE

WeMos, Lolin, ESP32, ESPWROOM32, 1313, Lolin32, v1.0.0

WeMos Lolin (ESPWROOM32) в виде платы с разъемом для аккумулятора и платы с экраном

О новых чипах производства Espressif заговорили чуть ли не в 2015 году. Дескать, они будут куда быстрее, тоньше, лучше, чем хит того времени ESP8266. А куда быстрее или лучше, чем ESP8266? На мой взгляд, для подавляющего большинства проектов, реализуемых на ESP8266, его мощности более чем достаточно. Единственное, что аналоговых линий можно было бы и добавить. А так — всего вдоволь.

WeMos, wemos.cc, boot, en, gnd, 5v, lolin, lolon32, платы, схемы, экран

Оборотные стороны плат WeMos

Но прогресс — неумолим и на моем дубовом столе оказалось аж две платы с новым «чипом» ESP32, а точнее ESPWROOM32. Производитель плат, как не трудно догадаться из названия — небезызвестный WeMos. Одна из плат попроще. У нее разведены все доступные порты ESP32, а в качестве дополнительного бонуса в плату интегрировали зарядное устройство для Lion-батареи. Другими словами у платы появляется свой собственный источник бесперебойного питания. Рубанула электрокомпания электричество в розетке, а система все равно работает. Красота! Не нужно ничего колхозить с отдельными зарядками, все уже сделано.

WeMos, Lolin, Lolon32, 1313, ESP-WROOM-32, 211-161007, reset, плата, схема, микроконтроллер, Battery

Плата WeMos Lolin32 с возможностью подключения аккумулятора

На второй плате производитель пошел немного дальше. Он взял и интегрировал на плату небольшой OLED-дисплей. Не цветной, светит белым, но вполне правдоподобно работоспособный. Дисплей потребовал применения стабилизатора увеличенной мощности и его в этом попрекнуть нельзя, органические светодиоды нужно же чем-то питать. Более того, из-за дисплея пропало несколько портов ввода/вывода. Что тоже вполне логично можно объяснить потребностями экранчика. К чести производителя он сразу записал на чип скетч позволяющий проверить экран. Подаешь питание, и включается демонстрационный режим.

WeMos, Lolin, Lolin32, ESP-WROOM-32, 1313,211-161007, схема, плата, экран

Плата WeMos Lolin с экраном

Но перейдем к основной теме. К тому, как же запустить WeMos Lolin на чипе Espressif ESP32 с любимой Arduino IDE. Кстати, многие ругают Arduino IDE за несовершенство и убожество, а попутно советуют перейти на что-то более «крутое», например, Visual Studio. Но, на мой взгляд, Arduino IDE хватает для подавляющего большинства проектов реализуемых дома. Да, Arduino IDE проста, в ней нет отладчика и многих прочих интересных плюшек. Но именно в ее простоте и кроется вся мощь Arduino IDE. В среде есть все, что требуется для разработки. А при грамотной настройке интерфейса средой можно вполне удобно пользоваться, не опасаясь, что вытекут глаза от ядовитой расцветки.

Итак, дано Windows 10 Pro x64 + Arduino IDE 1.8.0 (не самой распоследней версии, но тоже ничего) + установленный пакет для работы с ESP8266. Задача — добавить к системе поддержку ESP32 так, чтобы ничего другого не отвалилось. Как подключить к Arduino IDE ESP8266 я подробно описал в этой статье. И я настоятельно рекомендую с ней ознакомиться, так как там описана установка Git, который потребуется нам для установки поддержки ESP32.

1. Запускаем командную строку с правами администратора. Для этих целей я использую FAR Manager, в нем все же удобнее добираться до нужных директорий на диск.

2. Переходим в каталог, где установлены библиотеки от ESP8266. В моем случае это C:\Program Files (x86)\Arduino\hardware\esp8266com

3. Запускаем в этой директории клонирование репозитория с GitHub командой git clone https://github.com/espressif/arduino-esp32.git esp32

C:\Program Files (x86)\Arduino\hardware\esp8266com>git clone https://github.com/espressif/arduino-esp32.git esp32
Cloning into 'esp32'...
remote: Counting objects: 4661, done.
remote: Total 4661 (delta 0), reused 0 (delta 0), pack-reused 4661
Receiving objects: 100% (4661/4661), 72.37 MiB | 3.30 MiB/s, done.
Resolving deltas: 100% (2339/2339), done.
C:\Program Files (x86)\Arduino\hardware\esp8266com>

 

4. Проверяем, что у нас в директории esp8266com теперь две директории. Одна старая esp8266 и одна новая esp32.

far, dirs

Теперь тут два каталога

5. Заходим в esp32,а там в директорию tools. Запускаем исполняемый файл get.exe. Он проверяет систему и скачивает требуемую библиотеку. Времени на скачивание может уйти несколько минут. Придется набраться терпения.

far, exe

Запускаем get.exe

6. После завершения скачивания библиотеки подключаем плату с ESP32 к компьютеру по USB. Система опознает плату и присваивает ей COM-порт.

7. Запускаем Arduino IDE и выбираем нужную плату из списка. В моем случае — WeMos Lolin. В этом же списке обратите внимание, что все ESP8266 платы остались на своих местах и можно их использовать, как и ранее. Главное не путать одно с другим.

Arduino IDE, esp32

Проверяем доступные платы в Arduino IDE

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

Arduino IDE, Lolin, lolin32

Выбираем пример для компиляции и запуска на Lolin

9. Компилируем, записываем в микроконтроллер, смотрим на результат.

arduino ide, lolin32, espressif, esp32

Результат работы скетча по идентификации чипа

Итак, что же в сухом остатке? А то, что две системы, два микроконтроллера, могут сосуществовать в рамках одной IDE и одного компьютера. Более того, функции ESP32 помогут реализовывать свои проекты еще на уровень выше. Чего, например, стоит возможность использования зашифрованного внутреннего хранилища или же подключаться к самым скоростным протоколам Wi-Fi? Хотя некоторые, до сих пор, учат, как использовать чипы ESP в качестве Wi-Fi адаптеров для обычных плат Arduino. Эх!

PS. На текущий момент в Arduino пока еще поддерживаются не все функции ESP32, но время идет и уже скоро стоит ожидать полноценную реализацию всего спектра заложенных в устройство технологий и под Arduino.

PSS. Судя по различиям в логотипах устройств, какое-то из них, наверняка, подделка 🙂 Но работает.

Update. Все течет, все изменяется. WeMos переименовался в Lolin, старые платы Lolin 32 отправили в утиль, вместо них появились новые платы Lolin D32 (на ESP32) и Lolin D1 (собственно это они и есть наши любимые D1 Mini на ESP8266). А для добавления обновленных библиотек для Arduino следует использовать вот этот адрес, для регистрации в Boards Manager Arduino IDE: http://arduino.esp8266.com/stable/package_esp8266com_index.json

Таким образом в IDE подключается последняя стабильная версия от комьюнити по поддержке продукции ESP в рамках экосистемы Arduino. Само же сообщество обитает в основном на GitHub по этому адресу: https://github.com/esp8266/Arduino

Update2. Как оказалось, официальный репозитарий для Boards Manager опять не содержит модулей EPS32. Для их подключения в Arduino IDE необходимо прописать еще один адрес https://dl.espressif.com/dl/package_esp32_index.json



Подписаться
Уведомить о
guest

4 комментариев
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии
Dmitriy
Dmitriy
6 лет назад

Огромное спасибо за статью! Все очень понятно разжевано!

Анонимно
Анонимно
5 лет назад

Я последнее время Platformio IDE пользуюсь. Поставил её в Visual Studio Code. Полёт отличный,я доволен (что, кстати, бывает очень и очень редко...)

Василий
4 лет назад

В чем разница между lolin32 и d32? Почему первую отправили в утиль?

neon
2 лет назад

В этом контексте существенный интерес представляет, также, "связка" ESP-12F WeMos D1 WiFi и Arduino UNO.
А также, управление этой "связкой" из "внешнего" ПО.
См. примеры здесь:
roamer55.ru/main_programming/arduino/arduino_technosphere_000/arduino_technosphere_000_005/