• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение ESP8266 vs Arduino - сравнение, основные отличия

DarkDaemon

New member
Я сам использовал только Arduino, с ESP8266 знаком по статьям и форумам. Гуглил в рунете и на англоязычных ресурсах, но нигде не нашел какого-либо обзора или сравнения платформ ESP8266 (допустим, ESP-12) и Arduino (допустим, с ATMega328P), обе стоят около $2. Везде темы про совместное использование, но почему используют Arduino, когда ESP8266 довольно самодостаточен и имеет более быстрый процессор и больше памяти, имеет АЦП, вводы-выводы, UART, I2C, SPI и, конечно же, Wi-Fi? И хотелось бы сравнить программную среду разработки (знаю, что через Arduino IDE можно кодить и под ATMega, и под ESP8266), а так же энергопотребление. В каких случаях лучше применять одну платформу, в каких - другую? Уважаемые гуру, специально зарегистрировался на форуме для прояснения данного вопроса. Приветствуется объективное мнение, реальные тесты и цифры, графики и таблицы :) Может быть я плохо искал? Тогда ткните носом.

Вот здесь есть обсуждение, но нет конкретики и выводов:
http://esp8266.ru/forum/threads/podskazhite-pozhalujsta-maksimalnye-vozmozhnosti-esp8266.619
http://esp8266.ru/forum/threads/stoit-li-programmirovanie-esp8266-v-arduino-ide.691/
 

aloika

Active member
На объективность нисколько не претендую:

0. Зачем вообще Arduino? Для Atmel есть та же ее родная Atmel Studio.
1. Писать для ESP8266, используя Arduino IDE - на данный момент плохая идея. Все очень сыро там и нестабильно. Более-менее нормальный проект написать невозможно. Только что-нибудь совсем простое и нестабильно работающее. Для ESP нужно ставить UDK и за основу брать "Библиотеку малого веб-сервера" (опять же, зависит от того, что вы разрабатываете).
2. Как вариант - писать для Atmel части, работающие в реальном времени, для ESP - интерфейсные части. Если нужно просто чем-нить помигать или считать значение с датчика - достаточно будет ESP.

Например, мне надо было:
- дифференциальный АЦП - у ESP нет;
- почти в реальном времени считывать и анализировать сигнал и по результату анализа выдавать воздействие - как это сделать на ESP и совместить это всё по времени с работой Wi-Fi? Проще поставить дополнительный маленький микроконтроллер.
 

Dmitry P

New member
У меня нормально работает ESP-07 в режиме Arduino. Для АЦП использую сборку с ebay - AS1115 (300 рублей, может работать в дифф.режиме, 16 бит, внутренний программируемый усилитель, I2C ) - непрерывно работает без единого сбоя около недели.
Применение - 4 канальный контроллер температуры с функциями защиты и передачи информации через интернет на облачное хранилище. Два DI, два DO.
Цикл проверки - порядка 100 мс. Вместе с Wifi и прочим.
Есть свои особенности - надо внимательно следить за ресурсоемкими операциями, чтобы wifi часть не отваливалась и за переполнением массивов. Во всем остальном удобство ардуины - рулит.
 

Dmitry P

New member
Dmitry P, а веб-сервер есть? А настройки Wi-Fi как реализованы?
Так как контроллер для промышленного применения - настройки через встроенный переходник COM TTL -> USB и терминальные команды вида SSID=TP-LINK, PASS=Qwerty123 и тому подобное. Так проще, ведь процедура настройки выполняется один раз, а алгоритм не меняется. Веб сервер - только нагрузка лишняя.
Ну вот, без дополнительного корпуса все равно не обошлось. А доп. микроконтроллер даже дешевле получится.
АЦП ардуины тяжело сравнивать с AS1115 - и разрядность другая, и опорник на ардуину надо внешний вешать и усилителя нет.
У меня есть реализация на и такой связке Arduino Nano + ESP-01. Работает, конечно, но медленно и коряво. Основной "затык" в ESP-01 - TCP сервер в AT командах, непонятные паузы после отправки пакетов.
 

aloika

Active member
Так как контроллер для промышленного применения - настройки через встроенный переходник COM TTL -> USB и терминальные команды вида SSID=TP-LINK, PASS=Qwerty123 и тому подобное. Так проще, ведь процедура настройки выполняется один раз, а алгоритм не меняется. Веб сервер - только нагрузка лишняя.
Ну вот, а хочется с сервером.

АЦП ардуины тяжело сравнивать с AS1115 - и разрядность другая, и опорник на ардуину надо внешний вешать и усилителя нет.
Разрядность - ну да, у Atmel (8 бит которые) - 10-разрядный АЦП. Но нужны ли 16 разрядов? сколько из них реально получаются значимые с учетом шумов? Опорник не нужен, там много вариантов есть. Усилитель есть, у разных чипов разные.
 

Dmitry P

New member
Каждый инструмент хорош для определенных задач. Если для Вашей задачи достаточно 10 бит, требований к точности измерения нет и есть время на Atmel Studio - можно и Atmel с транспортом ESP.
Для моей задачи по сочетанию "простота разработки, надежность, точность, стабильность, дешевизна" выиграло решение ESP на Arduino IDE + AS1115+релейный модуль с двумя реле с E-bay.
Разумеется, это моё личное мнение, вариантов может быть масса.
 
Сверху Снизу