Что такое ESP32: Wi-Fi, Bluetooth, два ядра и GPIO
Разбираемся, что за чип лежит в основе курса и почему именно он завоевал интернет вещей.
ESP32 — это система-на-кристалле (SoC) от компании Espressif с двумя процессорными ядрами, встроенными Wi-Fi и Bluetooth и десятками программируемых выводов.
Почему именно ESP32
Для умного дома устройству нужно две вещи: уметь работать с физическим миром (читать датчик, включить реле) и выходить в сеть (отправить данные, принять команду). Многие микроконтроллеры умеют первое, но для сети к ним приходится докупать Wi-Fi-модуль. ESP32 объединяет всё в одном дешёвом чипе — отсюда его популярность. Плата стоит как чашка кофе, а умеет почти всё, что нужно для IoT.
Что внутри чипа
- Два ядра на архитектуре Xtensa, частота до 240 МГц. Одно может заниматься сетью, другое — вашей логикой.
- Wi-Fi (802.11 b/g/n) — подключение к роутеру и интернету.
- Bluetooth (Classic и BLE) — связь с телефоном, датчиками.
- GPIO — программируемые выводы (General Purpose Input/Output), к которым подключают светодиоды, кнопки, датчики, реле.
- АЦП и ЦАП — чтение аналоговых сигналов (потенциометр, датчик света) и генерация напряжения.
- Аппаратные ШИМ, I2C, SPI, UART — интерфейсы для управления и общения с периферией.
- Сенсорные пины, датчик Холла, deep sleep — для энергосбережения и спецприменений.
Карта выводов (упрощённо)
На типовой плате DevKit выводы расположены по краям. Вот фрагмент логической схемы:
ESP32 DevKit (вид сверху)
+-----------------------+
3V3 |o o| GND
EN |o o| GPIO23
GPIO36|o [ Wi-Fi/BT чип ] o| GPIO22
GPIO39|o o| GPIO1 (TX)
GPIO34|o o| GPIO3 (RX)
... |o o| ...
GND |o [ USB порт ] o| 5V
+-----------------------+Не все выводы равноценны: одни умеют только ввод, другие заняты при загрузке, третьи поддерживают АЦП или сенсор. К этому вернёмся в разделе про GPIO.
Как работает под капотом
ESP32 — это не «голый» микроконтроллер, а целая платформа. Внутри крутится FreeRTOS — операционная система реального времени. Когда вы пишете на MicroPython, прошивка использует FreeRTOS, чтобы параллельно обслуживать Wi-Fi-стек и ваш код. Поэтому, например, плата может отвечать на сетевые запросы, пока ваш цикл опрашивает датчик. Два физических ядра позволяют делать это по-настоящему параллельно.
Платы на ESP32
«ESP32» — это чип, но в магазинах продаются платы с этим чипом: ESP32 DevKit V1, WROOM, WROVER (с дополнительной памятью PSRAM), а также компактные варианты. Для курса подойдёт почти любая плата с маркировкой ESP32 и USB-разъёмом.
Частые ошибки
- Путать ESP32 и ESP8266. ESP8266 — более старый и слабый предшественник: одно ядро, только Wi-Fi, меньше выводов и без полноценного АЦП.
- Подавать на выводы 5 вольт. Логика ESP32 работает на 3.3 В; 5 В могут повредить чип.
- Считать, что все GPIO взаимозаменяемы. Некоторые пины нельзя использовать как выход или они мешают загрузке.
Итог
- ESP32 — двухъядерный чип с Wi-Fi, Bluetooth и множеством GPIO.
- Он совмещает работу с железом и выход в сеть в одном дешёвом корпусе.
- Логика работает на 3.3 В — это важно для безопасности подключений.
- Внутри — FreeRTOS, поэтому сеть и ваш код выполняются параллельно.