Может ли ESP8266 заменить Arduino?

15

Я хобби и до сих пор использовал Arduino для простых проектов. Теперь я хочу создать проект с использованием адресуемых светодиодов, я хочу написать несколько программ на Arduino для светодиодов и на своем телефоне выбрать, какие из них запускать.

Я нашел ESP8266 как хорошее и дешевое решение для общения с моим Arduino. Поиск в сети, чтобы узнать, как заставить его работать, я обнаружил, что он имеет свой собственный mcu, и я могу написать и загрузить свой код в Arduino IDE! 20 КБ ОЗУ, 80 МГц ЦП и 4 МБ флэш-памяти за 3 доллара (однако я не уверен в этих цифрах, но даже одна четвертая из них великолепна) !! Если мне просто нужно несколько GPIO, зачем использовать Arduino UNO? Надежен ли этот модуль?

ahmadx87
источник
Нет, я не собираюсь искать, что такое ESP8266, чтобы ответить на вопрос здесь. Кроме того, из названия это явно вопрос, основанный на мнении, и, похоже, речь идет об использовании электронных устройств, а не об их дизайне. Не только это, но чтобы стереть любое сомнение, вы упоминаете "Arduino".
1
Внутренний процессор ESP8266 способен запускать пользовательские программы. Используемый язык зависит от того, к чему у вас есть доступ. LOA обычно используется.
Рассел МакМахон
10
@OlinLathrop Если люди используют такие термины, как «LM324», «BC337», 1N4148, общепринято, что им достаточно хорошо известно, что для понимания не требуется включение операционного усилителя, биполярного NPN-транзистора и кремниевого малосигнального диода соответственно. | Семейство ESP8266 - это линейка модулей с процессором WiFi + в одной микросхеме и дополнительной памятью для программ. Они очень, очень хорошо известны, и о них стоит знать, если вы их не встречали. Хотя они (пока) не так широко распространены, как, например, LM324, они, возможно, являются наиболее распространенным интерфейсом IOT WiFi в целом.
Рассел МакМахон
3
Я действительно не думаю, что этот вопрос заслуживает отрицания
Малахия
3
@ linhartr22 Цитата из www.lua.org/about.html : «Lua» (произносится LOO-ах) означает «Луна» на португальском языке. Таким образом, это не аббревиатура и не аббревиатура, а существительное. В частности, «Lua» - это имя, название земной луны и название языка. Как и большинство имен, оно должно быть написано в нижнем регистре с начальной заглавной буквой, то есть «Lua». Пожалуйста, не пишите это как "LUA", что и уродливо и запутанно, потому что тогда это становится аббревиатурой с различными значениями для разных людей. Поэтому, пожалуйста, напишите "Lua" правильно!
ушел

Ответы:

11

Ну, ответ на вопрос «Может ли он заменить 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) - лучший выбор.
Как всегда, «правильный инструмент для работы» - это путь.
Или комбинация инструментов.

Mishony
источник
2
Категорически не согласен с тем, что «просто неправильно» использовать ESP в качестве дополнительного устройства для Arduino с интерфейсом UART. Вы сами указываете причины этого - если вы хотите использовать библиотеки, которые еще не перенесены в ESP, почему бы не использовать Arduino в качестве основного устройства и использовать ESP для хорошей работы? Или, если вы более знакомы с 8-битными устройствами AVR и можете позволить себе 5 долларов за очень функциональное дополнение Wi-Fi, почему бы не сделать это? В технике, кроме глупости, нет правильного или неправильного пути, при условии, что он работает - только более или менее соответствующий конкретной задаче.
stefandz
2
Нет ничего плохого в подключении arduino (или attiny) к ESP через UART. То, что кажется «неправильным», - это использование AT-команд и наличие Arduino для анализа HTML-запросов и ответов и т. Д. Это, безусловно, работает (я это сделал), но звучит неправильно - «логичным» способом будет более мощный чип ( ESP) действовать как мастер и переносить конкретные задачи на менее мощный чип, а не наоборот. В большинстве случаев это также более простой способ - возиться с анализом AT-команд на Arduino не весело и не эффективно. Да, вы должны запрограммировать оба чипа таким образом, что неудобно.
Мишони
1
Возможно, стоит отредактировать ваш ответ, чтобы включить это пояснение.
Штефандз
1
Потому что остальная часть ответа хороша, но последнее предложение неясно и вводит в заблуждение imho. Разъяснение для тех, кто ищет ответы, поможет тем, кто не понимает, почему это может быть плохой идеей, - и избавит их от мысли, что существует такая вещь, как «просто неправильно» без четких рассуждений. Но ответ ваш - очевидно, вы можете делать все, что считаете нужным.
Штефандз
1
Если вам действительно нужно использовать Arduino И ESP (а не только ESP), вы все равно можете использовать последовательную связь, но на более высоком уровне - например, Arduino отправляет «temp = 26.5» на ESP, ваш код на ESP распознает это и отправляет HTTP-запрос на thingspeak.com или что-то еще. Чтобы это работало, вы должны запрограммировать и Arduino, и ESP, что немного неудобно, но на самом деле не сложнее, чем возиться с AT-командами. Во многих ситуациях вы можете просто отказаться от Arduino и использовать только ESP.
Мишони
1

Да, есть несколько выводов ввода / вывода, поэтому теоретически вы можете управлять одним или несколькими светодиодами или использовать, например, расширитель портов ввода / вывода (I2C).

И да, вы можете разрабатывать программное обеспечение и загружать его даже в недорогие модули. Подобный Arduino угол - только один способ сделать это. Это не АРМ, как можно верить. Но есть набор инструментов gnu для esp8266 и т. Д. Да, 80 или 160 МГц, 32-битный RISC, немного флеш-памяти, немного оперативной памяти.

Старожил
источник
1

Если вы можете запрограммировать его, то, конечно, жизнеспособным будет непосредственное управление вашим освещением. Он не имеет большого количества выводов ввода / вывода, как у Arduino, но если у вас достаточно для выполнения работы, он, безусловно, снижает стоимость, размер и требования к питанию.


источник
1
@ Да, вы можете найти даже лучшую цену на Ebay / Aliexpress.
Дарко
1
Для моего приложения достаточно одного IO, однако ESP-12 предоставляет несколько IO, 10-битный АЦП и многое другое. На самом деле я купил один ESP-01 за 1,78 долларов США (от Aliexpress)! Проверьте github.com/esp8266/Arduino для использования вашего ESP в Arduino IDE. вам просто нужен конвертер USB в последовательный порт. Или Google NodeMCU, чтобы получить все это на одной доске.
1

Плата Arduino Uno и модуль ESP не одно и то же, но если GPIO ESP8266 предоставляет оборудование, необходимое для вашего приложения, оно будет работать.

Одна из моих проблем - сертификация. Продукт получил несколько сертификатов, вам необходимо проверить, сертифицирована ли ваша версия. Вы можете найти сертификаты производителя (и некоторую документацию) на странице поиска FCC , введя 2AC7Z в качестве кода грантополучателя. Используемая вами доска может зависеть от них или требовать собственной сертификации.

Как вы заметили, он может быть добавлен в качестве типа доски к инструменту Arduino, что значительно упрощает игру для хобби.

Я только что проверил гранты, и все три из них требуют, чтобы антенна WiFi была на расстоянии не менее 20 см от всех людей.

le_top
источник