Перейти к содержанию
    

ESP32: "ESP-IDF" или "PlatformIO" ?

Сейчас установил VS Code и подключил оба пакета для работы с ESP32: ESP-IDF и PlatformIO

Есть ли у одного из них какие-нибудь приемущества перед другим?

 

Ситуация такая: к прикладному проекту (PlatformIO) добавляю функции из демки(ESP-IDF).  И не могу решить в чем же делать результат. Есть какие-то аргументы в пользу одного из ?

Я склоняюсь к ESP-IDF, но это после одного дня знакомства с обоими вариантами.

 

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

 

 

 

Upd:

Хм. кажись одно это часть другого, а я и не заметил?

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/third-party-tools/platformio.html

Quote

What is PlatformIO?

PlatformIO is a cross-platform embedded development environment with out-of-the-box support for ESP-IDF.

Since ESP-IDF support within PlatformIO is not maintained by the Espressif team, please report any issues with PlatformIO directly to its developers in the official PlatformIO repositories.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 minutes ago, Ruslan1 said:

Хм. кажись одно это часть другого, а я и не заметил?

Да где же? К PlatformIO прибита поддержка esp-idf.

 

P.S. Не вижу смысла использовать что-то кроме esp-idf для ESP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Альтернативой esp-idf будет arduino. Arduino  повыше уровнем и имеет тонну библиотек. Естественно, ценой небольшого удара по производительности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 minutes ago, rkit said:

Альтернативой esp-idf будет arduino.

Тогда уж сразу micropython. Еще выше уровнем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Изложу свое видение:

ESP-IDF это среда разработки (framework). Альтернативы ей для работы с ESP32 по сути нет, хотя можно попытаться работать на уровне регистров, но это не простой путь, поскольку описание очень объемно, плохо документировано и запутано. ESP-IDF самодостаточна и на ее основе можно делать рабочие продукты, но она не удобна для разработки - работает из командной строки.

Для удобства используются среды разработки (toolchain), которые все равно базируются на ESP-IDF. Их достаточно много и наиболее распространены:

Arduino IDE – самый простой для начала работы, очень удобен для получения быстрого результата с минимальной базовой подготовкой. Под него написано множество библиотек под различные готовые платы. Практически все программы (скетчи) запускаются с первого раза. Но если что-то не пошло, то разобраться становится очень сложно и среда становится резко не дружественной: редактор убогий, отладчика нет. К тому-же объемы кода, которые загружаются в камень очень весомые. Какая-нибудь “Hello word” занимает десятки Кбайт и что там происходит неизвестно.

ESP-IDF Eclipse – рекомендована разработчиками от Espressif. Пытался делать на ней программы и что-то получалось, но забросил ввиду неудобства. Думаю, что на ее основе можно делать наиболее эффективные коды и собираюсь к ней вернуться.

PlatformIO IDE – имеет очень удобный интерфейс разработки, вплоть до встроенного отладчика. Но он достаточен сложен в освоении из-за обилия всяких настроек и плюшек и запустить первый проект не так просто. К тому же тормознутый и глючный. Большинство встроенных примеров от ESP-IDF не импортируются, наверное опять же нужны какие-то доп настройки. Поэтому наиболее простой путь тут – импорт проектов из того же ардуино, т.е. тот же громоздкий код, но зато в котором уже можно разобраться. Еще одна деталь: сама ESP-IDF там обновляется посредством оболочки, которая, судя по всему, как-то адаптируется и от того возникают обильные собственные баги. Например, Espressif уже выпустила версию ESP-IDF v4.4.2, а в PlatformIO – v3.5.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, Linker said:

Изложу свое видение

Охренел. Вот это каша в голове.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 minutes ago, x893 said:

Охренел. Вот это каша в голове.

Интересен ваш опыт программирования ESP32. Что используете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

27 minutes ago, x893 said:

vscode/vstudio

esp-idf

т.е. в VS вместо плагина platformIO ставите плагин espressif IDF?   

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Linker said:

т.е. в VS вместо плагина platformIO ставите плагин espressif IDF?   

по разному - можно просто в json написать idf.py ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

50 minutes ago, Linker said:

Не пробовал espressif IDF. А какие преимущества по сравнению с platformIO?

В понимании процесса. Отсутствие доп. прослойки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22.04.2022 в 14:20, Linker сказал:

Интересен ваш опыт программирования ESP32. Что используете?

VSCode + PlatformIO + ESP-IDF.
Стрит-флеш!

На слабой машине МЕДЛЕННО.
VSCode запускается шустро. Потом секунд 40 PlatformIO вспоминает, что он тут делает (перечитывает долбаную конфигурацию и пытается вспомнить что можно делать). После этого вроди бы можно работать.
Компиляция проекта - через встроенные скрипты. Выбросить часть библиотек невозомжно. В частности, проект компилирует ВСЁ из штатных библиотек IDF и только на этапе сборки линкует необходимое. Как от этого избавиться - непонятно. Лично у меня если очистить проект, или добавить файлы в него (*.c / *.h) - выполняется чистовая пересборка где-то на 4 минуты. Чистовая занимает секунд 20 (редактирование "своих" файлов (в /src)).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...