Komplette Alternativen zur Arduino IDE? [geschlossen]

50

Ich bin kein großer Fan der offiziellen Arduino IDE (in Bezug auf Visuals), also habe ich angefangen, nach besseren Alternativen zu suchen. Die meisten Projekte, die ich gefunden habe, befinden sich jedoch in Alpha / Beta und sind im Allgemeinen unvollständig.

Ich bin zu 100% neu in der Programmierung von Leiterplatten und habe noch nie ein Arduino verwendet, aber nach meinem Dafürhalten ist die Arduino IDE nur ein Wrapper für eine AVR-Bibliothek, die das eigentliche Schreiben auf die Platine übernimmt. Sind andere "Arduino-ähnliche Geräte" -IDEs eine mögliche Option?

Auch hier bin ich sehr neu in diesem Bereich, daher wäre die Benutzerfreundlichkeit sehr gut.

n0pe
quelle
20
Oh Gott das. Ich bin es gewohnt, IDEs mit vollem Funktionsumfang zu nutzen und von Wing IDE (für Python) oder Visual Studio zu dem zu wechseln, was die Arduino-Leute als "IDE" bezeichnen können, als wären sie ins Gesicht geschlagen worden. Darüber hinaus wird ein erheblicher Teil des Arduino-Erstellungsprozesses in der Java-Quelle ausgeführt, anstatt ein Makefile ausgeben zu müssen, sodass das Verwalten des eigenen Erstellungsprozesses ein Albtraum ist.
Connor Wolf
1
Ich habe Eclipse mit Arduino verwendet ( siehe arduino.cc/playground/Code/Eclipse und robertcarlsen.net/2009/10/31/arduino-in-eclipse-989 , es funktioniert wirklich gut - es ist schnell, sauber und tolle Verknüpfungen) Der einzige Nachteil ist, dass das erstmalige Einrichten einige Zeit in Anspruch nehmen kann :)
Dan
2
Wenn Sie vor TextMate programmiert haben, reichen avr-libc, make und screen aus. Ich betrachte mich als Anfänger in der AVR-Programmierung, aber das ist alles, was ich benutze. Das Lesen von Datenblättern ist am Anfang verwirrend.
Tuupola
@VisualMicro Nein, es ist nicht die einzige vollständige Alternative. Siehe meinen Kommentar über Stino unten.
Marnen Laibow-Koser
1
Das Plugin für Arduino für Visual Studio Pro und Atmel Studio 6.1 ist eine vollständige Alternative zu Arduino Ide und unterstützt Standard- oder benutzerdefinierte Hardware, das Kompilieren, Hochladen, Brennen von Bootloadern, Programmieren, Bearbeiten von Bibliotheken im Expertenmodus, mehrere serielle Monitore, Intellisense und viele andere Optionen Für Anfänger und Fortgeschrittene. Die Installation dauert weniger als 10 Minuten. Enthält auch den Arduino-Beispiel-Explorer und den optionalen Arduino-USB-Debugger
Visual Micro,

Antworten:

44

Achtung, eine langwierige Erklärung wird folgen. Ich möchte einige Missverständnisse beseitigen, von denen ich glaube, dass Sie sie haben.

Der Arduino ist wirklich zwei Dinge.

  1. Eine Sammlung von C / C ++ - Bibliotheken, die mit avr-gcc und kompiliert wurden
  2. Ein kleines Bootloader-Firmware-Programm, das zuvor ab Werk auf dem Chip programmiert wurde.

Ja, die Arduino-IDE umschließt grundsätzlich avr-gcc - den AVR C-Compiler. Ihre Projekte oder "Skizzen" enthalten die genannten Arduino-Bibliotheken und werden mit avr-gcc kompiliert. Nichts davon hat jedoch etwas damit zu tun, wie etwas an die Tafel geschrieben wird. Wie diese Skizzen eingesetzt werden, ist etwas anders als gewöhnlich.

Die Arduino IDE kommuniziert mit Ihrem Arduino über den USB-zu-Seriell-Chip auf der Karte und initialisiert einen Programmiermodus, den der Bootloader versteht, und sendet Ihr neues Programm an den Chip, wo der Bootloader es an einem bekannten Ort ablegt und dann ausführt . Es gibt keine "Avr-Bibliothek, die das eigentliche Schreiben erledigt" - es ist nur die Arduino-IDE, die einen seriellen Port öffnet und mit dem Bootloader spricht. Auf diese Weise werden Ihre Debug-Meldungen auch zur Laufzeit an die IDE ausgegeben.

Jede alternative IDE muss dieselbe serielle Kommunikation mit dem Bootloader ausführen können. Arduino ist einfach, da alle Bibliotheken, die sie Ihnen bereits zur Verfügung stellen, über die IDE per Tastendruck programmiert und ausgeführt werden können. Ich glaube ehrlich gesagt nicht, dass es einfacher oder benutzerfreundlicher wird. Sie haben alle Details des AVR-Mikrocontrollers und des Erstellungs- / Bereitstellungsprozesses abstrahiert.

Die Alternative wäre so etwas wie avr-studio (das auch avr-gcc für seinen Compiler verwendet) und ein ICSP-Programmierer (eine zusätzliche Hardware, die Sie kaufen müssen). Sie erhalten nur einige Registerdefinitions-Header-Dateien und einige nützliche Makros. Sie haben auch keinen Bootloader auf Ihrem AVR-Chip, es ist nur eine leere Tafel. Wenn Sie mit dem Mikrocontroller arbeiten möchten, müssen Sie sich eingehend mit dessen Hardware-Peripheriegeräten und -Registern befassen und die Bytes in C verschieben. Möchten Sie eine Debug-Meldung zurück an den PC senden? Schreiben Sie zuerst die UART-Routine für print () und öffnen Sie ein Terminal auf Ihrem Computer.

Einen Schritt weiter schreiben Sie Code in einem Texteditor und rufen von einem Makefile oder einer Befehlszeile aus avr-gcc und avr-dude (Programmierkommandozeilen-Tool) auf.

Noch einen Schritt weiter schreiben Sie eine Assembly in einem Texteditor und rufen den Avr-Assembler und den Avr-Dude auf.

Ich bin mir nicht sicher, wohin ich gehen soll, ich denke nur, dass die vorhandene IDE und Arduino absolut genial und perfekt für Anfänger sind - ihr Anspruch auf Ruhm ist Benutzerfreundlichkeit. Vielleicht nicht die Antwort, die Sie suchen, lernen Sie den Arbeitsablauf und machen Sie etwas cooles daraus.

Jon L
quelle
2
Nicht die Antwort, die ich erwartet hatte, sondern die mein Verständnis des Geräts deutlich machte. Thanks
Nr.
4
Die Arduino-IDE besteht eigentlich aus drei Dingen. Die C (++) - Bibliotheken, ein Teil der Hardware und ein Haufen Java-Code, der die Bibliotheken kurz vor der Kompilierung in Ihren geschriebenen Code verwandelt.
Connor Wolf
21
Der Arduino-Build-Prozess ist großartig. Es ist jedoch (in diesem Moment) unwiderruflich an den flammenden Haufen des Arduino- Texteditors gebunden . Was ich glaube, dass das OP will (und ich würde es auch nicht stören), ist eine Möglichkeit, den Arduino-Build-Prozess aus einer anderen IDE heraus aufzurufen. Die einzige Möglichkeit, einen Arduino-Build auszuführen, besteht derzeit darin, auf die Schaltfläche in der IDE zu klicken. Es ist nicht skriptfähig.
Connor Wolf
6
Diese Antwort ist leicht falsch. Der arduino ide bietet keine eigene Fähigkeit zum Hochladen über den Bootloader auf dem Chip, sondern verwendet ein Befehlszeilentool namens avrdude, um dies zu tun. Genau wie bei avr-gcc ist avrdude kein Arduino-Produkt und steht für andere IDEs oder einfache Makefiles zur Verfügung.
Chris Stratton
1
@ ChrisStratton, zögern Sie nicht zu bearbeiten, um Fehler / Unwissenheit zu korrigieren.
Jon L
10

Ich verwende SublimeText als meinen primären Texteditor, daher war ich sehr glücklich, Stino zu finden , ein Arduino-Plugin für SublimeText. Es ist ein vollständiger Ersatz für die Arduino IDE (obwohl Sie eine Kopie der Arduino IDE benötigen, damit Stino die Bibliotheken finden kann). Es hat ein paar Bugs, ist aber durchaus brauchbar. Ich habe die Arduino IDE seit der Entdeckung von Stino kaum berührt.

Marnen Laibow-Koser
quelle
@clabacchio Wenn ich ein Kompliment und keine Gegenstimme bekomme, gehe ich im Allgemeinen davon aus, dass die Leute mit dem Abstimmungskonzept nicht vertraut sind. Und ich habe nichts gemeldet, also weiß ich nicht, wovon du hier sprichst.
Marnen Laibow-Koser
Tut mir leid, dass ich eine Markierung für diesen Kommentar erhalten habe, und aus irgendeinem Grund dachte ich, Sie hätten Ihren eigenen Beitrag markiert. Nevermind :)
Clabacchio
3
Ich möchte diesem Gefühl nur eine weitere Stimme hinzufügen. SublimeText ist wirklich nett, und dieses Stino-Add-On ist der echte Deal.
Steve Cooley
2
Das ist absolut der Hammer gemacht. Ich verwende bereits erhabenen Text, und dies bedeutet, dass ich die Arduino-Anwendung vollständig ablegen kann.
Connor Wolf
Und es gibt auch Mcduino für Atom.
Marnen Laibow-Koser
5

Zufällig habe ich vor einigen Tagen von dieser neuen IDE namens MariaMole gehört: http://dalpix.com/mariamole


Seltsamerweise ist Maria-Mole der Name einer in Brasilien sehr beliebten Süßigkeit:

Bildbeschreibung hier eingeben

Daniel Grillo
quelle
Cool! Ich freue mich darauf, dies zu versuchen, wenn eine Mac-Version verfügbar ist.
Marnen Laibow-Koser
4

Ja, bei der Erstellung einer "Arduino-IDE" geht es im Grunde darum, ein Front-End vor avr-gcc und avrdude zu setzen. Neben der "offiziellen Arduino IDE" gibt es tatsächlich noch einige andere Möglichkeiten. Interessant ist möglicherweise die Eclipse-basierte AVR-Umgebung:

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

Geisteskriminalität
quelle
Es gibt auch Eclipse. Es beginnt mit der AVR-Unterstützung, die von jemand anderem erwähnt wurde, aber Sie können die Arduino-Bibliothek laden, damit Sie Arduino-Code schreiben können. Siehe arduino.cc/playground/Code/Eclipse
ViennaMike
4

Persönlich empfehle ich (seit ich es geschrieben habe;)) UECIDE . Es basierte ursprünglich auf MPIDE für die ChipKIT-Boards, das selbst auf der Version 0023 der Arduino IDE basierte, aber es ist nicht mehr viel vom ursprünglichen Code übrig, es wurde alles neu geschrieben.

Es unterstützt alle Arduino-Boards sowie ChipKIT-Boards, Launchpad, Maple und eine ganze Reihe weiterer.

Bildbeschreibung hier eingeben

Majenko
quelle
Sieht vielversprechend aus ...
Horta
UECIDE hat seitdem einen langen, langen Weg zurückgelegt. Sie sollten sich die neueste Beta-Version
ansehen
4

Sie können auch browserbasierte / Online-IDEs für Arduino wie Codebender ausprobieren .

Boardbite
quelle
Ordentlich! Die sehen es wert aus, damit herumzuspielen.
Marnen Laibow-Koser
+1 für den Hinweis auf Codebender. Aber können Sie den 404-Fehler auf dem Wifino-Link beheben?
Davidcary
@davidcary: Aktualisierte Antwort, danke für den Hinweis.
Boardbite
4

Plugin Image
(Quelle: visualmicro.com )

Das kostenlose Plugin für Microsoft Visual Studio und Atmel Studio ist einfach zu verwenden und verfügt über alle nützlichen Funktionen der Arduino IDE.

Der Skizzencode bleibt voll kompatibel mit dem Arduino Ide. Das Plugin verwendet denselben Build-Prozess und dieselbe Toolkette wie das Arduino Ide. Sie wählen, welche Arduino Ide-Version (en) Sie für Ihre Projekte verwenden möchten.

Bietet viele zusätzliche Funktionen wie Drilldown zu Compilerfehlern, disassemblierte Ansicht (mit Drilldown), Code-Vervollständigung, Upload über Programmierer oder USB.

Unterstützt mehrere Arduino-Versionen in einem einzigen Ide. Die Visual Studio-Version unterstützt auch Intel Galileo.

Beide Ide unterstützen Arduino Yun Wifi / Web Server Upload. Es gibt auch einen optionalen Usb / Serial / Wifi Arduino Debugger

Atmel Studio basiert auf Visual Studio. Atmel Corp. ist das Unternehmen, das die Arduino-Mikrocontroller herstellt. Dies bedeutet, dass das Atmel Studio Ide die Arduino-Mikrocontroller kennt und für diese konzipiert ist.

Atmel Studio bietet auch andere Tools wie einen Simulator.

Dokumentation und kostenloses Forum

Visual Micro
quelle
3

Ich habe kürzlich von dem Witz, der die Arduino-IDE ist, zu code :: blocks-arduino gewechselt. Es eignet sich besser für komplexere Projekte mit mehreren Quelldateien. Sie haben die vollständige Kontrolle über Compiler-Flags, Build-Ziele und viele andere Dinge, die in der offiziellen IDE entweder fehlen oder schlecht geschrieben sind. Sie funktionieren ähnlich wie das Eclipse-Plugin, sind jedoch nicht so aufgebläht wie Eclipse-Code :: blocks-arduino a Standalone-Build. Es enthält mehrere nützliche Tools zum Hochladen und Debuggen, wie einen SUPER COOLEN UND NÜTZLICHEN seriellen Monitor mit einigen wirklich netten Funktionen wie direktem i2c-Debuggen (Twi, wie auch immer Sie es nennen möchten), serieller Erfassung und CSV-Ausgabe usw.

Für Windows kompiliert, mit verfügbaren Linux-Quellen http://www.arduinodev.com/codeblocks/

Ein "mittlerer" Ansatz wäre MariaMole, der leider nur für Windows gedacht ist, aber die Einfachheit der offiziellen IDE aufweist, aber viele der Funktionen einer "klassischen" IDE aufweist. Ein bemerkenswerter Unterschied zwischen den beiden ist, dass MariaMole .cpp- und .h-Dateien verwendet, während code :: blocks-arduino .ino wie die offizielle IDE verwendet.

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

Nathan Simpson
quelle
2
Bei all dem Arduino IDE-Bashing, das hier vor sich geht, vergessen die Leute, dass "Arduino" (die IDE, Bootloader / Libs, HW) das Ziel hatte, es für Leute, die Anfänger in solchen Dingen sind, "herunterzuspielen"! Dafür hat Arduino einen tollen Job gemacht. Sobald die Leute die anfängliche Phase des Leckens von Süßigkeiten hinter sich haben (wie die meisten), können avr-gcc, avr-libc, makefile, simavr, gdb und einfache Editoren wie nano, vi oder sogar emacs endlose Freude an der Arbeit bereiten der Arduino. Oder mit einfachem Baremetall-AVR 8-Bit-uC in ihren selbst entworfenen (oder zumindest zusammengebauten) Platinen. Code :: blocks ist also vielleicht eine gute Option, aber eine von vielen.
Ikarus74
Das Problem ist nicht, dass die Arduino IDE einfach und benutzerfreundlich ist. das ist gut. Das Problem ist, dass die Benutzeroberfläche schlecht gestaltet ist. Alternativen wie Stino sind ebenso einfach, haben aber eine bessere Benutzeroberfläche. (Ich beziehe mich auf die Arduino-Benutzeroberfläche wie im Jahr 2013.
Seitdem wurden anscheinend
2

Jon L: s Anser fasst den Arduino recht gut zusammen und da er nur auf die Alternativen eingeht, könnte ich sie etwas näher erläutern.

  1. Arduino mit dem Bootloader.
  2. Windows-PC mit AVR-Studio und WinAVR (GCC) und möglicherweise einem JTAG zum Flashen des Geräts ( AVR JTAGICE mkII )
  3. Die Gnu-Toolchain (unter Linux oder Windows), die WinAVR und ein AVR JTAGICE mkII verwendet.

Beachten Sie jedoch, dass alt1, wie Jon L feststellt, einfach und einfach ist, da es die meisten Dinge aus Ihrem Gesicht entfernt. Schalten Sie eine LED ein und rufen Sie die Funktion turnOnLED in der lib auf.

Alt2. Sie erhalten Hilfe zum Chip und zu einer klassischeren IDE, müssen aber die meisten Dinge selbst erledigen.

Alt3. Sie müssen alles selbst tun, aber Sie erhalten die maximale Leistung über Ihre Umgebung.

Nun können Sie auswählen, welche Art von Entwicklung Sie durchführen möchten. Eine gute Sache bei AVR ist, dass die Tools wie jtag recht erschwinglich sind und es sich somit um eine recht billige Plattform handelt, mit der Sie arbeiten können, unabhängig davon, auf welcher Ebene Sie arbeiten.

Und da es sich beim Arduino um einen AVR handelt, können Sie bei Verwendung eines J-Tag-Anschlusses Alt1,2 und 3 auf den Arduino-Platinen verwenden.

Johan
quelle
2

Sie können emacs (oder ähnliches) zum Schreiben von Code verwenden und make zum Erstellen und Bereitstellen verwenden. Die Arduino-Pakete werden mit Makefile-Samples und -Stubs ausgeliefert, um all diese Dinge zu erledigen.

Dustin
quelle
2

Eclipse ist eine großartige Alternative und mit dem Eclipse-Plugin, das Sie unter eclipse.baeyens.it finden, kann es in weniger als 15 Minuten unter Windows Mac und Linux installiert werden. Es hat sogar einen seriellen Monitor.

jantje
quelle
2

Es gibt wirklich verschiedene Dinge, die Sie brauchen:

  1. Ein Code-Editor.
  2. Eine Toolchain und ein Compiler.
  3. Ein Bootloader.

Die standardmäßige All-in-One-Arduino-IDE verfügt über einen wahnsinnig einfachen Editor, aus dem Sie schnell herauswachsen können. Ich empfehle, zuerst den Editor zu ersetzen, und weiterhin auf die Schritte 2 und 3 aus dem Basispaket zu antworten.

Unter http://playground.arduino.cc/Main/DevelopmentTools finden Sie Tools, die alle drei Hauptfunktionen übernehmen können.

Bryce
quelle
Die wichtigsten Redakteure fügen langsam Arduino-Unterstützung hinzu, siehe z. B. youtrack.jetbrains.com/issue/CPP-364
Bryce,
1

Was Dan sagte (in einem Kommentar zu der Frage): Eclipse ist eine voll funktionsfähige IDE, die sehr gut mit Arduino zusammenarbeitet. (Seinen Setup-Kommentar allerdings auch unterstützend). Am einfachsten ist es jedoch, die funktionierende Installation eines anderen Benutzers auf Ihren Computer zu portieren, um eine funktionierende Konfiguration zu erhalten, und von dort aus mit der Optimierung zu beginnen.

JRobert
quelle
0

Ich habe dieses Makefile benutzt . Es erledigt den größten Teil des Prozesses für Sie. Dann schreiben Sie einfach ein einfaches lokales Makefile, um brettspezifische Details bereitzustellen. Es gibt eine wirklich gute Dokumentation, wie man es benutzt. Dann benutze ich einfach meinen bevorzugten Texteditor, um Code in C oder C ++ zu schreiben und kompiliere ihn mit meinem einfachen lokalen Makefile. Das Hochladen wird auch von dem Makefile erledigt, das ich verlinkt habe: Rufe einfach "make upload" auf.

Dies ist eine gute Lösung, da Sie dann den gewünschten Texteditor verwenden können. Es ermöglicht Ihnen, alle Arduino-Bibliotheken sowie alle lokalen Bibliotheken, die Sie haben, einfach zu verknüpfen.

Hunter Akins
quelle
-1

Dies ist eine alte Idee, die ich sehr schnell und flexibel gefunden habe. Es kann Arduinos und auch Arduino-Klone wie Paperduino oder tinyUSB programmieren. Sie können auch die USB- oder seriellen Anschlüsse überprüfen, Sicherungen und viele andere Dinge auf einfache Weise testen.

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

Alfonso
quelle
Dies ist keine besonders gute Empfehlung - das Projekt wurde seit 2011 nicht aktualisiert und funktioniert nicht mit vielen neueren Boards der Marke Arduino. (Insbesondere werden keine ATmega32U4-Boards wie das Arduino Leonardo oder Micro unterstützt, noch werden ARM-Boards wie das Arduino Due oder Zero unterstützt.)
duskwuff