ESP32 против ESP8266. Если вы задумали проект Интернета вещей (IoT), вы неизбежно столкнетесь с выбором между этими двумя тяжеловесами в мире современных микроконтроллеров (MCU). Оба являются известными микроконтроллерами, и на то есть веские причины. Это небольшие маломощные микроконтроллеры с поддержкой Wi-Fi и 32-битными процессорами, идеально подходящие для управления широким спектром электронных проектов.
Но как определить, какой из них лучше всего подходит для вашего проекта?
Давайте начнем с их сравнения чтобы помочь вам принять решение. Мы не будем фокусироваться исключительно на самом быстром микроконтроллере, самом энергоэффективном или самом выгодном по соотношению цены и качества. Вместо этого мы рассмотрим различные факторы, включая вычислительную мощность, возможности подключения, аппаратные характеристики, среды разработки, цены и многое другое.
Итак, давайте сравним ESP32 и ESP8266.
ESP8266
ESP8266 — это недорогой микрочип Wi-Fi со встроенным стеком TCP/IP и возможностями микроконтроллера, выпущенный в 2014 году компанией Espressif Systems в Шанхае, Китай.
Он быстро завоевал популярность благодаря своей простоте и низкой стоимости. Он работает на процессоре Tensilica Xtensa LX3 и в первую очередь предназначен для смарт-устройств, носимых устройств и проектов с поддержкой Wi-Fi.
ESP32
ESP32, представленный в 2016 году, является преемником ESP8266 и предлагает несколько улучшений по сравнению с ним. К ним относятся более быстрый процессор, более быстрый Wi-Fi, Bluetooth-подключение, больше контактов GPIO и несколько других функций. Что еще более важно, он оснащен двухъядерным микропроцессором Tensilica Xtensa LX6, что значительно расширяет его вычислительные возможности.
Мощность обработки и память
ESP8266 оснащен 32-битным одноядерным процессором Tensilica Xtensa L106, работающим на частоте 80 МГц, который можно разогнать до 160 МГц. Он поставляется с 32 КБ ОЗУ инструкций, 80 КБ ОЗУ пользовательских данных и внешней флэш-памятью QSPI — от 512 КБ до 4 МБ.
ESP32 имеет немного более мощный процессор. Он может похвастаться двухъядерным микропроцессором Tensilica Xtensa LX6, который может работать на частоте до 240 МГц. Он включает в себя 520 КБ SRAM и поддерживает внешнюю флэш-память объемом до 16 МБ.
Благодаря увеличенной вычислительной мощности и объему памяти ESP32 подходит для более сложных задач.
Победитель: ESP32
Беспроводное подключение
Оба микроконтроллера поддерживают Wi-Fi, но ESP32 включает в себя дополнительные функции, такие как Wi-Fi Direct.
Кроме того, ESP32 имеет возможности Bluetooth v4.2 BR/EDR и BLE (Bluetooth Low Energy), которых нет у ESP8266. Это делает ESP32 более универсальным для беспроводной связи.
Победитель: ESP32
Периферийные интерфейсы
При сравнении двух микроконтроллеров важно знать, какие типы периферийных интерфейсов у них есть. Эти интерфейсы являются основными средствами, с помощью которых микроконтроллеры взаимодействуют с датчиками и другими устройствами, и они оказывают большое влияние на сложность и тип проектов, которые вы можете построить.
Ниже приведено сравнение периферийных интерфейсов, предоставляемых ESP8266 и ESP32:
Периферийный интерфейс | ESP8266 | ESP32 |
GPIO | 17 программируемых GPIO | 34 программируемых GPIO |
АЦП | 10-битный АЦП последовательного приближения на 1 канале | 12-битный АЦП последовательного приближения до 18 каналов |
ШИМ | 4 канала | 16 каналов |
Интерфейс I2C | 1 | 2 |
Интерфейс I2S | 2 | 2 |
Интерфейс SPI | 2 | 4 |
Интерфейс UART | 2 | 3 |
CAN-интерфейс | Нет | 1 |
Ethernet | Нет | 10/100 Мбит/с |
Датчик касания | Нет | 10 GPIO |
Инфракрасный пульт дистанционного управления | Нет | TX/RX, до 8 каналов |
Контроллер ведомого устройства SDIO/SPI | Нет | Да |
Счетчик импульсов | Нет | Полное квадратурное декодирование |
Победитель: ESP32
Встроенные датчики
Что касается встроенных датчиков, то ESP8266 весьма минималистичен: у него нет никаких встроенных датчиков.
С другой стороны, ESP32 более продвинут и включает в себя несколько встроенных датчиков. Обычно он поставляется с:
- Датчиком Холла, способным обнаруживать магнитные поля. Это может быть полезно для таких приложений, как обнаружение наличия магнита или измерение силы магнитного поля.
- Емкостный датчик прикосновения, который можно использовать для сенсорного ввода.
- Датчик температуры, предназначенный для измерения внутренней температуры микросхемы, а не температуры окружающей среды, что может быть полезно для контроля работоспособности микроконтроллера.
Интегрированные в ESP32 датчики обеспечивают большую функциональность сразу после установки, позволяя создавать проекты без необходимости использования дополнительных компонентов.
Победитель: ESP32
Управление питанием
Обе платы оснащены передовыми технологиями энергосбережения, эффективно минимизирующими потребление энергии.
ESP8266 предлагает четыре режима питания: активный, модемный сон, легкий сон и глубокий сон. Согласно техническому описанию, в активном режиме, когда все функции работают одновременно, он может потреблять до 80 мА. Напротив, режим глубокого сна чрезвычайно эффективен, потребляя всего 20 мкА.
С другой стороны, ESP32 с его более быстрым процессором и увеличенной флэш-памятью имеет более высокое энергопотребление, потребляя до 240 мА в активном режиме. Чтобы компенсировать это, он вводит два дополнительных режима с низким энергопотреблением: спящий режим и выключение питания. Режим гибернации имеет впечатляюще низкое потребление всего 5 мкА, в то время как режим выключения питания снижает его еще больше до всего лишь 1 мкА.
Благодаря более низкому энергопотреблению в активном режиме ESP8266 лучше подходит для простых маломощных проектов с питанием от аккумуляторной батареи.
Победитель: ESP8266
Программирование и поддержка сообщества
И ESP8266, и ESP32 поддерживаются Arduino IDE и собственным ESP-IDF (Espressif IoT Development Framework). Arduino IDE подходит для небольших проектов, но для более крупных и сложных проектов рекомендуется использовать ESP-IDF через расширение Visual Studio Code или плагин Eclipse.
Более того, обе платы поддерживают программирование на MicroPython, Lua, JavaScript и других языках (полный список доступен на wiki), что делает их доступными для широкого круга программистов. Кроме того, сообщество разработчиков вокруг обоих модулей является крепким и активным, с обилием онлайн-форумов, обширных библиотек и учебных пособий.
Таким образом, с точки зрения поддержки программирования и ресурсов сообщества, между двумя платами практически нет конкуренции; обе предоставляют широкий спектр поддерживаемых языков и ресурсов.
Победитель: Ничья
Цена
ESP8266 обычно дешевле ESP32, что делает его более экономичным вариантом для простых проектов. ESP32, с его дополнительными функциями и возможностями, имеет немного более высокую стоимость, что оправдано его повышенной вычислительной мощностью и универсальностью.
Однако разница в цене между ними сократилась в последние годы. В зависимости от того, где вы покупаете, вы, как правило, можете найти обе платы в продаже по более или менее одинаковой цене. В таких случаях ESP32 с его лучшими возможностями подключения может быть более выгодной сделкой по той же цене.
Победитель: Ничья
Полное сравнение
Вот таблица, которая сравнивает спецификации и функции ESP8266 и ESP32 в деталях. Эта таблица служит точкой отсчета, суммируя возможности и предложения каждого микроконтроллера.
Особенность | ESP8266 | ESP32 |
Процессор | Tensilica Xtensa L106 32 бит одноядерный | Tensilica Xtensa LX6 32-битный двухъядерный |
RAM | 128 КБ | 520 КБ |
Тактовая частота | 80/160 МГц | 160/240 МГц |
Рабочее напряжение | 2,5-3,6 В | 2,2-3,6 В |
Рабочая температура | от –40 °С до +125 °С | от –40 °С до +125 °С |
Flash | До 4 МБ (обычно от 512 КБ до 1 МБ включительно) | 4МБ |
Поддержка внешней Flash | До 16 МБ | До 16 МБ |
Память RTC | 512 байт (внутри системной оперативной памяти) | 16КБ |
Wi-Fi | 802.11b/g/n | 802.11b/g/n |
Bluetooth | Нет | Bluetooth 4.2, BLE |
Ethernet | Нет | 10/100 Мбит/с |
Интерфейс I2C | 1 | 2 |
Интерфейс I2S | 2 | 2 |
Интерфейс SPI | 2 | 4 |
Интерфейс UART | 2 | 3 |
CAN-интерфейс | Нет | 1 |
АЦП | 10-битный АЦП последовательного приближения на 1 канале | 12-битный АЦП последовательного приближения до 18 каналов |
ШИМ | 4 канала | 16 каналов |
Датчик касания | Нет | Да |
Датчик температуры | Нет | Да |
Датчик Холла | Нет | Да |
GPIO | 17 программируемых контактов | 34 программируемых контакта |
Инфракрасный пульт дистанционного управления | Нет | TX/RX, до 8 каналов |
Контроллер ведомого устройства SDIO/SPI | Нет | Да |
Счетчик импульсов | Нет | полное квадратурное декодирование |
Цена | ($5 – $6) | ($6 – $9) |
Как видим, по многим позициям ESP32 все таки опережает ESP8266, но здесь нужно учитывать что все таки ESP32 - это более новая разработка и что стоит он немного подороже.
Какой из них следует купить?
Итак, ESP32 вырывает победу и претендует на корону короля мира микроконтроллеров с поддержкой Wi-Fi. Дайте сигнал оркестру и зажгите фейерверк. 🥇🎉🎆
Но это не значит, что ESP32 — лучший выбор в каждом случае. В конце концов, ваш выбор микроконтроллера будет больше зависеть от конкретных требований вашего проекта, чем от жестких цифр. ESP32 явно выигрывает в большинстве сравнений, но он отстает по простоте и энергоэффективности. Это объясняет, почему ESP8266 остается популярным выбором для многих, несмотря на то, что не является лучшим по производительности.
Подводя итог, для простых маломощных проектов на основе Wi-Fi ESP8266 является предпочтительным выбором. С другой стороны, если вам нужна большая вычислительная мощность, дополнительная память и такие функции, как Bluetooth, то ESP32 — явный победитель.
66 просмотров