Блог
Является ли ESP32 микроконтроллером?
Да, ESP32 — это микроконтроллер. В этом FAQ разбираем разницу между микроконтроллером и микропроцессором, встраиваемые системы и что всё это значит для программирования.
ESP32 — это микроконтроллер?
Да. ESP32 — микроконтроллер: компьютер на одном чипе с процессором, ОЗУ и флеш-памятью внутри, который выполняет одну программу без операционной системы. Софт на него не устанавливают — в него прошивают программу. Это и есть всё определение, и ESP32 под него подходит идеально. Raspberry Pi, для сравнения, — это микропроцессор под управлением Linux.
ESP32 — это встраиваемая система?
Да. Встраиваемая система — это любой компьютер, встроенный в более крупное устройство для выполнения конкретной задачи, и ESP32 — хрестоматийный пример. Термостаты, роутеры и стиральные машины содержат встраиваемые системы; ESP32 — та самая система внутри умной розетки или датчика. Термин описывает роль: чип — это микроконтроллер, а устройство вокруг него — встраиваемая система.
У ESP32 порядок байтов little-endian?
Да — все ядра ESP32, включая RISC-V, используют little-endian: младший байт хранится первым. Это всплывает, когда разбираете бинарные протоколы или упаковываете структуры для передачи по serial. Я как-то потратил целый вечер на отладку парсера CAN, потому что предположил big-endian: с ESP32 всё было в порядке, а вот моё предположение — нет.
На каком языке программируется ESP32?
Родные языки — C и C++: и SDK ESP-IDF, и Arduino-ядро написаны на C/C++. Сверху доступны MicroPython, Rust, JavaScript и даже Lua. На практике «на каком языке программируется ESP32» обычно означает C++ в Arduino IDE, а современная альтернатива — PlatformIO.
ESP32 программируется на C?
Да. Прошивка ESP32 — фреймворк ESP-IDF, ядро FreeRTOS и Arduino-ядро — написана на C с C++ поверх. Навыки C переносятся напрямую: программы для ESP32 можно писать на чистом C, хотя большинство уроков используют стиль Arduino — а это технически C++.
ESP32 — это ПЛК?
Нет. ПЛК (программируемый логический контроллер) — это промышленный контроллер в усиленном корпусе с программированием на лестничных диаграммах и защищёнными входами-выходами на 24 В — ESP32 ни тем ни другим не является. ПЛК рассчитаны на десятилетия работы на заводе, ESP32 — бытовой класс. Платы в стиле ПЛК на базе ESP32 существуют, так что по-промышленному автоматизировать что-то можно, но не ждите от него надёжности уровня ПЛК «из коробки».
Чем микроконтроллер отличается от микропроцессора?
Один управляет железом напрямую, другой запускает операционную систему. У микроконтроллера (ESP32, Uno, STM32) CPU, ОЗУ и память на одном кристалле — он выполняет вашу программу сразу при включении. Микропроцессор (Raspberry Pi, процессор ноутбука) — это только CPU, которому нужны внешние ОЗУ, накопитель и ОС. Правило простое: прошили программу — это микроконтроллер; установили ОС — микропроцессор.
Может ли ESP32 работать под Linux?
Практически нет. Классический ESP32 и S3 работают на FreeRTOS — лёгком планировщике задач, а не устанавливаемой ОС — а MicroPython или Arduino-среда ближе всего к полноценному окружению. Даже более мощный ESP32-P4 — не Linux-машина. Если вам нужен Linux, это работа для Raspberry Pi; статья о внутренностях ESP32 объясняет, откуда берутся эти ограничения.
Нужно ли знать C, чтобы пользоваться ESP32?
Нет — и тут экосистема блистает: MicroPython действительно дружелюбен к новичкам, а фреймворк Arduino скрывает большинство острых углов C. Но рано или поздно вы упрётесь в библиотеку, падение или проблему производительности, где придётся читать код на C — официальная документация в основном на нём — так что это не тупик, а плавный подъём.
Какое место микроконтроллеры занимают среди самоделок?
Ниже Pi, выше «голой» логики. Если ваш проект общается с датчиком или интернетом и должен месяцами работать от батареек — правильный слой это микроконтроллер вроде ESP32. Проверить, что проект сойдётся, можно ещё до покупки плат: та же прошивка запускается в браузерном симуляторе. А в базе знаний можно сравнить семейства чипов.
Проекты по этой теме запускаются прямо в бесплатном симуляторе sensbench: схема уже собрана, прошивка включена — без аккаунта и установки.