Kompletne alternatywy dla Arduino IDE? [Zamknięte]

50

Nie jestem wielkim fanem oficjalnego Arduino IDE (pod względem wizualnym), więc zacząłem szukać ładniejszych alternatyw. Jednak większość projektów, które znalazłem, są w wersji alfa / beta i na ogół są niekompletne.

Jestem w 100% nowy w programowaniu obwodów drukowanych i nigdy wcześniej nie korzystałem z Arduino, ale z tego, co zbieram, Arduino IDE to po prostu opakowanie dla biblioteki avr, która dokonuje właściwego zapisu na płytce. Czy możliwe są inne środowiska IDE typu „arduino-podobne”?

Znowu jestem bardzo nowy, więc przyjazna dla użytkownika byłaby miła.

n0pe
źródło
20
O Boże. Jestem przyzwyczajony do w pełni funkcjonalnych IDE, a przejście z czegoś takiego jak Wing IDE (dla Pythona) lub Visual Studio do tego, co ludzie Arduino mają ochotę nazywać „IDE”, było jak uderzenie pięścią w twarz. Co więcej, znaczna część procesu kompilacji Arduino odbywa się w źródle Java, zamiast tego zrobić coś sensownego, np. Wyemitować plik makefile, więc zarządzanie własnym procesem kompilacji to koszmar.
Connor Wolf,
1
Użyłem Eclipse z Arduino (sprawdź arduino.cc/playground/Code/Eclipse i robertcarlsen.net/2009/10/31/arduino-in-eclipse-989 , działa naprawdę dobrze - jest szybki, czysty i świetne skróty) Jedynym minusem jest to, że pierwsza konfiguracja może potrwać :)
Dan
2
Jeśli zrobiłeś jakieś programowanie przed TextMate, wystarczy avr-libc, make i screen. Uważam się za początkującego w programowaniu AVR, ale to wszystko, czego używam. To czytanie arkuszy danych jest na początku mylące.
tuupola
@VisualMicro Nie, nie jest to jedyna pełna alternatywa. Zobacz mój komentarz poniżej o Stino.
Marnen Laibow-Koser
1
Wtyczka Arduino dla Visual Studio Pro i Atmel Studio 6.1 to kompletna alternatywa dla Arduino Ide obsługująca standardowy lub niestandardowy sprzęt, kompilacja, przesyłanie, nagrywanie bootloaderów, programistów, edycja biblioteki w trybie eksperckim, wiele monitorów szeregowych, intellisense i wiele innych opcji zarówno dla początkujących, jak i zaawansowanych użytkowników. Instalacja trwa mniej niż 10 minut. Zawiera także eksplorator przykładów Arduino i opcjonalny debugger Arduino USB
Visual Micro

Odpowiedzi:

44

Ostrzeżenie, nadchodzi długie wyjaśnienie. Chciałbym wyjaśnić niektóre nieporozumienia, które, jak myślę, masz.

Arduino to tak naprawdę dwie rzeczy.

  1. Zbiór bibliotek C / C ++ skompilowanych z avr-gcc i
  2. Mały program firmware bootloadera, który został wcześniej zaprogramowany fabrycznie na chipie.

Tak, Arduino IDE w zasadzie otacza avr-gcc - kompilator AVR C. Twoje projekty lub „szkice” zawierają wspomniane biblioteki Arduino i są kompilowane z avr-gcc. Jednak nic z tego nie ma nic wspólnego z tym, jak coś zostaje zapisane na tablicy. Sposób wdrażania tych szkiców jest nieco inny niż zwykle.

Arduino IDE komunikuje się z twoim Arduino poprzez układ USB na szeregowy na płycie i inicjuje tryb programowania, który bootloader rozumie i wysyła twój nowy program do układu, w którym bootloader umieści go w znanej lokalizacji, a następnie uruchomi . Nie ma „biblioteki avr, która faktycznie zapisuje” - to tylko Arduino IDE otwierające port szeregowy i rozmawiające z bootloaderem - w ten sposób komunikaty debugowania są drukowane do IDE również podczas działania.

Każde alternatywne IDE będzie musiało być w stanie wykonać tę samą komunikację szeregową z bootloaderem. Arduino jest łatwe ze względu na wszystkie biblioteki, które już ci udostępniają oraz program do uruchamiania i uruchamiania za pomocą jednego przycisku z IDE. Szczerze mówiąc, nie sądzę, aby stało się to łatwiejsze lub bardziej przyjazne dla użytkownika. Wyodrębnili wszystkie szczegóły mikrokontrolera AVR i procesu budowy / wdrażania.

Alternatywą byłoby coś w stylu avr-studio (które używa również avr-gcc w swoim kompilatorze) i programatora ICSP (który jest dodatkowym sprzętem, który musisz kupić). Nie masz wiele innych niż niektóre pliki nagłówkowe definicji rejestru i kilka przydatnych makr. Nie masz też żadnego bootloadera na swoim układzie AVR, to tylko pusta tablica. Cokolwiek chcesz zrobić z mikrokontrolerem, musisz przejść dogłębnie i dowiedzieć się o jego urządzeniach peryferyjnych i rejestrach oraz przenieść bajty w C. Chcesz wydrukować komunikat debugowania z powrotem na PC? Najpierw napisz procedurę UART dla print () i otwórz terminal na komputerze.

O krok niżej piszesz kod w edytorze tekstu i wywołujesz avr-gcc i avr-dude (programowanie wiersza poleceń) z Makefile lub wiersza poleceń.

O krok dalej od tego piszesz asembler w edytorze tekstu i wywołujesz avr-asembler i avr-dude.

Nie jestem pewien, dokąd z tym zmierzam, po prostu myślę, że istniejące IDE i Arduino są absolutnie genialne i idealne dla początkujących - ich pretekstem do sławy jest przyjazność dla użytkownika. Może nie jest to odpowiedź, której szukasz, poznaj przepływ pracy i zrób z tego coś fajnego.

Jon L.
źródło
2
Nie takiej odpowiedzi się spodziewałem, ale naprawdę wyjaśniłem moje zrozumienie urządzenia. Dzięki
n0pe
4
Arduino IDE to tak naprawdę Trzy rzeczy. Biblioteki C (++), sprzęt i garść kodu Java, który wrzuca biblioteki w Twój kod napisany tuż przed czasem kompilacji.
Connor Wolf,
21
Proces kompilacji Arduino jest świetny. Jest jednak (w tym momencie) nieodwołalnie związany z płonącym stosem edytora tekstów bzdur w Arduino . To, co wierzę, że OP chce (i nie miałbym nic przeciwko), to sposób na wywołanie procesu budowania arduino z innego IDE. W tej chwili jedynym sposobem na wykonanie kompilacji Arduino jest kliknięcie przycisku w IDE. To nie jest skryptowalne.
Connor Wolf,
6
Ta odpowiedź jest nieco błędna. Arduino ide nie zapewnia własnej możliwości przesyłania za pośrednictwem bootloadera na chipie, zamiast tego używa do tego narzędzia wiersza poleceń o nazwie avrdude. Podobnie jak w przypadku avr-gcc, avrdude nie jest produktem arduino i jest w pełni dostępny dla innych IDE lub prostych plików Makefile.
Chris Stratton
1
@ChrisStratton, możesz edytować, aby poprawić błędy / ignorancję.
Jon L
10

Używam SublimeText jako mojego głównego edytora tekstu, więc bardzo cieszyłem się ze Stino , które jest wtyczką Arduino dla SublimeText. Jest to kompletny zamiennik Arduino IDE (chociaż musisz mieć kopię Arduino IDE, aby Stino mógł znaleźć biblioteki). Ma kilka błędów, ale jest całkiem użyteczny. Odkąd odkryłem Stino, prawie nie dotknąłem Arduino IDE.

Marnen Laibow-Koser
źródło
@ clabacchio Kiedy dostaję komplement i nie wyrażam aprobaty, ogólnie zakładam, że ludzie nie znają koncepcji głosowania. I niczego nie oflagowałem, więc nie wiem o czym tu mówisz.
Marnen Laibow-Koser
Przepraszamy, dostałem flagę do tego komentarza iz jakiegoś powodu myślałem, że to ty oznaczasz swój post. Nevermind :)
clabacchio
3
Chcę tylko dodać kolejny głos do tego sentymentu. SublimeText jest naprawdę fajny, a ten dodatek do Stino to prawdziwa okazja.
Steve Cooley,
2
To jest absolutnie zrobione z niesamowitych. Już używam wysublimowanego tekstu, a to oznacza, że ​​mogę całkowicie porzucić aplikację arduino.
Connor Wolf,
I jest też mcduino dla Atom.
Marnen Laibow-Koser
5

Przypadkowo słyszałem o tym nowym IDE kilka dni temu o nazwie MariaMole: http://dalpix.com/mariamole


Co ciekawe, Maria-Mole to nazwa bardzo popularnego cukierka w Brazylii:

wprowadź opis zdjęcia tutaj

Daniel Grillo
źródło
Chłodny! Nie mogę się doczekać, aby spróbować tego, gdy dostępna będzie wersja Mac.
Marnen Laibow-Koser
4

Tak, tworzenie „Arduino IDE” polega zasadniczo na umieszczeniu interfejsu użytkownika przed avr-gcc i avrdude. W rzeczywistości istnieje wiele innych opcji poza „oficjalnym Arduino IDE”. Jednym z nich może być środowisko AVR oparte na Eclipse:

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

przestępstwa umysłowe
źródło
Jest też Eclipse. Zaczyna się od wsparcia AVR wymienionego przez kogoś innego, ale można załadować bibliotekę Arduino, aby można było pisać kod Arduino. Zobacz arduino.cc/playground/Code/Eclipse
ViennaMike
4

Osobiście polecam (odkąd to napisałem;)) UECIDE . Pierwotnie był oparty na MPIDE dla płyt chipKIT, który sam był oparty na wersji 0023 Arduino IDE, ale nie ma już dużo oryginalnego kodu, wszystko zostało przepisane.

Obsługuje wszystkie płyty Arduino, a także płyty chipKIT, Launchpad, Maple i wiele innych.

wprowadź opis zdjęcia tutaj

Majenko
źródło
Wygląda obiecująco ...
horta
Od tego czasu UECIDE przeszedł długą drogę. Powinieneś sprawdzić najnowszą wersję beta ...
Majenko
4

Możesz także wypróbować IDE oparte na przeglądarce / online dla Arduino, takie jak Codebender .

zgryz
źródło
Schludny! Wyglądają na warte zabawy.
Marnen Laibow-Koser
+1 za poinformowanie nas o Codebender. Ale czy możesz naprawić błąd 404 na łączu Wifino?
davidcary
@davidcary: Zaktualizowana odpowiedź, dziękuję za notatkę.
Boardbite
4

Obraz wtyczki
(źródło: visualmicro.com )

Bezpłatna wtyczka Microsoft Visual Studio i Atmel Studio jest prosta w obsłudze i ma wszystkie przydatne funkcje Arduino IDE.

Kod szkicu pozostaje w pełni kompatybilny z Arduino Ide. Wtyczka korzysta z tego samego procesu kompilacji i łańcucha narzędzi, co Arduino Ide. Ty wybierasz wersje Arduino Ide, których chcesz używać w swoich projektach.

Zapewnia wiele dodatkowych funkcji, takich jak drążenie w dół po błędach kompilatora, widok zdemontowany (z drążeniem w dół), uzupełnianie kodu, przesyłanie przez programator lub USB.

Obsługuje wiele wersji Arduino w jednym Ide. Wersja Visual Studio obsługuje także Intel Galileo.

Oba Ide obsługują przesyłanie Arduino Yun Wifi / Web Server. Istnieje również opcjonalny debuger Arduino USB / szeregowy / Wi-Fi

Atmel Studio opiera się na Visual Studio. Atmel Corp. to firma produkująca mikrokontrolery Arduino. Oznacza to, że Atmel Studio Ide jest świadomy i stworzony dla mikrokontrolerów Arduino.

Atmel Studio zapewnia również inne narzędzia, takie jak symulator.

Dokumentacja i bezpłatne forum

Visual Micro
źródło
3

Ostatnio przerzuciłem się z żartu jakim jest Arduino IDE na code :: blocks-arduino. Lepiej nadaje się do bardziej złożonych projektów z wieloma plikami źródłowymi. Masz pełną kontrolę nad flagami kompilatora, budowaniem celu i wieloma innymi rzeczami, których brakuje lub źle napisano w oficjalnym IDE. Działa bardzo podobnie do wtyczki eclipse, ale nie jest tak rozdęta jak kod eclipse :: blocks-arduino a samodzielna wersja. Jest wyposażony w kilka przydatnych narzędzi do przesyłania i debugowania, takich jak SUPER CHŁODNY I PRZYDATNY monitor szeregowy z kilkoma naprawdę fajnymi funkcjami, takimi jak bezpośrednie debugowanie i2c (twi, jakkolwiek chcesz to nazwać), przechwytywanie szeregowe i wyjście csv itp.

skompilowany dla systemu Windows, z dostępnymi źródłami linuksa http://www.arduinodev.com/codeblocks/

„Środkowym” podejściem byłaby MariaMole, która niestety jest tylko dla systemu Windows, ale ma wiele prostoty oficjalnego IDE, ale ma wiele cech „klasycznego” IDE. zauważalna różnica między nimi polega na tym, że MariaMole używa plików .cpp i .h, podczas gdy code :: blocks-arduino używa .ino jak oficjalne IDE.

tylko Windows; ( http://hackaday.com/2012/11/29/mariamole-an-alternate-arduino-ide-aimed-at-advanced-users/

Nathan Simpson
źródło
2
Pomimo tego, że dzieje się tutaj bicie Arduino IDE, ludzie zapominają, że celem „Arduino” (IDE, bootloader / libs, HW) było „stępienie” ludzi, którzy są początkującymi w takich sprawach! Z tego powodu Arduino wykonał świetną robotę. Jednak gdy ludzie ukończą wykraczanie poza początkowy etap lizania cukierków (jak większość), avr-gcc, avr-libc, makefile, simavr, gdb i prosty edytor, taki jak nano, vi lub nawet emacs, mogą dać niekończącą się radość z pracy z Arduino. Lub z czystym, niemetalicznym AVR 8-bitowym uC w ich samodzielnie zaprojektowanych (lub przynajmniej zmontowanych) płytach. Tak więc Code :: blocks jest być może dobrą opcją, ale jedną z wielu.
icarus74
Problemem nie jest to, że Arduino IDE jest prosty i łatwy w użyciu; w porządku. Problem polega na tym, że jego interfejs użytkownika jest źle zaprojektowany. Alternatywy takie jak Stino są tak proste, ale mają lepszy interfejs użytkownika. (Mam na myśli interfejs użytkownika Arduino, tak jak to było w 2013 r. Wydaje się, że wprowadzono pewne ulepszenia od tego czasu.)
Marnen Laibow-Koser
2

Jon L: s anser całkiem dobrze podsumowuje Arduino, a ponieważ on po prostu dotyka alternatyw, mógłbym je trochę wyjaśnić.

  1. Arduino z bootloaderem.
  2. Komputer z systemem Windows załadowany avr-studio i WinAVR (gcc) , a może jtag do flashowania urządzenia ( AVR JTAGICE mkII )
  3. Zestaw narzędzi GNU (w systemie Linux lub Windows) korzystający z WinAVR i AVR JTAGICE mkII.

Pamiętaj jednak, że tak jak twierdzi Jon L, alt1 jest prosty i łatwy, ponieważ usuwa większość rzeczy z twojej twarzy. Włącz diodę LED, wywołaj funkcję turnOnLED w lib.

Alt2. Otrzymujesz pomoc na temat układu i bardziej klasycznego IDE, ale większość rzeczy musisz robić samodzielnie.

Alt3. Musisz zrobić wszystko sam, ale zyskujesz maksymalną władzę nad otoczeniem.

Teraz możesz wybrać rodzaj rozwoju, który chcesz zrobić, jedną dobrą rzeczą w AVR jest to, że narzędzia takie jak jtag są dość przystępne, więc jest to dość tania platforma do pracy bez względu na to, jakiego poziomu używasz.

A ponieważ jest to AVR na Arduino, jeśli mają złącze jtag, możesz użyć alt1,2 i 3 na płytach Arduino.

Johan
źródło
2

Możesz używać emacsa (lub podobnego) do pisania kodu, a także tworzyć i wdrażać go. Pakiety arduino są dostarczane z próbkami makefile i kodami pośredniczącymi do robienia wszystkich rzeczy.

Dustin
źródło
2

Eclipse jest świetną alternatywą, a teraz z wtyczką eclipse, którą można znaleźć na stronie eclipse.baeyens.it , instaluje się ona w mniej niż 15 minut na Windows Mac i Linux. Ma nawet monitor szeregowy.

jantje
źródło
2

Naprawdę potrzebujesz osobnych rzeczy:

  1. Edytor kodu.
  2. Łańcuch narzędzi i kompilator.
  3. Program ładujący.

Standardowe wszystko w jednym Arduino IDE zawiera niesamowicie prosty edytor, coś, co szybko przerośnie. Polecam najpierw wymienić edytor, kontynuować odpowiadanie na krokach 2 i 3 z pakietu podstawowego.

Gdy będziesz gotowy, aby wyjść poza to, zobacz http://playground.arduino.cc/Main/DevelopmentTools, aby uzyskać informacje na temat narzędzi, które mogą przejąć wszystkie trzy główne funkcje.

Bryce
źródło
Główni redaktorzy powoli dodają obsługę Arduino, na przykład zobacz youtrack.jetbrains.com/issue/CPP-364
Bryce
1

To, co powiedział Dan (w komentarzu do pytania): Eclipse to w pełni funkcjonalne IDE, które działa bardzo dobrze z Arduino. (Jednak także jego komentarz do instalacji). Ale najłatwiejszym sposobem na skonfigurowanie może być przeniesienie działającej instalacji innej osoby na własną maszynę, aby uzyskać działającą konfigurację i rozpocząć strojenie.

JRobert
źródło
0

Korzystam z tego pliku Makefile . Dba o większość procesu dla Ciebie. Następnie wystarczy napisać prosty lokalny plik makefile, aby podać szczegółowe informacje dotyczące płyty. Naprawdę świetna dokumentacja jak z niego korzystać. Następnie używam preferowanego edytora tekstu do pisania kodu w C lub C ++, kompiluję go za pomocą mojego prostego lokalnego pliku makefile. Przesyłanie jest również obsługiwane przez plik makefile, który połączyłem: wystarczy wywołać „wykonaj przesyłanie”.

To dobre rozwiązanie, ponieważ możesz wtedy użyć dowolnego edytora tekstu. Umożliwia łatwe połączenie wszystkich bibliotek arduino oraz wszystkich bibliotek lokalnych, które posiadasz.

Hunter Akins
źródło
-1

To stara idea, którą znalazłem bardzo szybko i elastycznie. Może programować Arduinos, a także klony Arduino, takie jak Paperduino lub tinyUSB. Możesz także w prosty sposób sprawdzić port USB lub port szeregowy, przetestować bezpieczniki i wiele innych rzeczy.

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

Alfonso
źródło
Nie jest to szczególnie dobra rekomendacja - projekt nie był aktualizowany od 2011 roku i nie będzie działał z wieloma nowszymi płytami z logo Arduino. (W szczególności, że nie będzie wspierać żadnych płyt ATmega32U4, jak Arduino Leonardo lub Micro, ani nie będzie obsługiwać płyty ARM jak Arduino Due lub zero.)
duskwuff