• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение PlatformIO IDE - Новая среда для програмирования ESP8266 (и прочих контроллеров)

XSmile2008

New member
Несколько дней назад мне вкрай надоела Arduino IDE. Так как давно пользуюсь Sublime Text решил поискать можно ли прикрутить Arduino к ней. Нашел проект https://github.com/Robot-Will/Stino. Поначалу показалось что вот оно, тут и удобный редактор и сразу в Ардуино заливать можно, но уже через 30 минут всплыло несколько весомых недостатков:
- Отказывается работать с Arduino IDE старше версии 1.6.1
- Не нашел как же все таки в платах выбрать ESP8266
- Баг с подключением библиотек когда в подключаемой библиотеке используется еще одна библиотека.

Хорошо что один добрый человек дал в Issues к этому проекту ссылку на Украинский проект PlatformIO (http://platformio.org/#!/). С 2016 года (судя по ченджлогу буквально неделю назад) у них появилась своя IDE на базе Atom. Проект практически каждый день обновляется, что-то добавляют, что-то исправляют. Можно собирать код практически под все платформы будь то ESP, Arduino или какой-то STM. Багов пока не заметил особо, все собирается, загружается и ездит. Разве что монитор последовательного порта еще не до конца поправили, но я все равно пользуюсь CoolTerm. Понравилась структура проекта, что можно .cpp и .h файлы кидать прямо в проект, а не в папку libraries как того хотела ArduinoIDE.
Вот например так выглядит структура того проекта что я сейчас пишу.
Снимок экрана 2016-01-30 в 13.02.25.png
Как видно библиотека Chassis, Command и HMC5883L прикреплены прямо к проекту и редактировать я могу их в том же окне.
Еще очень удобно что IDE сама выбирает порт куда подключена Arduino/ESP.
Сверху есть выпадающее меню где можно совершить все настройки.
Снимок экрана 2016-01-30 в 13.07.51.png
Там же можно и проиницыализировать проект, выбрав под какие платформы будем разрабатывать:
Снимок экрана 2016-01-30 в 13.10.35.png Снимок экрана 2016-01-30 в 13.09.36.png
Ну и написав немного кода проект можно собрать и загрузить:
Снимок экрана 2016-01-30 в 13.14.19.png Снимок экрана 2016-01-30 в 13.17.45.png
Еще сам реактор Atom предоставляет огромный репозиторий всяких плагинов к нему и тем. Можно буквально собрать редактор "под себя".
В общем Arduino IDE теперь в прошлом)))
А эту тему я создал что бы рассказать про эту среду разработки и хоть немного увеличить ее аудиторию.
Может кто еще пользуется PlatformIO и может поведать новичку ее возможности?
 
Последнее редактирование:

sav-13

Member
Чем же так неугодил Arduino IDE ?
И что есть такого в новой среде, лучшего чем в нем?

p.s. В Аруино IDE *.cpp и .h тоже файлы можно прямо в проект добавлять еще с 1.0.XXX версии )))
 

XSmile2008

New member
Да хотя бы такой элементарной вещью как автодополнение когда код пишете. В Arduino IDE ее нет, а тут есть. Плюс здесь с помощью GCC проверяется весь код еще на стадии написания и многие ошибки можно исправить еще до компиляции. Еще из плюсов это быстрое время запуска Atom по сравнению с Arduino IDE. Ну и с помощью плагина можно добавить поддержку git. А это в свою очередь избавляет от необходимости держать открытым еще и терминал с git.

ПС: может я как то не так делал но когда я положил .h и .cpp рядом с .ino файлом ничего не подхватилось. Заработало только когда в /libraries вынес
 
Последнее редактирование:

sav-13

Member
ПС: может я как то не так делал но когда я положил .h и .cpp рядом с .ino файлом ничего не подхватилось. Заработало только когда в /libraries вынес
Файлы сразу появляются на закладках.
А подключение - [HASHTAG]#include[/HASHTAG] "файл.h"

p.s. А ESP8266 мало просто выбрать. Для Arduino IDE Core ESP написана и тоже человеком поддерживается
 

XSmile2008

New member
Хорошо используя скобки "", а не <> файлы подключить удалось но тут же вылезли и недостатки:
1) Файлы должны лежать прямо рядом с .ino файлом, нельзя например розложить файлы по папкам в зависимости от модуля за который они отвечают, то есть положил файлы HMC5883L.h и HMC5883L.cpp в папку HMC5883L и все, оно их не видит.
2) При добавлении любых файлов, что бы они появились в вкладках надо переоткрыть скетч, а если скетч был открыт один то перезапускать прийдется всю IDE а это довольно долго.
3) Ладно они во вкладках не появляются но и скетч не компилируется пока я его не перезапущу и он эти файлы не найдет.

Ну никак Arduino IDE не тянет на звание современной IDE, разработана она для того что бы научится да поиграться. Современные IDE это например IntellijIDEA(и вообще все продукты JetBrains), VisualStidio и тому подобные.

ЗЫ: А вот скрин я файлы вообще удалил из папки а оно их видит еще и компилирует, хотя не должно ж.
Снимок экрана 2016-01-31 в 11.02.15.png
 

lBeJIuk

New member
Пытаюсь поставить PLATFOTMIO - выдает следующую ошибку
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 8: ordinal not in range(128)
Кто знает с чем может быть связано?
 

nampuapx

New member
а у меня выдаёт такое


PlatformIO: Unable to create a virtualenv
Traceback (most recent call last):
File "C:\Users\kolos\AppData\Local\Temp\d-116724-2276-1xbx66x.y7xsrcz0k9\virtualenv-14.0.6\virtualenv.py", line 2304, in <module>
main()
File "C:\Users\kolos\AppData\Local\Temp\d-116724-2276-1xbx66x.y7xsrcz0k9\virtualenv-14.0.6\virtualenv.py", line 705, in main
symlink=options.symlink)
File "C:\Users\kolos\AppData\Local\Temp\d-116724-2276-1xbx66x.y7xsrcz0k9\virtualenv-14.0.6\virtualenv.py", line 924, in create_environment
download=download,
File "C:\Users\kolos\AppData\Local\Temp\d-116724-2276-1xbx66x.y7xsrcz0k9\virtualenv-14.0.6\virtualenv.py", line 877, in install_wheel
call_subprocess(cmd, show_stdout=False, extra_env=env)
File "C:\Users\kolos\AppData\Local\Temp\d-116724-2276-1xbx66x.y7xsrcz0k9\virtualenv-14.0.6\virtualenv.py", line 783, in call_subprocess
% (cmd_desc, proc.returncode))
OSError: Command C:\Users\kolos\.atom...v\Scripts\python.exe -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel failed with error code 2


PlatformIO tool is not available.

Can not find `platformio` command. Please install it using `pip install platformio` or enable built-in PlatformIO tool in `Menu: PlatformIO > Settings > platformio-ide` package.
Details:


 

Вложения

  • 125.4 KB Просмотры: 187

CodeNameHawk

Moderator
Команда форума
Тоже поставил из за авто дополнения.
Вылезло, что некоторые сторонние библиотеки не компилируются.
Нервирует перемещение .ino файла в папку.

Попытка обновиться с 1.3.5 до 1.4.0 выдала ошибку как у см. пост выше.
Удалил из "пацкажес" старую версию и после перезагрузки установилась 1.4.0
 
Последнее редактирование:

SuperBoss

Member
Друзья, а подскажите, как в этой PlatformIO подключать вообще библиотеки? В файле программы они у меня прописаны. Однако компиляция не проходит, поскольку сами файлы лежат в других директориях (а не в подпапке lib, она для приватных библиотек), а IDE про них и не в курсе.
В упор не понимаю, как показать этой среде, где у меня лежат библиотеки (а они лежат в папке Libraries директории скетчбуки и в описаниях плат где-то глубоко в дереве Arduino).
 

rv9Yw

New member
Пытаюсь поставить PLATFOTMIO - выдает следующую ошибку
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 8: ordinal not in range(128)
Кто знает с чем может быть связано?
Конечно баян, но может кто-то тоже будет мучиться как я. Для решения сей проблемы нужно убрать кириллицу везде где можно, например имя компьютера, имя юзера ну и пути к папкам. У меня було имя компа "XXX-ПК"
 

rv9Yw

New member
Друзья, а подскажите, как в этой PlatformIO подключать вообще библиотеки? В файле программы они у меня прописаны. Однако компиляция не проходит, поскольку сами файлы лежат в других директориях (а не в подпапке lib, она для приватных библиотек), а IDE про них и не в курсе.
В упор не понимаю, как показать этой среде, где у меня лежат библиотеки (а они лежат в папке Libraries директории скетчбуки и в описаниях плат где-то глубоко в дереве Arduino).
В PlatformIO проповедуют другую философию. Когда создаете проект, в папке проекта создается папка "lib", вот туда и складывайте нужные вам для проекта библиотеки....

Ну а вообще, я так понял они сейчас работают над менеджером библиотек
 

AndrF

Active member
А что - на мой взгляд, судя по описанию, неплохо.

То что лучше Arduino IDE - это однозначно. Если бы уже не подсел на Visual Micro, то однозначно посмотрел бы на PlatformIO.
 

Korzhov

New member
Схожая ситуация с "unicodedecodeerror".
Подобная ошибка появляется при обновлении прошивки программой FLASH_DOWNLOAD_TOOLS_V3.6.4
Обновляю прошивку ESP8266 посредством USB TTL. Версия прошивки "esp_iot_sdk_v1.4.0".
Файлы во вложении.
Нужна Ваша помощь (
 

Вложения

BrainROM

New member
Использую данный редактор на линуксе. Тут он вообще идеально работает. Количество головомойки уменьшается в разы. Единственное что пока не очень удобно - загрузка через ArduinoOTA и разные левые программаторы. А так вообще топ.
 
Сверху Снизу