Ну, ответ на вопрос «Может ли он заменить Arduino» - да, во многих случаях это может.
Будет ли это «убийцей Ардуино» - я в этом сомневаюсь.
В моем доме есть несколько Arduinos и ESP и 1 ESP в моем офисе, работающие 24 часа в сутки, как часть моего собственного умного решения для дома, которое постоянно разрабатывается, вместе с 1-2 ПК. Кроме того, у меня есть несколько экспериментов / незаконченных проектов с участием ESP.
Итак, из моего не столь ограниченного опыта, вот преимущества и недостатки ESP по сравнению с Arduino:
++++ встроенное подключение к Интернету!
++ Быстрее часы и больше памяти.
+ Работает на 3V3 (большинство, но не на всех Arduinos 5V), поэтому оно может напрямую подключать устройства 3v3 (как и большинство модулей дисплея), без переключателей уровня.
+ «Базовый» ESP-12E стоит примерно столько же, сколько Arduino nano или pro micro.
- «Базовый» ESP-12E имеет шаг 2,0 мм, а не 2,54 мм, что затрудняет работу.
- Существуют прорывы, которые облегчают создание прототипов, но они увеличивают стоимость и занимают слишком много места на макете / макетной плате.
- Самый распространенный прорыв - NodeMCU - более дорогой и имеет переназначенные контакты, что вызывает большое раздражение, если вы не программируете его на Lua, который подходит только для очень простых проектов. ИМО, его следует использовать только для прототипирования.
- Они работают на 3х3, что затрудняет интерфейс модулей 5 В, полностью включает большинство MOSFET и т. Д.
- Они очень требовательны к своему источнику питания.
- Они потребляют значительно больше энергии, чем Arduino, когда не передают, и намного больше, когда передают.
- Они почти всегда хуже для проектов с батарейным питанием - вам нужен регулятор 3 на 3 (который имеет ток покоя), вам нужно много спать (и для этого вам нужен GPIO16), и в конце дня Arduino + низкий -диапазонное радио будет выполнять ту же работу, в то же время значительно дольше работая от батареи.
- У них меньше контактов GPIO, и некоторые из них должны иметь заданные напряжения при запуске (GPIO0 - высокий, GPIO2 - высокий или плавающий, GPIO15 - низкий), а также они «покачивают» некоторые из своих выводов ввода-вывода при запуске, часто делая их непригодными для много устройств.
- У них только один АЦП, и, насколько мне известно, он работает медленнее, чем и без того медленные АЦП Arduino, плюс вы можете использовать его только с напряжением 0-1,1 В (внутреннее задание).
- Многие библиотеки Arduino работают «из коробки» или уже портированы, но многие этого не делают. Вы должны либо портировать их самостоятельно, либо ждать, пока кто-нибудь это сделает. В целом, сообщество Arduino гораздо больше и более зрелое, поэтому для Arduino предоставляются большинство «дружественных для новичков» учебных пособий, библиотек и т. Д.
Тем не менее, ESP8266 по-прежнему великолепен и чрезвычайно полезен. Даже Lua полезен для быстрых небольших проектов. В большинстве случаев, когда требуется подключение к Интернету, они кажутся лучшим решением. Во многих других случаях не имеет значения, будете ли вы использовать ESP или Arduino. И иногда Arduino (или маленький ATTiny85) - лучший выбор.
Как всегда, «правильный инструмент для работы» - это путь.
Или комбинация инструментов.