IoT-платформа ESP32 DevKit v1 на базе микроконтроллера ESP-WROOM-32 [обновлено 01.12.2021]

На базе IoT-платформы ESP32 DevKit v1 можно разрабатывать проекты, где требуется беспроводная передача данных по Wi-Fi и/или Bluetooth. Микроконтроллеры серии ESP32 от компании Espressif достаточно быстро завоевали популярность из-за отличных характеристик и более низкой ценой по сравнению с существующими решениями, отличная замена устаревшей платформы Arduino Uno. На базе модуля ESP32 реализуются проекты:

  • Web-сервер и Web-клиент для обработки управляющих запросов;
  • Беспроводной музыкальный проигрыватель интернет-радио и музыкального стриминга;
  • Беспроводная метеостанция с различными датчиками и сенсорным управлением;
  • Робот с дистанционным управлением по Wi-Fi или Bluetooth BLE;
  • И многие другие.

Архитектура

Платформа для разработки ESP32 DevKit основана на модуле ESP32-WROOM с чипом ESP32-D0WDQ6 от Espressif.
ESP32 DevKit v1 ESP-WROOM-32

Вид сверху и снизу

ESP32 DevKit v1 ESP-WROOM-32

Элементы платы

ESP32 DevKit v1 ESP-WROOM-32

Функциональная схема микроконтроллера

ESP32 DevKit v1 ESP-WROOM-32

ESP32 DevKit на 36 контактов

Модули ESP32 DevKit бывают двух видов на 30 и 36 контактов. Разница заключается в выведенных контактах интегрированной flash-памяти на SPI интерфейсе.
ESP32 DevKit v1 ESP-WROOM-32

Чип ESP32-D0WDQ6

Чип ESP32-D0WDQ6 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле), в которую входит 2-ядерный 32-битный процессор Tensilica Xtensa LX6 с блоками памяти ROM на 448 КБ и SRAM на 520 КБ. В кристалле расположены беспроводные модули Wi-Fi/Bluetooth, датчик Холла и сенсор температуры.

Модуль ESP32-WROOM

ESP32-WROOM — модуль с чипом ESP32-D0WDQ6, Flash-памятью на 4 МБ и всей необходимой обвязкой, которая спрятана под металлический корпус. Контакты SCK/CLK, SDO/SD0, SDI/SD1, SHD/SD2, SWP/SD3 и SCS/CMD, а именно, GPIO6 to GPIO11 подключены к интегрированной flash-памяти SPI, встроенной в модуль, и не рекомендуется ее использовать для других целей.

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

USB-UART преобразователь

Преобразователь USB-UART на микросхеме CP2102 обеспечивает связь модуля ESP32-WROOM с USB-портом компьютера. При подключении к ПК — платформа ESP32 DevKit определяется как виртуальный COM-порт.

Разъём micro-USB

Разъём micro-USB предназначен для прошивки и питания платформы ESP32 DevKit с помощью компьютера.

Светодиодная индикация

Название светодиода Назначение
ON Индикатор питания платформы.
LED Пользовательский светодиод на 2 контакте микроконтроллера. При задании значения «высокого уровня» светодиод включается, при «низком» – выключается.

Кнопка EN

Кнопка предназначена для ручного сброса программы — аналог кнопки RESET обычного компьютера.

Кнопка BOOT

Кнопка служит для ручного перевода модуля в режим прошивки.

Регулятор напряжения

Линейный понижающий регулятор напряжение AMS1117-3.3 обеспечивает питание микроконтроллера. Выходное напряжение 3,3 вольта с максимальным током 1 А.

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

  • Модуль: ESP32-WROOM с чипом ESP32-D0WDQ6
  • Частота беспроводной передачи: 2,4 ГГц
  • Стандарт Wi-Fi: 802.11b/g/n
  • Стандарт Bluetooth: BLE v4.2 BR/EDR
  • Тактовая частота: до 240 МГц
  • Flash-память: 448 КБ
  • Внешняя Flash-память: 4 МБ
  • SRAM-память: 520 КБ
  • Пинов общего назначения: 25 ввода-вывода (GPIO) и 4 ввода (GPI)
  • Контактов с АЦП: 15
  • Разрядность АЦП: 12 бит
  • Контактов с ЦАП: 2
  • Разрядность ЦАП: 8 бит
  • Контактов с ШИМ: 21 (16 каналов)
  • Разрядность ШИМ: 16 бит
  • Контактов с ёмкостным сенсором: 8
  • Пинов с прерываниями: 25
  • Аппаратные интерфейсы: 3×SPI, 3×UART, 2×I²C и 2×I²S
  • Напряжение логических уровней: 3,3 В
  • Максимальный ток с пина или на пин: 12 мА
  • Максимальный выходной ток пина 3V3: 1 А
  • Входное напряжение через пин Vin: 5–14 В
  • Габариты: 51×28 мм

Распиновка

ESP32 DevKit v1 ESP-WROOM-32

Альтернативная схема распиновки от vishnumaiea.in.
ESP32 DevKit v1 ESP-WROOM-32

Контакты питания

  • VIN: Пин для подключения внешнего источника напряжения в диапазоне от 5 до 14 вольт. Так же можно подключить стандартный аккумулятор на 3.7V, которые используют в телефонах и планшетах (проверенно, точно работает).
  • 3V3: Пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 1 А. Регулятор обеспечивает питание модуля ESP32-WROOM.
  • GND: Выводы земли.

Порты ввода/вывода

  • Цифровые входы/выходы: 21 пин 1512192123252732 и 33
    Контакты ввода-вывода общего назначения. Пины могут быть настроены на вход или на выход. Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА.
  • Цифровые входы: 4 пина 3436 и 39
    Контакты ввода общего назначения. Могут быть настроены только на вход.
  • ШИМ: все пины ввода-вывода
    Позволяет выводить аналоговые значения в виде ШИМ-сигнала с разрядность 16 бит. Максимальное количество каналов 16.
  • АЦП: 15 пинов 24121525273236 и 39
    Позволяет представить аналоговое напряжение в цифровом виде с разрядностью 12 бит.
  • ЦАП: пины 25(DAC1) и 26(DAC2)
    Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 8-битные уровни напряжения. Выводы могут использоваться для аудио-выхода.

В отличие от большинства плат Arduino, родным напряжением ESP32 DevKit является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Более высокое напряжение может повредить микроконтроллер!

Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.

Интерфейсы

Каждый пин ввода-вывода платформы поддерживает аппаратные интерфейсы.

Интерфейс Количество Назначение
I²C 2 Используется для общения с периферией по последовательному интерфейсу «I²C».
SPI 3 Для общения с периферией по последовательному интерфейсу «SPI».
UART/Serial 3 Для общения с периферией по интерфейсу «UART».
I²S 2 Используется для передачи и приёма цифрового звука с другими аудио устройствами.

Контакты только для режима работы Input

Контакты GPIO с 34 по 39 предназначены только для режима работы на вход (Input). Эти выводы не имеют внутренних подтягивающих или понижающих резисторов.

Контакты с поддержкой Pull Up

  • GPIO14
  • GPIO16
  • GPIO17
  • GPIO18
  • GPIO19
  • GPIO21
  • GPIO22
  • GPIO23

Контакты без поддержки Pull Up

  • GPIO13
  • GPIO25
  • GPIO26
  • GPIO27
  • GPIO32
  • GPIO33

Шина I2C

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

  • GPIO 21 (SDA)
  • GPIO 22 (SCL)

Программирование

Поддерживается разработка с помощью Arduino IDE на языке C++. Но плата будет использоваться для разработки приложений на C# на базе платформы .NET nanoFramework.

Покупка

Модули ESP-WROOM можно купить Aliexpress. Модуль ESP32 DevKit v1 на 30 контактов был приобретен у продавца SAMIORE Store, лот ESP-32S ESP-WROOM-32 ESP32 ESP-32 Bluetooth and WIFI Dual Core CPU with Low Power Consumption MCU ESP-32, позиция ESP-32 30PIN, 1 мая 2020 года за $3.70, текущая (на 16.10.2021) стоимость без учета доставки составляет $3.65.

Отличия esp32 от esp8266

Платформы ESP8266 и ESP32 произведены одной компанией Espressif. Микроконтроллер ESP32 отличается от своего предшественника улучшенными характеристиками, увеличенным функционалом и большим объемом памяти. Стоимость нового устройства дороже примерно в 2 раза.

Важным преимуществом ESP32 является более быстрый Wi-Fi и Bluetooth. В ESP32 установлен более мощный процессор, позволяющий реализовывать сложные проекты. Эта платформа подходит для приложений, в которых требуется интернет или новые интерфейсы. Для более дешевых разработок используется ESP8266.

Объем памяти у нового устройства ESP32 увеличен – 512 Кб против 160 Кб ESP8266. Также ESP32 отличается большим количеством выводов GRIO. К нескольким контактам на ESP32 прикреплены емкостные сенсорные датчики и датчик температуры. На обоих устройствах контакты GRIO можно использовать по-разному. ESP32 имеет 18 12-битных АЦП каналов. У его предшественника есть всего 1 10-битный вывод АЦП.

Мощность процессора значительно влияет на скорость работы. Модуль ESP32 показывает рекордную производительность по сравнению с предшественником ESP8266. Загрузка страницы с длинным скетчем и множеством графики занимает секунды.

Все схемы и datasheet доступны в репозитории GitHub devdotnetorg/ESP32-WROOM-32.

Литература

  1. ESP32 WROOM DevKit v1: распиновка, схема подключения и программирование — Амперка/a>
  2. Микроконтроллер ESP32 и проекты Arduino — ARDUINOMASTER
  3. Урок 1. Общие сведения о системе ESP32. Плата DevKit V1. — ЭДУАРД. mypractic.ru
  4. ESP32 Pinout Reference : GPIO Overview & Features — uPesy Documentation
  5. ESP32 Pinout Reference: Which GPIO pins should you use? — RandomNerdTutorials.com
  6. ESP32 DEVKIT V1 DOIT — EspaceRM

Вам также может понравиться

About the Author: Anton

Programistik