Ранее на нашем сайте мы уже рассматривали начало работы с модулем ESP32, в котором мы рассматривали его программирование с помощью Arduino IDE. Но на момент написания той статьи в Arduino IDE еще не было официальной поддержки модуля ESP32, поэтому его поддержку в Arduino IDE приходилось добавлять используя инструмент GIT. Теперь же, когда в Arduino IDE есть официальная поддержка модулей (плат) ESP32, в использовании инструмента GIT уже нет никакой необходимости и используя описанный ниже подход вы сможете подготовить Arduino IDE для программирования модуля ESP32.
Необходимые компоненты
- Модуль ESP32 (купить на AliExpress).
- Arduino IDE.
- Кабель для программирования micro USB.
Основные аппаратные возможности модуля ESP32
При внешнем взгляде на модуль ESP32 видно, что он по размеру немного больше чем модуль ESP8266-01 и его контакты расположены более удобно на его плате. Внешний вид модуля ESP32 показан на следующем рисунке.
Как вы можете видеть из представленного рисунка, "сердцем" модуля является 32-битный микропроцессор. Далее кратко рассмотрим назначение основных элементов модуля.
Micro-USB jack: данный разъем используется для подключения модуля ESP32 к компьютеру с помощью USB кабеля. С его помощью можно программировать модуль с компьютера, а также осуществлять последовательную связь.
Кнопка EN: это кнопка сброса модуля ESP32. Нажатие этой кнопки прекращает выполнение кода программы, которая запущена в модуле.
Кнопка загрузки (Boot Button): эта кнопка используется для загрузки программы в модуль ESP32. Ее необходимо нажимать после нажатия кнопки загрузки программы в Arduino IDE. Когда эта кнопка нажата вместе с кнопкой EN, модуль переходит в режим загрузки прошивки (firmware). Не экспериментируйте с этим режимом если вы не понимаете суть происходящих при этом процессов.
Светодиод красного цвета (Red LED): данный светодиод сигнализирует о том, что на модуль подано питание.
Светодиод синего цвета (Blue LED): данный светодиод подключен к контакту GPIO модуля. Его можно включать/выключать в программе. На некоторых клонированных китайских модулях ESP32 этот светодиод может быть также красного цвета.
Контакты ввода/вывода (I/O pins): данные контакты могут выполнять функции цифрового ввода/вывода, аналогового ввода/вывода, ШИМ (PWM), IIC, SPI, ЦАП (DAC) и многое. Более подробно про назначение данных контактов вы можете прочитать в даташите на модуль ESP32.
ESP-WROOM-32: "сердце" модуля ESP32. Это 32-битный микропроцессор, разработанный компанией Espressif systems.
Основные технические характеристики модуля ESP32 представлены в следующей таблице.
Число ядер процессора | 2 |
Архитектура | 32 бита |
Wi-Fi | есть |
Bluetooth | есть |
RAM (ОЗУ) | 512 KB |
FLASH | 16 MB |
Число контактов | 30-38 (в зависимости от модификации модуля) |
Коммуникационные протоколы | SPI, IIC, I2S, UART, CAN |
Каналы АЦП | 18 |
Разрешение АЦП | 12 бит |
Каналы ЦАП | 2 |
Разрешение ЦАП | 8 бит |
Далее перейдем к подготовке среды Arduino IDE к работе с модулем.
Удаление старых версий плат ESP32 из Arduino IDE
Если вы подключаете свой модуль ESP32 к Arduino IDE, то данный пункт статьи можно полностью пропустить. Если же вы ранее добавляли поддержку плат ESP32 в Arduino IDE с помощью инструмента GIT (к примеру, как описано в данной статье), то вам необходимо будет удалить каталог Espresiff из каталога Arduino. Пользователи операционной системы Windows могут найти этот каталог по адресу Documents/Arduino/hardware. Удалите данный каталог Espresiff прежде чем переходить к выполнению других пунктов статьи.
Подготовка Arduino IDE к программированию ESP32
Шаг 1. Скачайте дистрибутив Arduino IDE по адресу https://www.arduino.cc/en/Main/Software, после чего установите его. Если у вас Arduino IDE уже установлена, то убедитесь что у вас свежая ее версия.
Шаг 2. Откройте Arduino IDE и в ней выберите пункт меню Files -> Preferences, в открывшемся окне найдите поле “Additional Boards Manager URLs:” (выделено красной рамкой на рисунке ниже).
Шаг 3. Это поле может быть пустым или оно может содержать некоторую информация если до этого вы в Arduino IDE работали с модулем ESP8266.
Если это поле пустое, то просто добавьте в него строку: https://dl.espressif.com/dl/package_esp32_index.json.
Если это поле уже содержит другой URL, то добавьте в него наш необходимый URL, разделив эти два URL запятой (,) – на представленном ниже рисунке как раз показан этот случай.
1 2 |
https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json |
После этого нажмите OK.
Шаг 4. Выберите пункт меню Tools -> Boards -> Board Managers чтобы открыть окно менеджера плат (Board manager), в открывшемся окне выполните поиск ESP32. Если в предыдущем окне был вставлен правильный URL, то на экране вы должны увидеть картину, показанную на рисунке ниже, после этого нажмите на кнопку Install и ваша плата (ESP32) будет установлена в Arduino IDE.
Шаг 5. Убедитесь в том, что у вас есть активное интернет соединение и подождите пока установка полностью завершится. Этот процесс может занять до нескольких минут и зависит от скорости вашего интернет соединения.
Теперь наша Arduino IDE подготовлена к программированию модуля ESP32.
Программирование ESP32 с помощью Arduino IDE
Шаг 1. Подключите ваш модуль ESP32 к компьютеру с помощью кабеля micro-USB. Убедитесь в том, что на модуле загорится светодиод красного цвета – это будет свидетельствовать об успешной подаче питания на модуль.
Шаг 2. Откройте Arduino IDE, в ней выберите пункт меню Tools -> Boards и в нем выберите плату ESP32Dev как показано на следующем рисунке.
Шаг 3. Откройте диспетчер устройств в Windows и в нем посмотрите COM порт, к которому подключен модуль ESP32. В нашем случае, как показано на следующем рисунке, он подключен к порту COM 8.
Шаг 4. Вернитесь снова в Arduino IDE и в ней в пункте меню Tools -> Port выберите COM порт, к которому подключен модуль ESP32. После этого вы должны увидеть как в правом нижнем углу появится информация о том, с каким COM портом вы работаете.
Шаг 5. Загрузите в модуль программу для мигания светодиодом (Blink Program) чтобы убедиться в том, что ваши программы будут корректно загружаться из Arduino IDE в ваш модуль ESP32. После загрузки данной программы встроенный светодиод модуля должен начать мигать с интервалом 1 секунда.
1 2 3 4 5 6 7 8 9 10 |
int LED_BUILTIN = 2; void setup() { pinMode (LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); } |
Как видите, эта программа мигания светодиодом для модуля ESP32 очень похожа на аналогичную программу для платы Arduino, отличие заключается лишь в том, что в плате Arduino ее встроенный светодиод подключен к контакту 13, а в модуле ESP32 он подключен к контакту 2.
Шаг 6. Для загрузки кода программы в модуль нажмите на кнопку upload в Arduino IDE, после этого вы в ее консоли должны увидеть процесс загрузки программы в модуль как показано на следующем рисунке – это будет свидетельствовать о том, что все идет нормально.
Примечание: для некоторых модулей во время загрузки программы необходимо удерживать кнопку загрузки (Boot button) чтобы процесс загрузки прошел без ошибок.
Также вы можете загрузить в модуль ESP32 другие примеры программ и посмотреть на их работу. Эти примеры программ вы можете найти в Arduino IDE в пункте меню File -> Example -> ESP32.
Исходный код программы (скетча)
1 2 3 4 5 6 7 8 9 10 |
int LED_BUILTIN = 2; void setup() { pinMode (LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); } |
Лучше использовать arduino ota
Почему вы так думаете?
Добрый день!
Будет ли работать ESP32 Arduino IDE с Windows 7, 32 bits?
Спасибо
Добрый вечер.
На ее официальном сайте (https://www.arduino.cc/en/software) есть информация что на Windows 7 она работает, также она работает на 32-битной Linux. Но работает ли она на 32-битной Windows 7, честно говоря, не знаю и лично не пробовал. Но почему бы вам не попробовать ее скачать и поставить? Она же сравнительно немного весит