ESP32-WROOM-32U

660 руб.

1 в наличии

Артикул: 146 Категория:

Описание

Модуль ESP-WROOM-32 (ESP-32) WiFi+Bluetooth. Представляет собой двух-ядерный процессор, оснащенный связью WiFi и Bluetooth. ESP32 Может быть использован как внешний модуль связи так и как самостоятельный процессорный модуль.

 

WiFi модули ESP8266 за время своего существования стали поистине народными и получили широкое распространение в любительской разработке устройств Интернета вещей. Но жизнь не стоит на месте и компания-разработчик Espressif выпускает новый микроконтроллер – ESP32. ESP32 получил значительный прирост в производительности, по сравнению c ESP8266. Вычислительная мощность возросла в четыре раза. У ESP32 есть два ядра, каждый из которых работает на частоте 160 МГц (ESP8266 имеет 1 ядро, работающее на частоте 80 МГц). Контроллер имеет 520 Кб оперативной памяти, 448 Кб flash-памяти. Поддерживает не только Wi-Fi (802.11n с максимальной скоростью 150 Мбит в секунду), но и Bluetooth 4.2 BR/EDR и Low Energy.

Основным недостатком плат ESP8266 было очень малое количество контактов, в ESP32 этот недостаток устранен, выводов гораздо больше и они многофункциональные, блок ввода-вывода имеет специальный мультиплексор, который позволяет назначать различные функции на один вывод микроконтроллера. Значительно увеличено количество аналоговых входов (18 АЦП (12-бит) и 2 ЦАП (8-бит)), поддержка PWM на всех контактах, 10 портов в режиме сенсорных кнопок. ESP32 имеет три UART, два I2C, четыре SPI, два I2S. Также имеется инфракрасный контроллер (прием-передача), шина CAN 2.0. Еще есть датчик температуры и датчик Холла. Для шифрования при передаче данных по WiFi в ESP32 имеются криптографические модули AES и SHA.

wifi-module-esp-32-01.jpg

 

Рисунок 1. Блок-схема периферии ESP32

Для удобной работы с микроконтроллером ESP32 был выпущен модуль WROOM-32 (рис. 2, 3), и теперь появилось множество отладочных плат на этом модуле, например FireBeetle от DFRobot (см. рис. 4, 5).

wifi-module-esp-32-02.jpg wifi-module-esp-32-03.jpg

 

Рисунок 2,3. Модуль ESP-WROOM32

wifi-module-esp-32-04.jpg wifi-module-esp-32-05.jpg

 

Рисунок 4,5. Отладочная плата FireBeetle от DFRobot на ESP-WROOM32

Немаловажный вопрос в свете использования модулей для устройств Интернета вещей – энергопотребление. Питание модуля Максимальный ток потребления в режиме передачи WiFi или Bluetooth 160-260 мА, без включенных WiFi или Bluetooth – 20 мА, в спящем режиме – 10 мкА.


 

Установка программного обеспечения

 

 

Изначально модули ESP32, как и ESP8266,  поставляется с прошивкой, позволяющей работать с этим микроконтроллером с помощью AT-команд. Но данный метод нас не устраивает. Будем программировать нашу плату в Arduino IDE. Для этого скачиваем ESP32 CORE для Arduino IDE с сайта https://github.com/espressif/arduino-esp32 (zip-архив) и распаковываем его в папку C:Program FilesArduinohardwareespressif. Заходим в Arduino IDE и видим, что в панели инструментов появились платы ESP32 (рис. 6).

wifi-module-esp-32-06.jpg

 

Рисунок 6. Плата ESP32 в списке плат в Arduino IDE

Но в списке портов платы нет. Необходимо установить драйвер. Заходим по ссылке https://git.oschina.net/dfrobot/FireBeetle-ESP32/raw/master/FireBeetle-ESP32.inf и копируем содержимое страницы в файл FireBeetle-ESP32.inf. Затем в Диспетчере устройств (Прочие устройства) правой кнопкой выбираем плату FireBeetle-ESP32 и нажимаем Обновить драйверы à Выполнить поиск драйверов на этом компьютере и указываем папку, где сохранен файл FireBeetle-ESP32.inf. Подтверждаем установку и плата FireBeetle-ESP32 появляется в списке COM-портов (рис. 7).

wifi-module-esp-32-07.jpg

 

Рисунок 7. Плата FireBeetle-ESP32 в Диспетчере устройств (драйвер установлен).

Теперь и в Arduino IDE появляется данный порт. Плата готова к загрузке скетчей.

И список библиотек, поддерживаемых на данный момент (рис. 8).

wifi-module-esp-32-08.jpg

 

Рисунок 8. Список библиотек для ESP32 в Arduino IDE


Пример использования wifi модуля ESP8266

Попробуем подключить плату ESP32 к WiFi точке доступа. Загружаем на плату скетч из листинга 1.

 

Листинг 1

#include 
// выставите свои данные для точки доступа
const char* passwifi = "************";
const char* ssidwifi = "*********";
void setup()
{
Serial.begin(115200);
delay(10);
// Коннект к точке доступа
Serial.print("Connecting to ");
Serial.println(ssidwifi);
WiFi.begin(ssidwifi, passwifi);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(1000);
}
Serial.print("WiFi connect ok!");
Serial.print("Your IP address is ");
Serial.println(WiFi.localIP());
}
void loop(){
;
}

Но компиляция не проходит (см. рис. 9)!!! Не находит xtensa-esp32elf.

wifi-module-esp-32-09.jpg

 

Рисунок 9. Ошибка компиляции скетча для ESP32

Заходим в папку FilesArduinohardwareespressifesp32 ools и запускаем файл get.exe(рис. 10).

wifi-module-esp-32-10.jpg

 

Рисунок 10. Загрузка и установка xtensa-esp32-elf

Теперь компиляция и загрузка скетча на плату проходит успешно (рис. 11).

wifi-module-esp-32-11.jpg

 

Рисунок 11. Компиляция и загрузка скетча на плату ESP32

Открываем монитор последовательного порта и видим, что подключение платы ESP32 к сети WiFi успешно (рис. 12).

wifi-module-esp-32-12.jpg

 

Рисунок 12. Работа скетча подключения платы ESP32 к WiFi


Часто задаваемые вопросы FAQ

1. В Arduino IDE не видна плата ESP32

  • Установите ESP32 CORE для Arduino IDE согласно инструкции

2. В Arduino IDE в списке портов нет подключенной платы ESP32

  • Установите драйвер для вашей платы ESP32

3. Компиляция скетча проходит с ошибкой “Cannot run program…”

  • Запустите файл get.exe в папке FilesArduinohardwareespressifesp32 ools для скачивания и установки необходимого программного обеспечения.