Модули и микросхемы на основе чипа ESP32 представляют собой недорогие устройства с расширенным функционалом, востребованным в построении систем с минимальным энергопотреблением. Двухпроцессорный микроконтроллер с интегрированным Wi-Fi и Bluetooth пришёл на смену одноядерному ESP8266 и быстро стал лидером в самостоятельных проектах IoT.
Чипы, модули и платы ESP32
Для удобства использования контроллера SoC ESP32 производители предлагают несколько модификаций самого чипа, модули с готовой периферией и платы с предустановленным модулем, интерфейсом USB, стабилизатором питания, поддержкой Ethernet. Последние особенно удобны в реализации самостоятельных проектов. Основа всех устройств – это чип ESP32 от китайской компании Espressif Systems, которая была автором и знаменитого предшественника.
Чипы ESP32
Datasheet от компании производителя включает следующие модификации чипов на кристалле:
- - ESP32-D0WD-V3 – доработанная версия базового чипа SoC, вышедшая под названием «ECO V3». Исправлены некоторые аппаратные багги.
- - ESP32-D0WDQ6-V3 – чип с расширенными функциями за счёт добавления 2 МБ встроенной PSRAM.
- - ESP32-D0WD – базовая версия с двухъядерным процессором, которая сейчас уже снята с производства.
- - ESP32-D0WDQ6 – самый первый чип на 2 ядра 600 MIPS и 240 МГц.
- - ESP32-D2WD – модель с двумя процессорами, но сниженной мощностью в малом корпусе. Частота 160 МГц, встроенная память 2 Мбайт.
- - ESP32-S0WD – одно ядро, работа на частоте 160 МГц, без встроенной Flash-памяти. Используется в проектах, где в приоритете не быстродействие, а энергосбережение.
- - ESP32-U4WDH – миниатюрный чип с частотой 160 МГц с 28 выводами GPIO.
Модули
Модуль – это SoC ESP32 с необходимой периферией. Выпускается под металлическим экраном с соответствующей маркировкой, которая отражает его конструктивные особенности. Есть три серии модулей на базе разных чипов ESP32:
- - ESP32-WROOM с базовым ESP32-D0WD и классическим функционалом – WiFi, 2 вида Bluetooth.
- - ESP32-WROVER – габаритный модуль с дополнительной памятью SPIRAM для IoT-задач и работы с видео.
- - Серия ESP32-MINI на ESP32-U4WDH – отличается небольшими размерами, малым энергопотреблением. Предназначены для простых девайсов на беспроводной связи.
Буквенные обозначения в конце маркировки модуля показывают тип антенны:
- - D или E - печатная антенна. Для устройств, которые будут работать в зоне устойчивого сигнала.
- - U или I – необходимо подключить внешнюю антенну через специальный разъём U.FL/IPEX (для чего её приобретают отдельно). Для проектов, реализуемых на объектах, где слабый Wi-Fi.
Платы
Плата – это модуль ESP32, стабилизатор питания, USB-TTL, кнопки программирования и удобные выводы, чтобы работать без специальных инструментов.
Есть много разных вариантов. Как стандартную можно рассмотреть ESP32 DevKit V4 на базе WROOM-32. Плата оснащена светодиодом. Особенность в том, что не все 34 GPIO, которые имеет модуль, можно задействовать в разработке. Часть из них забирается на функции самой платы. При покупке на это нужно обратить внимание. Распиновка даётся на схеме в документации.
Особенности линейки, отличие от ESP8266
Многофункциональный ESP32 отличается большей производительностью, обеспечивает отличную скорость беспроводной связи. Стоит он тоже почти вдвое дороже своего предшественника.
Что есть в микроконтроллере SoC ESP32:
- - Два 32-битных процессора, построенных по Гарвардской архитектуре. Называются ядра «PRO CPU» и «APP CPU», что говорит не о полной их симметричности. Однако по факту, в большинстве случаев, ядра являются взаимозаменяемыми. Работают на частоте 80, 160 или 240 МГц. При любой другой пользовательской настройке система сбросит частоту до базовых 80 МГц запуска.
- - Дополнительный сопроцессор сверхнизкого потребления ULP. Обеспечивает работу чипа в спящем режиме. Функционально способен будить основные ядра по заданным контрольным значениям для датчиков.
- - Память. Встроенная 520 КБ оперативки RAM и 448 КБ нестираемой Flash-памяти, вследствие чего чип нельзя «убить» прошивкой. Плюс RTC таймер с 16 КБ ОЗУ (по 8 КБ медленной и быстрой памяти, запитанной в спящем режиме) и подключение внешней Flash-памяти на 4-8-16 МБ с возможностью аппаратного шифрования на базе стандарта AES.
- - Встроенный стабилизатор питания. Энергопотребление 2,2-3,6 В.
- - Высокоскоростной WiFi (до 150 Мбит/с) с поддержкой режимов клиент, Sniffer, точка доступа, Wi-Fi Direct. Два Bluetooth – классик и LE. Работу беспроводной связи обеспечивает кварцевый генератор 40 МГц.
- - Сенсорные датчики, датчик Холла, температуры, инфракрасный контроллер для дистанционного управления, выход на Ethernet-контроллер.
- - 48 контактов ввода/вывода, разделённых на 4 группы по функционалу. Есть 18 каналов АЦП, по 3 DMA-контроллера SPI и UART, 16 ШИМ, 2 I2C, 10 GRIO портов и 2 ЦАП вывода.
Энергопотребление зависит от режима работы, которых есть всего 5. Максимально затратна передача WiFi (160-260 мА). Минимальные значения в спящем режиме от 0,8 мА до 10 мкА.
Программирование устройств на основе ESP32
Компания-разработчик выпустила среду разработки ESP32 SDK для IDF (Фреймворк для Интернета вещей). Есть в свободном доступе. Можно скачать с GitHub.
На этом же ресурсе есть ESP32 CORE для Arduino IDE тем, кто привык работать на этой платформе. Остаётся распаковать архив, установив его на диск C в папку /Documents/Arduino/hardware/espressif/esp32.
Модуль к компьютеру подключается через USB-кабель (потребуется драйвер конвертора USB to UART).
Также можно использовать:
- - Espruino.
- - PlatformIO.
- - Pymakr IDE.
Расширенные возможности ESP32, удобный размер, низкая цена, простота в использовании и усиленная защита данных пользователя делает устройство незаменимым в реализации IoT-проектов, разработке носимых девайсов с Wi-Fi или Bluetooth.