Полные альтернативы Arduino IDE? [закрыто]


50

Я не такой большой поклонник официальной среды разработки Arduino (с точки зрения визуализации), поэтому я начал искать более приятные альтернативы. Тем не менее, большинство проектов, которые я нашел, находятся в альфа / бета и, как правило, не завершены.

Я на 100% новичок в программировании плат и никогда раньше не использовал Arduino, но из того, что я понял, IDE Arduino - это просто оболочка для библиотеки avr, которая выполняет фактическую запись на плату. Возможны ли другие IDE "arduino-подобные устройства"?

Опять же, я очень новичок в этом, так что удобство использования было бы неплохо.


20
О боже это. Я привык к полнофункциональным IDE, и переходить от чего-то вроде Wing IDE (для Python) или Visual Studio к тому, что у людей Arduino есть смелость называть "IDE", было похоже на удар по лицу. Вдобавок ко всему, значительная часть процесса сборки Arduino выполняется в исходном коде java, вместо того, чтобы делать что-то разумное, например, создавать make-файл, поэтому управление собственным процессом сборки - это кошмар.
Коннор Вольф

1
Я использовал Eclipse с Arduino (посмотрите arduino.cc/playground/Code/Eclipse и robertcarlsen.net/2009/10/31/arduino-in-eclipse-989 , он работает очень хорошо - это быстро, чисто и отличные ярлыки) Единственным недостатком является то, что первая установка может занять некоторое время :)
Дэн

2
Если вы выполнили какое-либо программирование до TextMate, достаточно avr-libc, make и screen. Я считаю себя новичком в программировании AVR, но это все, что я использую. Чтение паспортов в начале сбивает с толку.
Tuupola

@ VisualMicro Нет, это не единственная полная альтернатива. Смотрите мой комментарий ниже о Стино.
Марнен Лайбоу-Козер

1
Плагин Arduino для Visual Studio Pro и Atmel Studio 6.1 является полной альтернативой Arduino Ide, поддерживающей стандартное или нестандартное оборудование, компиляцию, загрузку, прожиг загрузчиков, программистов, редактирование библиотеки в режиме эксперта, несколько последовательных мониторов, intellisense и многие другие опции. как для начинающих, так и для опытных пользователей. Установка менее чем за 10 минут. Также включает в себя обозреватель примеров Arduino и дополнительный отладчик USB Arduino
Visual Micro

Ответы:


44

Предупреждение, многословное объяснение не за горами. Я хотел бы прояснить некоторые заблуждения, которые, я думаю, у вас есть.

Arduino действительно две вещи.

  1. Коллекция библиотек C / C ++, скомпилированных с помощью avr-gcc и
  2. Небольшая программа прошивки загрузчика, которая ранее была запрограммирована на чипе с завода.

Да, в Arduino IDE в основном используется avr-gcc - компилятор AVR C. Ваши проекты, или "эскизы", включают в себя упомянутые библиотеки Arduino и скомпилированы с avr-gcc. Тем не менее, это не имеет ничего общего с тем, как что-либо записывается на доску. Как эти эскизы развернуты, немного отличается от обычного.

IDE Arduino связывается с вашим Arduino через микросхему usb-to-serial на плате и инициализирует режим программирования, который понимает загрузчик, и отправляет вашу новую программу на чип, где загрузчик поместит ее в какое-то известное место, а затем запустит ее , Не существует «библиотеки avr, которая выполняет фактическую запись» - это просто среда IDE Arduino, открывающая последовательный порт и общающаяся с загрузчиком - именно так ваши отладочные сообщения печатаются в среду IDE также во время выполнения.

Любая альтернативная среда разработки должна иметь возможность осуществлять эту же последовательную связь с загрузчиком. Arduino легок благодаря всем библиотекам, которые они вам уже предоставляют, и программирование в одно касание из IDE. Я, честно говоря, не думаю, что это становится легче или более удобным для пользователя. Они отобрали все детали микроконтроллера AVR и процесса сборки / развертывания.

Альтернативой может быть что-то вроде avr-studio (которая также использует avr-gcc для своего компилятора) и ICSP-программист (который является дополнительным оборудованием, которое вы должны купить). Вам не предоставляется ничего, кроме некоторых заголовочных файлов определения регистра и некоторых полезных макросов. Вам также не предоставляется какой-либо загрузчик на вашем чипе AVR, это просто чистый лист. Что бы вы ни хотели сделать с микроконтроллером, вам нужно будет углубиться в изучение его периферийных устройств и регистров, а также переместить байты в C. Хотите напечатать отладочное сообщение обратно на ПК? Сначала напишите процедуру UART для print () и откройте терминал на своем компьютере.

На шаг ниже этого вы пишете код в текстовом редакторе и вызываете avr-gcc и avr-dude (инструмент командной строки программирования) из Makefile или командной строки.

На шаг ниже, вы пишете ассемблер в текстовом редакторе и вызываете avr-ассемблер и avr-dude.

Я не уверен , куда я иду с этим, я просто думаю , что существующий IDE и Arduino абсолютно гений и идеально подходит для начинающих - их претензии к славе является дружественным к пользователю-Несс. Может быть, не тот ответ, который вы ищете, изучите рабочий процесс и сделайте что-нибудь классное с ним.


2
Не тот ответ, который я ожидал, но действительно прояснил мое понимание устройства. Спасибо
n0pe

4
Arduino IDE на самом деле три вещи. Библиотеки C (++), аппаратное обеспечение и куча java-кода, который каким-то образом помещает библиотеки в ваш написанный код непосредственно перед компиляцией.
Коннор Вольф

21
Процесс сборки Arduino является большим. Тем не менее, он (в данный момент) безвозвратно связан с пылающей грудой текстового редактора Arduino . Я считаю, что OP хочет (и я бы не стал возражать) способ вызова процесса сборки arduino из другой IDE. Как и сейчас, единственный способ выполнить сборку Arduino - это нажать кнопку в IDE. Это не для сценариев.
Коннор Вольф

6
Этот ответ слегка ошибочен. Arduino ide не предоставляет своей собственной возможности загрузки через загрузчик на чипе, вместо этого он использует инструмент командной строки под названием avrdude, чтобы сделать это. Как и в случае с avr-gcc, avrdude не является продуктом Arduino и полностью доступен для использования другими IDE или простыми файлами Makefile.
Крис Страттон

1
@ChrisStratton, не стесняйтесь редактировать, чтобы исправить ошибки / невежество.
Джон Л


10

Я использую SublimeText в качестве основного текстового редактора, поэтому я был очень рад найти Stino , который является плагином Arduino для SublimeText. Это полная замена Arduino IDE (хотя вам нужна копия Arduino IDE, чтобы Stino мог найти библиотеки). В нем есть несколько ошибок, но он вполне пригоден для использования. Я почти не трогал Arduino IDE с тех пор, как открыл Stino.


@clabacchio Когда я получаю комплимент, но не голосую, я обычно предполагаю, что люди не знакомы с концепцией голосования. И я ничего не пометил, поэтому я не знаю, о чем вы здесь говорите.
Марнен Лайбоу-Козер

Извините, у меня есть комментарий к этому комментарию, и по какой-то причине я подумал, что вы пометили свой пост.
Неважно

3
Я просто хочу добавить еще один голос к этому чувству. SublimeText действительно хорош, и это дополнение Stino - реальная сделка.
Стив Кули

2
Это абсолютно невероятно. Я уже использую возвышенный текст, и это означает, что я могу полностью отказаться от приложения Arduino.
Коннор Вольф

И есть еще mcduino для Atom.
Марнен Лайбоу-Козер

5

По совпадению я слышал об этой новой IDE несколько дней назад под названием MariaMole: http://dalpix.com/mariamole


Любопытно, что Мария-Моль - это название очень популярной конфеты в Бразилии:

введите описание изображения здесь


Здорово! Я с нетерпением жду возможности попробовать это, когда будет доступна версия для Mac.
Марнен Лайбоу-Козер

4

Да, создание "Arduino IDE" - это, по сути, создание внешнего интерфейса перед avr-gcc и avrdude. На самом деле, помимо «официальной IDE Arduino», существует довольно много других вариантов. Одна из них может представлять интерес в среде AVR на базе Eclipse:

http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download


Также есть Затмение. Он начинается с поддержки AVR, которую кто-то упомянул, но вы можете загрузить библиотеку Arduino, чтобы написать код Arduino. См. Arduino.cc/playground/Code/Eclipse
ViennaMike

4

Лично я рекомендую (так как я написал это;)) UECIDE . Первоначально он был основан на MPIDE для плат chipKIT, который сам был основан на версии 0023 Arduino IDE, но оригинального кода осталось немного, все было переписано.

Он поддерживает все платы Arduino, а также платы chipKIT, Launchpad, Maple и многое другое.

введите описание изображения здесь


Выглядит многообещающе ...
Орта

С тех пор UECIDE прошли долгий путь. Вы должны проверить последнюю бета-версию ...
Majenko

4

Кроме того, вы можете попробовать основанные на браузере / онлайновые IDE для Arduino, такие как Codebender .


Ухоженная! Те, с кем стоит поиграть.
Марнен Лайбоу-Козер

+1 за то, что рассказал нам о Codebender. Но не могли бы вы исправить ошибку 404 на ссылке Wifino?
Дэвидкари

@davidcary: обновленный ответ, спасибо за примечание.
Boardbite

4

Плагин Изображение
(источник: visualmicro.com )

Бесплатный плагин Microsoft Visual Studio и Atmel Studio прост в использовании и обладает всеми полезными функциями среды разработки Arduino.

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

Предоставляет множество дополнительных функций, таких как детализация ошибок компилятора, дизассемблированное представление (с детализацией), завершение кода, загрузка через программист или через USB.

Поддерживает несколько версий Arduino в одном Ide. Версия Visual Studio также поддерживает Intel Galileo.

Оба Ide поддерживают Arduino Yun Wifi / веб-сервер загрузки. Существует также дополнительный отладчик USB / Serial / Wifi Arduino

Atmel Studio основана на Visual Studio. Atmel Corp. - компания, производящая микроконтроллеры Arduino. Это означает, что Atmel Studio Ide осведомлена о микроконтроллерах Arduino и создана для них.

Atmel Studio также предоставляет другие инструменты, такие как симулятор.

Документация и бесплатный форум


3

Я недавно перешел от шутки, которая является IDE Arduino, к code :: blocks-arduino. Он лучше подходит для более сложных проектов с несколькими исходными файлами. Вы имеете полный контроль над флагами компилятора, целевым объектом сборки и многими другими вещами, которые либо отсутствуют, либо плохо написаны в официальной IDE. По работе он очень похож на плагин eclipse, но не такой раздутый, как код eclipse :: blocks-arduino a автономная сборка. Он поставляется с несколькими полезными инструментами для загрузки и отладки, такими как СУПЕР ХОЛОДНЫЙ И ПОЛЕЗНЫЙ последовательный монитор с некоторыми действительно хорошими функциями, такими как прямая отладка i2c (twi, как вы хотите это называть), последовательный захват и вывод csv и т. Д.

скомпилировано для Windows, с доступными исходными кодами для Linux http://www.arduinodev.com/codeblocks/

Под «средним» подходом подразумевается MariaMole, который, к сожалению, предназначен только для окон, но имеет большую простоту официальной IDE, но с множеством функций «классической» IDE. заметное различие между ними заключается в том, что MariaMole использует файлы .cpp и .h, а code :: blocks-arduino использует .ino как официальную IDE.

только окна; ( http://hackaday.com/2012/11/29/mariamole-an-alternate-arduino-ide-aimed-at-advanced-users/


2
Несмотря на все происходящие здесь события Arduino IDE, люди забывают, что целью «Arduino» (IDE, bootloader / libs, HW) было «заглушить это» для людей, которые являются новичками в таких вещах! Для этого Arduino проделал большую работу. Однако, как только люди выходят за рамки начальной стадии лизания конфет (как это делают большинство), avr-gcc, avr-libc, makefile, simavr, gdb и простой редактор, такой как nano, vi или даже emacs, могут доставить бесконечное удовольствие от работы с Ардуино. Или с простыми 8-битными UC из неизолированного металла AVR на их собственных (или, по крайней мере, собранных) платах. Итак, Code :: blocks, возможно, хороший вариант, но один из многих.
icarus74

Проблема не в том, что Arduino IDE прост и удобен в использовании; Все в порядке. Проблема в том, что его интерфейс плохо спроектирован. Альтернативы, такие как Stino, так же просты, но имеют лучший интерфейс. (Я имею в виду интерфейс Arduino, как это было в 2013 году. Похоже, с тех пор были сделаны некоторые улучшения.)
Marnen Laibow-Koser

2

Jon L: s anser довольно хорошо подводит итог Arduino, и, поскольку он просто затрагивает альтернативы, я мог бы прояснить их немного подробнее.

  1. Arduino с загрузчиком.
  2. ПК с Windows, загруженный с avr-studio и WinAVR (gcc) , и, возможно, jtag для прошивки устройства ( AVR JTAGICE mkII )
  3. Набор инструментов gnu (в Linux или Windows), использующий WinAVR и AVR JTAGICE mkII.

Но обратите внимание, что, как утверждает Джон Л, alt1 является простым и простым, поскольку он удаляет большинство вещей с вашего лица. Включите светодиод, вызовите функцию turnOnLED в библиотеке lib.

Alt2. Вы получаете некоторую помощь по поводу чипа и более классической IDE, но вы должны делать большинство вещей самостоятельно.

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

Так что теперь вы можете выбрать, какой вид разработки вы хотели бы сделать. Одна хорошая вещь с AVR - это то, что такие инструменты, как jtag, вполне доступны, так что это довольно дешевая платформа для работы независимо от того, какой уровень вы используете.

А так как это AVR на Arduino, если у них есть разъем jtag, вы можете использовать alt1,2 и 3 на платах Arduino.


2

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



2

Eclipse - отличная альтернатива, и теперь с плагином eclipse, который вы можете найти по адресу eclipse.baeyens.it, он устанавливается менее чем за 15 минут на Windows Mac и Linux. У него даже есть серийный монитор.


2

Там действительно есть отдельные вещи, которые вам нужны:

  1. Редактор кода.
  2. Набор инструментов и компилятор.
  3. Загрузчик.

Стандартная универсальная среда разработки Arduino поставляется с безумно простым редактором, который вы быстро перерастете. Я рекомендую сначала заменить редактор, продолжайте отвечать на шаге 2 и 3 из базового пакета.

Когда вы будете готовы пойти дальше, посмотрите http://playground.arduino.cc/Main/DevelopmentTools для инструментов, которые могут выполнять все три основные функции.


Основные редакторы постепенно добавляют поддержку Arduino, например, см. Youtrack.jetbrains.com/issue/CPP-364
Брайс

1

Что сказал Дэн (в комментарии к вопросу): Eclipse - полнофункциональная IDE, которая очень хорошо работает с Arduino. (Также, оставив комментарий к настройке). Но самый простой способ настроить его может состоять в том, чтобы перенести чью-либо рабочую установку на свой компьютер, чтобы получить рабочую конфигурацию, и начать настройку оттуда.


0

Я использовал этот Makefile . Он позаботится о большей части процесса для вас. Затем вы просто пишете простой локальный make-файл, чтобы предоставить подробную информацию о плате. Там действительно отличная документация о том, как его использовать. Затем я просто использую свой любимый текстовый редактор для написания кода на C или C ++, компилируя его с помощью моего простого локального make-файла. Загрузка также решается с помощью make-файла, который я связал: просто вызовите «make upload».

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


-1

Это старая идея, которую я нашел очень быстрой и гибкой. Он может программировать Arduinos, а также клоны Arduino, такие как Paperduino или tinyUSB. Вы также можете легко проверить USB или серийные порты, проверить предохранители и многое другое.

https://code.google.com/archive/p/avr-project-ide/


Это не очень хорошая рекомендация - проект не обновлялся с 2011 года и не будет работать со многими новыми платами под маркой Arduino. (В частности, он не будет поддерживать платы ATmega32U4, такие как Arduino Leonardo или Micro, а также не будет поддерживать платы ARM, такие как Arduino Due или Zero.)
duskwuff
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.