ESP32 WROOM DevKit v1: распиновка, схема подключения и программирование
ESP32 DevKit — это универсальная платформа для разработки IoT-решений.
Программирование на C++
После выполненных действий плата ESP32 DevKit готова к программированию через Arduino IDE.
Подробности о функциях и методах работы ESP32 на языке C++ читайте на ESP32 Arduino Core’s.
Примеры работы для Arduino
ESP32 может подключиться к Wi-Fi сети, создать собственную точку доступа, представляться сервером и клиентом, формировать GET и POST запросы. Также микроконтроллер имеет два АЦП и датчик Хола.
Пример WebClient
После подключения к Wi-Fi микроконтроллер напишет в COM порт ответ от сервера.
Пример Analog WebServer
ESP32 имеет 15 аналоговых пинов. Выведем через веб-интерфейс значения с 36, 39 и 34 пина.
Когда микроконтроллер подключится к Wi-Fi сети, в монитор порта будет выведен IP-адрес веб-страницы с данными. Получить к ней доступ можно из локальной сети, перейдя по указанному IP-адресу. 
Пример blink WebServer
Создадим WEB-сервер на порту 80. С помощью веб-интерфейса будем мигать светодиодами на 16 и 17 пинах.
При переходе по IP-адресу из монитора порта, выводится веб-страница с кнопками.
Программирование на JavaScript
Подробнее о функциях и методах работы ESP32 на языке JavaScript читайте документацию на Espruino.
Элементы платы

Мозг платформы
Платформа для разработки ESP32 DevKit основана на модуле ESP32-WROOM с чипом ESP32-D0WDQ6 от Espressif.
Чип 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 МБ и всей необходимой обвязкой, которые спрятаны под металлическим кожухом. Pins SCK/CLK, SDO/SD0, SDI/SD1, SHD/SD2, SWP/SD3 and SCS/CMD, namely, GPIO6 to GPIO11 are connected to the integrated SPI flash integrated on the module and are not recommended for other uses.
Рядом с кожухом расположена миниатюрная антенна из дорожки на верхнем слое печатной платы в виде змейки. Металлический кожух экранирует компоненты модуля и тем самым улучшает электромагнитные свойства.
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 А.
Распиновка

Пины питания
Порты ввода/вывода
В отличие от большинства плат Arduino, родным напряжением ESP32 DevKit является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Более высокое напряжение может повредить микроконтроллер!
Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.
Интерфейсы
Каждый пин ввода-вывода платформы поддерживает аппаратные интерфейсы.
Уроки ESP32: подключение к Wi-Fi сети
Автор DFRobot,
20 октября, 2018 в МК для начинающих
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.
Последние посетители 0 пользователей онлайн
Сообщения
Похожий контент
Помогите пожалуйста разобраться с питанием
1) надо ли тут понижайка/ повышайка DC-DC?
2) как предохранить плату от помех при нагрузке.
Скетч прошивки тоже могу выложит, он максимально простой.
Также печатную плату тоже выложу как доделаю схему.
Необходимые материалы
ESP32
Электронный замок KOB
Реле
Сенсорный дисплей STONE STWI070WT-01
Модуль MFRC522
Реализованная функция
1. регистрация карты.
2. регистрация имени пользователя и пароля.
3. проведение картой для разблокировки электронного замка.
4. Имя пользователя и пароль для разблокировки электронного замка.
Схема подключения
Разработка графического интерфейса пользователя
ESP32 Wi-Fi модуль. Подключение
ESP32 Wi-Fi модуль. Подключение
Сегодня я хотел-бы рассказать про ESP32.
ESP-WROOM32 это Wi-Fi и Bluetooth модуль на одной плате, который внешне похож на старый ESP8266, но отличается тем что он более мощный и у него имеется больше количество портов ввода вывода, а также пониженным энергопотреблением.
Перед вами модуль ESP32 на отладочной плате:
Подключение.
Подключается ESP32 к компьютеру через обычный Android USB шнур (которым заряжается телефон).
После того как вы подключили W-Fi модуль, у вас появится сеть, которая будет называться как-то так, цифры могут отличаться:
ESP_B3FFA6
Найденная сеть esp_b3ffa6
При подключении модуля к компьютеру оборудование может быть не опознано, т.е. может не установится драйвер, тогда переходим по ссылке на GitHub:
Windows — https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/windows.md
Mac — https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/mac.md
Debian / Ubuntu Linux — https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/debian_ubuntu.md
У меня компьютер c Windows, поэтому я рассказываю именно о Windows.
Эти ссылки — это инструкции по установке, правда на английском. Кому интересно почитайте.
Первый пункт этой инструкции – скачать новейшую версию Arduino:
Переходим на сайт Arduino — https://www.arduino.cc/en/Main/Software и нажимаем Windows installer (или другое под вашу операционную систему).
Страница скачивания установщика Arduino IDE
Скачиваем и благодарим
Возвращаемся на GitHub. Вторым пунктом идет скачивание и установка Git с сайта https://git-scm.com/download, снова выбираем необходимую операционную систему.
Страница скачивания установщика Git
После скачивания файла, запускаем его с Правами администратора (Правой кнопкой мыши по файлу – Запуск от имени администратора).
Далее установка:
На первой странице жмем далее, по-ихнему Next
На следующей оставляем все по умолчанию, опять далее
Ставим первую галочку (по желанию) — это добавление на рабочий стол иконок.
Ставим первую галочку (по желанию) — это добавление на рабочий стол иконок.
Далее в выпадающем окне выбираем текстовый редактор который у вас будет использоваться для редактирования текстовых файлов, у меня Notepad++, поэтому я выбираю USE Notepad++ as Git’s default editor жмем Next.
Выбор текстового редактора Notepad++
Если у вас нету Notepad++, то скачать его можно тут:
https://notepad-plus-plus.org/download/v7.5.8.html
Далее, в остальных окошках везде: Next.
Страница с кнопкой Install
После окончания установки убираем галочку с нижней и нажимаем Finish.
Видим один ярлык Git Bash, но сейчас он нам не нужен.
Заходим в папку, в которую установился Git.
Скорее всего это C:\Program Files\Git
Заходим там в папку cmd и открываем git-gui
Выбираем Clone Existing Repository (Клонировать Существующий Репозиторий).
В Source Location нужно вставить ссылку https://github.com/espressif/arduino-esp32.git, перед тем как делать это, обязательно переведите раскладку клавиатуры на английский язык.
А в Target Directory вставляем путь (C:/Users/Ваш_пользователь/Documents/Arduino/hardware/espressif/esp32
У меня путь выглядит так C:/Users/Max/Documents/Arduino/hardware/espressif/esp32
В Source Location нужно вставить ссылку
Жмем Clone и ждем окончания работы программы.
Скачивание файлов с GitHub
Окно Git Gui (esp32)
Когда появится окно Git Gui (esp32) открываем путь, который вы вписывали в Target Directory и переходим в папку tools (Получается вот так C:\Users\Max\Documents\Arduino\hardware\espressif\esp32\tools), там запускаем файл get.exe, ждем пока скачаются и установятся необходимые файлы.
Get.exe скачивает файлы
После того как get.exe закончит свою работу, подключаем наш ESP32 к компьютеру, теперь драйвера должны корректно установиться. В диспетчере устройств у меня появится Silicon Labs CP210x USB to UART Bridge.
Запускаем Arduino. Во вкладке Инструменты – Плата выбираем ESP32 Dev Module.
Дальше в тех же Инструментах выставляем скорость — Upload Speed 115 200.
Далее выбираем Файл – Примеры – WiFi – WiFiScan и нажимая на модуле ESP32 кнопку BOOT, далее нажимаем загрузить скетч.
Выбор примера WiFiScan
ESP32: Wi-Fi
Для работы с Wi-Fi понадобится встроенная библиотека WiFi.h (исходники). В большинстве примеров вам надо знать имя сети и пароль от него. После окончания работы желательно вызывать метод WiFi.disconnect(true);.
Базовый минимальный пример
Сначала рассмотрим базовый пример для общего понимания. Все пояснения в комментариях.
Теперь можно писать более сложные примеры.
Получить IP-адреса
В пассивном режиме без входа в сеть вы получите IP-адрес, равный 0.0.0.0. Если нужно получить реальный адрес, то скетч нужно переписать. Добавим возможность входа в сеть, используя учётные данные.
Теперь вы получите реальный IP-адрес. Узнав адрес через WiFi.localIP(), вы можете в командной строке ввести команду ping ESP_ADDRESS (подставьте ваш адрес), чтобы убедиться, что устройство находится в сети. Пригодится для отладки примеров.
Метод WiFi.getHostname() возвращает имя платы espressif. По идее по этому имени тоже можно обращаться через команду ping espressif, но у меня этот вариант не заработал.
Также привёл другие вызовы функций, которые встречаются в библиотеке.
Другой вариант получения IP-адреса через лямбда-функции.
Ещё один пример получения IP-адреса разными способами. На этот раз обойдёмся без лямбда-функции. Как и в предыдущем примере мы отслеживаем событие SYSTEM_EVENT_STA_GOT_IP и при его наступлении вычисляем адрес.
Узнать настройки Wi-Fi модуля
Для скетча нам не понадобится вводить пароль от Wi-Fi, достаточно просто включить сам Wi-Fi на плате и узнать его Mac-адрес, запустить диагностику, узнать локальный адрес.
WiFiScan
Встроенный пример Examples/WiFi/WiFiScan служит для сканирования WiFi-сети. Выводит число найденных точек и их названия.
В скетче используются следующие функции:
Сканируем WiFi-сеть. Расширенный вариант
Чтобы просканировать текущую WiFi-сеть, нам понадобятся учётная запись для входа в неё (идентификатор и пароль). После успешного входа запускаем сканирование через функцию WiFi.scanNetworks(), которая вернёт информацию о всех точках доступа с сопутствующими свойствами.
Для удобства часть кода поместим в отдельные функции: scanNetworks() и connectToNetwork() (её можно использовать при использовании контроллера в качестве веб-клиента.
В мониторе порта выводится следующая информация (часть данных я убрал в целях безопасности).
Точка доступа
Плата ESP32 может работать как точка доступа. Для первого знакомства получим базовую информацию о точке доступа через доступные функции. Мы можем установить собственные значения для SSID и пароля (пароль можно даже не указывать, чтобы сеть была открытой).
После загрузки скетча мы получим IP-адрес платы. В настройках компьютера или смартфона должна появиться созданная точка доступа. Кстати, когда пробовал вариант с паролем, то точка доступа не создалась почему-то.
Отслеживаем момент подключения и отключения устройства к точке доступа
За соответствующие события отвечают SYSTEM_EVENT_AP_STACONNECTED и SYSTEM_EVENT_AP_STADISCONNECTED.
После загрузки скетчка в настройках телефона найдите созданную точку доступа и присоединитесь к ней. Момент подключения будет обнаружен и в мониторе порта появится сообщение о соединении.
Mac-адрес для точки доступа
В первом примере с получением настроек модуля мы вычисляли Mac-адрес через функцию WiFi.macAddress. Существует также функция WiFi.softAPmacAddress(), когда плата работает в режиме точки доступа.
Включаем поддержку IPv6
Мы можем включить поддержку IPv6 и получить адрес в этом формате. Включение поддержки IPv6 происходит при помощи функции softAPenableIpV6(). Вызовем функцию при событии SYSTEM_EVENT_AP_START, когда активируется точка доступа.
После включения поддержки в событии SYSTEM_EVENT_AP_STA_GOT_IP6 (получение адреса) узнаём IPv6-адрес.
Сколько устройств подключено к точке доступа
Узнать число устройств, которые в данный момент подключены к точке доступа, можно через функцию softAPgetStationNum(). После запуска скетча подключите телефон и другие устройства к точке доступа, чтобы увидеть изменения.
Как настроить точку доступа на ESP32 для веб-сервера
В сетях Wi-Fi микроконтроллер ESP32 может работать и как станция, и как точка доступа, и в обоих режимах одновременно. В этом руководстве мы покажем, как настроить ESP32 в качестве точки доступа с использованием среды программирования Arduino IDE.
В большинстве проектов мы подключали микроконтроллер ESP32 к беспроводному маршрутизатору. При этом появляется доступ к ESP32 через локальную сеть. Тогда маршрутизатор служил точкой доступа, а ESP32 был настроен как станция. А для управления микроконтроллером ESP32 необходимо было подключиться к маршрутизатору (локальной сети).
Но если вы настроите микроконтроллер ESP32 как точку доступа (как в местах общественного беспроводного доступа), вы сможете подключиться к ESP32 с помощью любого устройства с интерфейсом Wi-Fi без необходимости соединения с маршрутизатором.
Простыми словами, когда вы настраиваете ESP32 как точку доступа, вы создаёте свою собственную сеть Wi-Fi, а находящиеся поблизости устройства с интерфейсом Wi-Fi (станции) могут подсоединяться к микроконтроллеру (например, смартфон или компьютер).
Здесь мы покажем, как настроить ESP32 как точку доступа для своего проекта с веб-сервером. В этом случае вам не понадобится подключаться к маршрутизатору для управления микроконтроллером ESP32. Так как ESP32 не подключается далее к более широкой сети (в отличие от маршрутизатора), она называется мягкая точка доступа (soft Access Point).
Установка ESP32 в Arduino IDE
Для среды Arduino IDE существует дополнение, которое позволяет программировать микросхему ESP32 посредством этой среды и её языка программирования.
Код для создания точки доступа на ESP32
В этом примере мы модифицируем веб-сервер на микроконтроллере ESP32 из прошлого руководства, чтобы добавить возможность работы в качестве точки доступа. То, что мы здесь представим, должно отлично работать с любым примером, представляющим собой веб-сервер на ESP32.
Загрузите приведённый ниже код, чтобы настроить микроконтроллер ESP32 как точку доступа.





























