Чи може ESP8266 замінити Arduino?


15

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

Я знайшов ESP8266 як хороше і дешеве рішення, щоб поговорити зі своїм Arduino. Шукаючи в Інтернеті, щоб дізнатися, як його працювати, я виявив, що у нього є своя mcu, і я можу писати та завантажувати свій код у Arduino IDE! 20 КБ оперативної пам’яті, 80 МГц процесора та 4 Мб спалаху за 3 долари США (однак я не впевнений у цих цифрах, але навіть четверта частина цього чудова) !! Якщо мені просто потрібно кілька відеореєстраторів, навіщо використовувати Arduino UNO? Чи надійний цей модуль?


Ні, я не збираюся шукати, що таке ESP8266, щоб відповісти на запитання тут. Крім того, з назви це чітко ґрунтується на думці, і, здається, йдеться про використання електронних пристроїв, а не їх дизайн. Мало того, але щоб усунути будь-які сумніви, ви згадуєте "ардуїно".

1
Внутрішній процесор ESP8266 здатний запускати користувацькі програми. Мова, що використовується, залежить від того, до чого ви маєте доступ. Зазвичай застосовується LOA.
Рассел Макмахон

10
@OlinLathrop Якщо люди використовують такі терміни, як "LM324", "BC337", 1N4148, загальновизнано, що їм достатньо відомо, що включення операційного підсилювача, біполярного транзистора NPN малої потужності та малого сигнального діода кремнію відповідно не потрібно для розуміння. | Сімейство ESP8266 - це ряд модулів з процесором WiFi + в одному ІС та супутньою пам'яттю для програми. Вони дуже добре відомі, і про щось надзвичайно варто знати, якщо ви їх не зустрічали. Хоча це ще не є настільки всюдисущим, як, наприклад, LM324, вони, можливо, є найпоширенішим "IOT" WiFi-інтерфейсом в цілому.
Рассел Макмахон

3
Я дійсно не вважаю, що це питання заслуговує на негатив
Малахій

3
@ linhartr22 Цитування з www.lua.org/about.html : "Луа" (вимовляється LOO-ах) означає "Місяць" португальською мовою. Як такий він не є ні абревіатурою, ні абревіатурою, а іменником. Більш конкретно, «Луа» - це ім’я, назва Місяця Землі та назва мови. Як і більшість імен, його слід писати в нижньому регістрі з початковим капіталом, тобто "Луа". Будь ласка, не пишіть це як "LUA", що є і потворним, і заплутаним, тому що тоді воно стає абревіатурою з різними значеннями для різних людей. Тож, будь ласка, правильно напиши "Луа"!
пішов

Відповіді:


11

Що ж, відповідь на питання "Чи може це замінити Ардуїно" - так, у багатьох випадках він може.
Це був би "вбивця Ардуїно" - я сумніваюся.
У моєму будинку є багато ардуїно і ESP, а в моєму кабінеті - 1 ESP, який працює цілодобово, як частина мого саморобного (і постійно розвивається) рішення для розумного дому, разом з 1-2 ПК. Крім того, у мене є кілька експериментів / незавершених проектів із залученням ESP.
Отже, з мого не дуже обмеженого досвіду, ось плюси та мінуси ESP порівняно з Arduino:

++++ підключення до Інтернету вбудовано!
++ Швидший годинник та більше пам’яті.
+ Працює на 3V3 (більшість, але не всі Arduinos мають 5 В), тому він може взаємодіяти з пристроями 3v3 (як і більшість модулів дисплея) безпосередньо, без перемикачів рівня.
+ "Базовий" ESP-12E коштує приблизно стільки ж, скільки Arduino nano або pro micro.

- "базовий" ESP-12E - це 2,0 мм крок, а не 2,54 мм, що робить біль в попці, з якою працювати.
- Існують пробиви, які полегшують складання прототипів, але вони збільшують вартість і займають занадто багато місця на дошці / дошці.
- Найпоширеніший прорив - NodeMCU - дорожчий і має перезаписані штифти, велике роздратування, якщо ви не запрограмуєте його в Луа, що нормально для дуже простих проектів. IMO, його слід використовувати лише для прототипування.
- Вони працюють на 3v3, що ускладнює інтерфейс 5В модулів, повністю вмикає більшість MOSFET та ін.
- Вони надзвичайно прискіпливі до свого джерела живлення.
- Вони забирають значно більше енергії, ніж Arduino, коли не передають, і набагато більше при передачі.
- Вони майже завжди гірші для акумуляторних проектів - вам потрібен регулятор 3v3 (який має струм спокою), вам потрібно спати багато (і для цього вам потрібен GPIO16), а в кінці дня ардуїно + низький -силова радіо зробить таку ж роботу, зберігаючи на батареї значно довше.
- У них менше штифтів GPIO, і деякі з них повинні мати встановлені напруги при запуску (GPIO0 - високий, GPIO2 - високий або плаваючий, GPIO15 - низький); вони також «підморгують» деякі свої штифти IO при запуску, часто роблячи їх непридатними для багато пристроїв.
- У них є лише один АЦП, і наскільки мені відомо, він повільніше, ніж і без того повільні АЦП Arduino, плюс ви можете використовувати його лише з 0-1,1 В (внутрішня довідка).
- Багато бібліотек Arduino працюють поза коробкою або вже переносяться, але багато ні. Ви або самі повинні їх портувати або ж чекати, коли хтось це зробить. Загалом, спільнота Ардуїно набагато більша та зріліша, тому для ардуїно надаються більшість навчальних посібників, "дружніх до нооб".

Зважаючи на це, ESP8266 все ще чудовий і надзвичайно корисний. Навіть Луа корисна для швидких невеликих проектів. У більшості випадків, коли потрібне підключення до Інтернету, вони здаються найкращим рішенням. У багатьох інших випадках, чи будете ви використовувати ESP або Arduino, насправді не має значення. І іноді Ардуїно (або маленька ATTiny85) - кращий вибір.
Як завжди, "правильний інструмент для роботи" - це шлях.
Або комбінація інструментів.


2
Категорично не погоджуйтеся з тим, що "просто неправильно" використовувати ESP як вторинний пристрій для Arduino з інтерфейсом UART. Ви самі вказуєте причини цього - якщо ви хочете використовувати бібліотеки, які ще не перенесені в ESP, чому б не мати Arduino як основний пристрій і використовувати ESP для того, щоб добре виконувати одну роботу? Або якщо ви більше знайомі з 8-розрядними пристроями AVR і можете дозволити собі 5 доларів за дуже здатний аддіон WiFi, чому б не зробити цього? В інженерії, за винятком дурості, немає правильного чи неправильного способу, за умови, що це працює - лише більш-менш відповідає конкретній проблемі.
stefandz

2
Немає нічого поганого в тому, щоб ардуїно (або крихітка) було підключено до ESP через UART. "Неправильно" - це використання команд AT та наявність розбору HTML-запитів та відповідей Arduino тощо. Це впевнено працює (я це зробив), але звучить неправильно - "логічний" спосіб був би для більш потужного чіпа ( ESP) діяти як майстер і завантажувати конкретні завдання на менш потужний чіп, а не навпаки. Здебільшого це також простіший спосіб - обмірковування команд AT, що розбирає Arduino, не є ні веселим, ні ефективним. Так, ви повинні запрограмувати обидва чіпи таким чином, що незручно.
Мішоні

1
Можливо, варто відредагувати свою відповідь, щоб включити це уточнення.
stefandz

1
Тому що решта відповіді хороша, але останнє речення незрозуміле і хибне імхо. Роз'яснення тих, хто шукає відповіді, допоможе тим, хто не розуміє, чому це може бути поганою ідеєю, - і позбавити їх від думки про те, що існує таке поняття, як "просто неправильне", без чітких міркувань. Але відповідь ваша - очевидно, ви вільні робити так, як вважаєте за потрібне.
stefandz

1
Якщо вам дійсно потрібно використовувати Arduino AND ESP (замість просто ESP), ви все одно можете використовувати послідовне спілкування, але на більш високому рівні - наприклад, Arduino надсилає "temp = 26,5" в ESP, ваш код на ESP визнає це і надсилає HTTP-запит на thingspeak.com або будь-що інше. Для цього вам потрібно запрограмувати і Arduino, і ESP, що трохи незручно, але не дуже складно, ніж обробляти команди AT. У багатьох ситуаціях можна просто вирвати Arduino і використовувати тільки ESP.
Мішоні

1

Так, є кілька штифтів вводу / виводу, тому теоретично ви можете запустити один або кілька світлодіодів або використовувати, наприклад, розширювач порту вводу / виводу (I2C).

І так, ви можете розробити програмне забезпечення та завантажити його навіть у модулі з низькою вартістю. Ардуїноподібний кут - це лише один із способів зробити це. Це не АРМ, як можна вважати. Але є gnu ланцюжок інструментів для esp8266 і т. Д. Так 80 або 160 МГц, 32-бітний RISC, деякі спалахи, деякі оперативні.


1

Якщо ви можете це запрограмувати, то, звичайно, можна безпосередньо керувати своїми вогнями. У нього немає великої кількості штифтів вводу / виводу, як у Arduino, але поки у вас достатньо для виконання роботи, це, безумовно, знижує витрати, розмір та вимоги до потужності.


1
@Зараз ви можете знайти ще вищу ціну на ebay / aliexpress.
Дарко

1
Для мого застосування достатньо одного IO, проте ESP-12 надає декілька IO, 10-бітний ADC та багато іншого. Насправді я купив один ESP-01 за 1,78 USD (від Aliexpress)! Перевірте github.com/esp8266/Arduino на використання свого ESP в Arduino IDE. вам просто потрібен USB для послідовного перетворювача. Або google NodeMCU, щоб отримати все це за одну дошку.

1

Плата Arduino Uno і модуль ESP не однакові, але поки GPIO ESP8266 надає обладнання, яке потрібно для вашої програми, воно буде працювати.

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

Як ви помітили, його можна додати як інструмент типу дошки до інструменту Arduino, що набагато легше хобістів грати з ним.

Я щойно перевірив гранти, і всі три вимагають, щоб антена WiFi зберігалася не менше 20 см усіх осіб.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.