Что такое Микроконтроллер ESP32 и ESP8266?
ESP32-C3 — одноядерный RISC-V, Wi-Fi + Bluetooth 5.0 (BLE). Компактный и дешёвый. Очень популярен в умных устройствах нового поколения. Именно на C3 построены многие Tasmota/Matter-совместимые розетки и лампочки от Athom.
ESP32-C6 — RISC-V, Wi-Fi 6, Bluetooth 5.3, а также поддержка 802.15.4 (Thread/Zigbee). Первый чип Espressif, который умеет Thread — а значит, может быть полноценным конечным устройством в сети Matter/Thread.
ESP32-H2 — только 802.15.4 (Thread/Zigbee) и Bluetooth 5.3, без Wi-Fi. Предназначен для устройств Thread-сетей.
ESP32-P4 — мощный двухъядерный RISC-V для ресурсоёмких задач (обработка изображений, дисплеи). Без встроенного радио — подразумевается использование в паре с другим ESP для связи.
Одно из главных достоинств чипов Espressif — разнообразие инструментов разработки.
Arduino IDE / Arduino Framework. Самый популярный способ для начинающих и любителей. Код пишется на C/C++ в знакомой среде Arduino. Огромная библиотека готовых примеров и драйверов для датчиков, дисплеев, моторов.
ESP-IDF (Espressif IoT Development Framework). Официальный фреймворк от Espressif. Даёт полный контроль над железом, включая FreeRTOS, TLS, OTA-обновления, аппаратное шифрование. Используется в промышленных проектах и сложных прошивках.
MicroPython / CircuitPython. Python на микроконтроллере. Удобно для прототипирования и обучения, но медленнее, чем C.
PlatformIO. Продвинутая среда разработки, работающая как расширение VS Code. Поддерживает и Arduino Framework, и ESP-IDF. Рекомендуемый инструмент для серьёзных проектов.
А для умного дома есть ещё два инструмента, которые вообще не требуют программирования в традиционном смысле.
ESPHome. Описываете устройство в YAML-файле — какие датчики подключены, к каким GPIO, как часто отправлять данные — и ESPHome генерирует прошивку автоматически. Интеграция с Home Assistant — нативная.
Tasmota. Готовая прошивка с веб-интерфейсом, поддержкой сотен устройств и шаблонов. Прошил, настроил через браузер, подключил к MQTT — работает. Подробнее — в нашей статье о Tasmota.
ESP-чипы стоят не только в самодельных устройствах. Огромное количество коммерческих продуктов для умного дома построено на ESP8266 и ESP32: розетки и реле Sonoff, лампочки и розетки Tuya/SmartLife (ранние модели), устройства Shelly, реле и датчики Athom. Многие из них можно перепрошить на Tasmota или ESPHome, получив локальное управление без облака.
Правда, в последние годы производители массово переходят на альтернативные чипы — Beken BK7231, Realtek RTL8710 и другие, — несовместимые с Tasmota и ESPHome. Это делается намеренно, чтобы затруднить перепрошивку и привязать пользователя к облаку производителя. Перед покупкой устройства для перепрошивки всегда проверяйте, какой чип внутри.
Голый чип ESP32 — это крошечная микросхема с шагом выводов 0.5 мм. Работать с ней напрямую в домашних условиях непрактично. Поэтому используют модули и платы разработки.
Модули (ESP32-WROOM-32, ESP32-C3-MINI и подобные) — чип с антенной и флеш-памятью на маленькой плате с контактными площадками. Паяются на целевое устройство.
Платы разработки (DevKit) — модуль на несущей плате с USB-портом, стабилизатором питания и выведенными на гребёнку GPIO. Втыкается в макетную плату и подключается к компьютеру кабелем. Именно их покупают для экспериментов.
Популярные варианты: ESP32-DevKitC, Wemos D1 Mini (ESP8266), Wemos LOLIN S3, NodeMCU. Цена на маркетплейсах — от 200 до 800 рублей за штуку.
Нет операционной системы. ESP — не Raspberry Pi. Здесь нет Linux, нет apt-get, нет возможности подключиться по SSH и поставить произвольный софт. Одна прошивка — одна задача.
Ограниченная память. 520 КБ SRAM и 4 МБ флеш — это не много. Сложные веб-интерфейсы, TLS-соединения и большие конфигурации могут упираться в лимит.
Wi-Fi только 2.4 ГГц. Ни один ESP не поддерживает 5 ГГц (кроме ESP32-C5, который на момент написания статьи ещё не получил массового распространения). Для IoT-устройств это обычно не проблема, но если ваш роутер настроен только на 5 ГГц — ESP к нему не подключится.
Питание 3.3 В. Логические уровни ESP — 3.3 В. Подключение 5-вольтовых сигналов напрямую к GPIO может повредить чип. Нужен преобразователь уровней или резистивный делитель.
АЦП ESP32 неточен. Встроенный аналого-цифровой преобразователь ESP32 имеет нелинейность, особенно на краях диапазона. Для точных измерений аналоговых сигналов лучше использовать внешний АЦП.
ESP8266 и ESP32 — это чипы, на которых построена значительная часть доступного умного дома. Они дёшевы, мощны для своих задач, прекрасно поддерживаются сообществом и совместимы с ключевыми проектами: Tasmota, ESPHome, Home Assistant, WLED, OpenMQTTGateway и десятками других.
ESP8266 ещё жив, но для новых проектов разумнее выбирать ESP32 — хотя бы C3. Больше памяти, Bluetooth, лучшая безопасность, поддержка Matter. Разница в цене — доллар-два, разница в возможностях — принципиальная.
Если Raspberry Pi — это мозг умного дома, то ESP32 — это его нервные окончания. Без них мозгу нечего обрабатывать.
Статья подготовлена на основе документации Espressif Systems, данных из открытых источников и материалов сообщества. Все упомянутые торговые марки принадлежат их правообладателям. Материал носит информационный характер и не является рекламой.