Des alternatives complètes à l'IDE Arduino? [fermé]

50

Je ne suis pas un grand fan de l'IDE officiel Arduino (en termes de graphismes), j'ai donc commencé à chercher de meilleures alternatives. Cependant, la plupart des projets que j'ai trouvés sont en alpha / bêta et sont généralement incomplets.

Je suis 100% nouveau en programmation de carte de circuit et je n’avais jamais utilisé d’Arduino auparavant, mais d’après ce que je comprends, l’IDE ​​Arduino n’est qu’une enveloppe pour une bibliothèque avr qui effectue l’écriture proprement dite sur la carte. D'autres IDE "de type arduino-like" sont-ils une option possible?

Encore une fois, je suis très novice dans ce domaine, alors la convivialité serait agréable.

n0pe
la source
20
Oh mon dieu ça. Je suis habitué aux IDE complets, et passer de quelque chose comme Wing IDE (pour Python) ou Visual Studio à ce que les gens Arduino ont le culot d'appeler un "IDE", c'était comme être frappé à la gueule. En plus de cela, une partie importante du processus de construction Arduino est réalisée dans la source Java, plutôt que de lui demander de faire quelque chose de raisonnable, comme émettre un fichier makefile. La gestion de votre propre processus de construction est donc un cauchemar.
Connor Wolf
1
J'ai utilisé Eclipse avec Arduino (consultez arduino.cc/playground/Code/Eclipse et robertcarlsen.net/2009/10/31/arduino-in-eclipse-989 , cela fonctionne vraiment bien - c'est rapide, propre et de très bons raccourcis) Le seul inconvénient, c'est que la première installation peut prendre un moment :)
Dan
2
Si vous avez déjà programmé avant TextMate, avr-libc, make et screen suffisent. Je me considère débutant en programmation AVR mais c’est tout ce que j’utilise. C'est la lecture des fiches de données qui prête à confusion au début.
tuupola
@VisualMicro Non, ce n'est pas la seule alternative complète. Voir mon commentaire ci-dessous à propos de Stino.
Marnen Laibow-Koser
1
Le plug-in Arduino pour Visual Studio Pro et Atmel Studio 6.1 constitue une alternative complète à Arduino Ide, qui prend en charge le matériel standard ou personnalisé, la compilation, le téléchargement, la gravure de chargeurs de démarrage, les programmeurs, l'édition de bibliothèques en mode expert, plusieurs moniteurs en série, intellisense et bien d'autres options. pour les utilisateurs novices et avancés. L'installation est inférieure à 10 minutes. Inclut également l’explorateur d’exemples Arduino et le débogueur USB Arduino en
Visual Micro

Réponses:

44

Attention, une longue explication est à venir. Je voudrais effacer certaines idées fausses que je pense que vous avez.

L'Arduino est vraiment deux choses.

  1. Une collection de bibliothèques C / C ++ compilées avec avr-gcc et
  2. Un petit programme de micrologiciel de bootloader qui a été précédemment programmé sur la puce depuis l’usine.

Oui, l'IDE Arduino enveloppe fondamentalement avr-gcc - le compilateur AVR C. Vos projets, ou "sketches", intègrent les bibliothèques Arduino mentionnées et sont compilés avec avr-gcc. Cependant, rien de tout cela n'a à voir avec la manière dont quelque chose est écrit au tableau. La manière dont ces esquisses sont déployées est un peu différente de celle habituelle.

L'EDI Arduino communique avec votre Arduino via la puce USB vers série de la carte. Il initialise un mode de programmation que le chargeur de démarrage comprend et envoie votre nouveau programme à la puce où le chargeur de démarrage le placera à un emplacement connu, puis l'exécutera. . Il n’existe pas de "bibliothèque avr qui effectue l’écriture" - c’est l’EDI Arduino qui ouvre un port série et communique avec le chargeur de démarrage - c’est ainsi que vos messages de débogage sont imprimés dans l’EDI pendant l’exécution.

Tout IDE alternatif devra pouvoir effectuer cette même communication série avec le chargeur de démarrage. Arduino est facile en raison de toutes les bibliothèques qu’ils vous fournissent déjà et de la programmation par programme à une touche depuis l’EDI. Honnêtement, je ne pense pas que cela soit plus facile ou plus convivial. Ils ont résumé tous les détails du micro-contrôleur AVR et du processus de construction / déploiement.

L'alternative serait quelque chose comme avr-studio (qui utilise également avr-gcc pour son compilateur) et un programmeur ICSP (qui est un élément de matériel supplémentaire que vous devez acheter). On ne vous fournit rien d'autre que des fichiers d'en-tête de définition de registre et des macros utiles. Vous n'avez pas non plus de chargeur de démarrage sur votre puce AVR, c'est juste une ardoise vierge. Avec tout ce que vous voulez faire avec le microcontrôleur, vous devrez approfondir l'analyse et connaître ses périphériques matériels, ainsi que les registres et le déplacement des octets dans C. Vous souhaitez imprimer un message de débogage sur votre PC? Écrivez d’abord la routine UART pour print () et ouvrez un terminal sur votre ordinateur.

Un peu plus bas, vous écrivez du code dans un éditeur de texte et appelez avr-gcc et avr-dude (outil de programmation en ligne de commande) à partir d'un fichier Makefile ou d'une ligne de commande.

Un peu plus bas, vous écrivez assemblage dans un éditeur de texte et appelez avr-assembler et avr-mec.

Je ne sais pas trop où je veux en venir, je pense simplement que l'IDE et l'Arduino existants sont absolument géniaux et parfaits pour un débutant - leur prétention à la renommée est la convivialité. Peut-être pas la réponse que vous cherchez, apprenez le flux de travail et faites quelque chose de sympa avec ça.

Jon L
la source
2
Ce n'était pas la réponse à laquelle je m'attendais, mais j'ai vraiment clarifié ma compréhension de l'appareil. Merci
n0pe
4
L'IDE Arduino est en réalité trois choses. Les bibliothèques C (++), un composant matériel et un paquet de code java qui intègre les bibliothèques dans votre code écrit d’une manière ou d’une autre juste avant la compilation.
Connor Wolf
21
Le processus de construction Arduino est génial. Cependant, il est (en ce moment) irrévocablement lié à la pile enflammée d' éditeur de texte de merde de l'Arduino . Ce que je crois que le PO veut (et ça ne me dérangerait pas non plus), est de pouvoir appeler le processus de compilation arduino depuis un autre IDE. À l'heure actuelle, le seul moyen d'exécuter une compilation Arduino consiste à cliquer sur le bouton dans l'EDI. Ce n'est pas scriptable.
Connor Wolf
6
Cette réponse est légèrement fausse. Arduino ide ne fournit pas sa propre capacité de téléchargement via le chargeur de démarrage sur la puce, mais utilise un outil en ligne de commande appelé avrdude pour le faire. Tout comme avec avr-gcc, avrdude n'est pas un produit Arduino, il est entièrement disponible pour d'autres IDE ou simples Makefiles.
Chris Stratton
1
@ChrisStratton, n'hésitez pas à modifier pour corriger les erreurs / ignorance.
Jon L
10

J'utilise SublimeText comme principal éditeur de texte. J'ai donc été très heureux de trouver Stino , un plugin Arduino pour SublimeText. C'est un remplacement complet de l'EDI Arduino (bien que vous ayez besoin d'une copie de l'EDI Arduino pour que Stino puisse trouver les bibliothèques). Il a quelques bugs, mais est tout à fait utilisable. J'ai à peine touché l'IDE Arduino depuis la découverte de Stino.

Marnen Laibow-Koser
la source
@clabacchio Quand je reçois un compliment et pas de vote positif, je suppose généralement que les gens ne connaissent pas le concept de vote. Et je n'ai rien signalé, alors je ne sais pas de quoi vous parlez ici.
Marnen Laibow-Koser
Désolé, j'ai eu un drapeau sur ce commentaire et pour une raison quelconque, j'ai pensé que c'était vous qui signaliez votre propre message. Nevermind :)
clabacchio
3
Je veux juste ajouter une autre voix à ce sentiment. SublimeText est vraiment sympa, et cet add-on Stino est la vraie affaire.
Steve Cooley
2
Ceci est absolument fait de génial. J'utilise déjà du texte sublime, ce qui signifie que je peux totalement abandonner l'application Arduino.
Connor Wolf
Et il y a aussi mcduino pour Atom.
Marnen Laibow-Koser
5

Par coïncidence, j'ai entendu parler de cette nouvelle IDE appelée MariaMole il y a quelques jours: http://dalpix.com/mariamole


Curieusement, Maria-Mole est le nom d'un bonbon très populaire au Brésil:

entrez la description de l'image ici

Daniel Grillo
la source
Cool! J'ai hâte d'essayer cela lorsqu'une version Mac sera disponible.
Marnen Laibow-Koser
4

Ouais, créer un "IDE Arduino" consiste essentiellement à mettre un front-end devant avr-gcc et avrdude. Il y a en fait beaucoup d'autres choix en plus de "l'IDE officiel Arduino". L’environnement AVR basé sur Eclipse pourrait être intéressant:

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

crime mental
la source
Il y a aussi Eclipse. Cela commence par le support technique d'AVR, mentionné par quelqu'un d'autre, mais vous pouvez charger la bibliothèque Arduino pour pouvoir écrire du code Arduino. Voir arduino.cc/playground/Code/Eclipse
ViennaMike
4

Personnellement je recommande (depuis que je l'ai écrit;)) UECIDE . Il était à l'origine basé sur MPIDE pour les cartes chipKIT, qui était lui-même basé sur la version 0023 de l'IDE Arduino, mais il ne reste plus grand-chose du code original à présent, tout a été réécrit.

Il prend en charge toutes les cartes Arduino, ainsi que les cartes chipKIT, Launchpad, Maple et bien d'autres encore.

entrez la description de l'image ici

Majenko
la source
Semble prometteur ...
horta
UECIDE a parcouru un long chemin depuis lors. Vous devriez vérifier la dernière version bêta ...
Majenko
4

Vous pouvez également essayer des IDE en ligne / sur navigateur pour Arduino, tels que Codebender .

boardbite
la source
Soigné! Celles qui valent la peine de jouer avec.
Marnen Laibow-Koser
+1 pour nous avoir parlé de Codebender. Mais pourriez-vous corriger l'erreur 404 sur le lien Wifino?
davidcary
@davidcary: Réponse mise à jour, merci pour la note.
boardbite
4

Plugin Image
(source: visualmicro.com )

Le logiciel gratuit Microsoft Visual Studio et Atmel Studio Plugin est simple à utiliser et offre toutes les fonctionnalités utiles de l'IDE Arduino.

Le code d'esquisse reste entièrement compatible avec l'Arduino Ide. Le plugin utilise le même processus de construction et la même chaîne d’outils que Arduino Ide. Vous choisissez la ou les versions d’Arduino Ide que vous souhaitez utiliser avec vos projets.

Fournit de nombreuses fonctionnalités supplémentaires telles que l'exploration en profondeur des erreurs du compilateur, la vue désassemblée (avec l'exploration en profondeur), la complétion du code, le téléchargement par le biais du programmeur ou de l'interface USB.

Prend en charge plusieurs versions Arduino dans un seul Ide. La version de Visual Studio prend également en charge Intel Galileo.

Les deux Ide prennent en charge le téléchargement Arduino Yun Wifi / Web Server. Il y a aussi un débogueur Arduino USB / Série / Wifi optionnel

Atmel Studio est basé sur Visual Studio. Atmel Corp. est la société qui fabrique les micro-contrôleurs Arduino. Cela signifie qu'Atmel Studio Ide est conscient et fait pour les micro-contrôleurs Arduino.

Atmel Studio fournit également d'autres outils tels qu'un simulateur.

Documentation et forum gratuit

Visual Micro
la source
3

Je suis récemment passé de la blague qui est l'IDE Arduino à code :: blocks-arduino. Il convient mieux aux projets plus complexes comportant plusieurs fichiers sources. Vous avez le contrôle total sur les drapeaux du compilateur, la cible de construction et bien d’autres choses manquantes ou mal écrites dans l’EDI officiel. Son fonctionnement est très similaire à celui du plug-in eclipse, mais il n’est pas aussi encombré que le code éclipse :: blocks-arduino construction autonome. Il est livré avec plusieurs outils utiles pour le téléchargement et le débogage, tels qu'un moniteur série SUPER COOL AND UTIF avec des fonctionnalités vraiment intéressantes comme le i2c direct (twi, comme vous voulez l'appeler): débogage, capture en série et sortie csv, etc.

compilé pour windows, avec les sources linux disponibles http://www.arduinodev.com/codeblocks/

MariaMole est une approche "moyenne" qui, malheureusement, n’est exploitée que par Windows, mais présente beaucoup de la simplicité de l’IDE ​​officiel, mais avec beaucoup des caractéristiques d’un IDE "classique". MariaMole utilise les fichiers .cpp et .h tandis que code :: blocks-arduino utilise .ino comme l'EDI officiel.

fenêtres uniquement; ( http://hackaday.com/2012/11/29/mariamole-an-alternate-arduino-ide-aimed-at-advanced-users/

Nathan Simpson
la source
2
Malgré tout ce qui se passe ici avec l'IDE Arduino, les gens oublient que l'objectif d'Arduino (l'IDE, bootloader / libs, HW) était de "calmer le jeu" pour les débutants dans ce domaine! Pour cela, Arduino a fait un excellent travail. Cependant, une fois que les gens ont dépassé le stade initial de léchage de bonbons (comme la plupart le font), avr-gcc, avr-libc, makefile, simavr, gdb et un simple éditeur comme nano, vi ou même emacs peuvent donner une joie sans fin de travailler avec l'Arduino. Ou bien, avec un simple AVB 8 bits Baremetal AVR dans leurs cartes conçues par eux-mêmes (ou du moins, assemblées). Donc, Code :: blocks est peut-être une bonne option, mais une parmi beaucoup d'autres.
icarus74
Le problème n'est pas que l'IDE Arduino est simple et facile à utiliser; C'est très bien. Le problème est que son interface utilisateur est mal conçue. Les alternatives comme Stino sont aussi simples mais ont une meilleure interface utilisateur. (Je fais référence à l'interface utilisateur Arduino telle qu'elle était en 2013. Il semble y avoir eu quelques améliorations depuis.)
Marnen Laibow-Koser
2

Jon L: sa réponse résume assez bien l'Arduino et, puisqu'il aborde simplement les alternatives, je pourrais les préciser un peu plus.

  1. Arduino avec le chargeur de démarrage.
  2. PC Windows chargé avec avr-studio et WinAVR (gcc) , et peut-être un jtag pour flasher le périphérique ( AVR JTAGICE mkII )
  3. La chaîne d’outils gnu (sous Linux ou Windows) qui utilise WinAVR et un AVR JTAGICE mkII.

Mais notez bien que, comme le dit Jon L, alt1 est simple et pratique, car elle supprime la plupart des choses de votre visage. Allumez une LED, appelez la fonction turnOnLED dans la bibliothèque.

Alt2. Vous obtenez de l'aide sur la puce et un IDE plus classique, mais vous devez faire la plupart des choses vous-même.

Alt3. Vous devez tout faire vous-même, mais vous obtenez un maximum de pouvoir sur votre environnement.

Alors maintenant, vous pouvez choisir le type de développement que vous souhaitez faire. Une bonne chose avec AVR, c'est que les outils comme le jtag sont assez abordables. C'est donc une plate-forme relativement peu chère pour travailler, quel que soit le niveau utilisé.

Et puisqu'il s'agit d'un AVR sur l'Arduino, s'ils ont un connecteur Jtag, vous pouvez utiliser les options alt1,2 et 3 sur les cartes Arduino.

Johan
la source
2

Vous pouvez utiliser emacs (ou similaire) pour écrire du code, et en faire pour le construire et le déployer. Les paquets arduino sont livrés avec des échantillons de makefile et des stubs permettant de tout faire.

Dustin
la source
2

Eclipse est une excellente alternative et maintenant, avec le plugin eclipse, vous pouvez le trouver sur eclipse.baeyens.it. Il s’installe en moins de 15 minutes sous Windows Mac et Linux. Il a même un moniteur série.

Jantje
la source
2

Il y a vraiment différentes choses dont vous avez besoin:

  1. Un éditeur de code.
  2. Une chaîne d'outils et un compilateur.
  3. Un chargeur de démarrage.

L'IDE Arduino tout-en-un standard est livré avec un éditeur incroyablement basique, quelque chose que vous allez rapidement dépasser. Je recommande de remplacer l'éditeur en premier, continuez à répondre aux étapes 2 et 3 du package de base.

Une fois que vous êtes prêt à vous aventurer au-delà, consultez http://playground.arduino.cc/Main/DevelopmentTools pour des outils pouvant assumer les trois fonctions principales.

Bryce
la source
Les principaux éditeurs ajoutent lentement le support Arduino, par exemple, voir youtrack.jetbrains.com/issue/CPP-364
Bryce
1

Ce que Dan a dit (dans un commentaire sur la question): Eclipse est un IDE complet qui fonctionne très bien avec Arduino. (Appuyant également son commentaire d'installation, cependant). Mais le moyen le plus simple de le configurer peut être de transférer l'installation de quelqu'un d'autre sur votre propre machine pour obtenir une configuration qui fonctionne et de commencer à peaufiner à partir de là.

JRobert
la source
0

J'ai utilisé ce Makefile . Il prend en charge la majeure partie du processus pour vous. Ensuite, il vous suffit d'écrire un fichier Make local simple pour fournir des détails spécifiques au conseil. Il existe une très bonne documentation pour savoir comment l'utiliser. Ensuite, j'utilise simplement mon éditeur de texte préféré pour écrire du code en C ou C ++, et le compile avec mon fichier Make local simple. Le téléchargement est également traité par le makefile que j'ai lié: il suffit d'appeler "make upload".

C'est une bonne solution car vous pouvez alors utiliser l'éditeur de texte de votre choix. Il vous permet de relier facilement toutes les bibliothèques Arduino, ainsi que toutes les bibliothèques locales que vous avez.

Hunter Akins
la source
-1

C'est un vieil Ide que j'ai trouvé très rapide et flexible. Il peut programmer des Arduinos, mais aussi des clones Arduino comme Paperduino ou tinyUSB. Vous pouvez également vérifier facilement les ports USB ou série, tester les fusibles et bien d’autres choses.

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

Alfonso
la source
Cette recommandation n'est pas particulièrement bonne - le projet n'a pas été mis à jour depuis 2011 et ne fonctionnera pas avec de nombreuses cartes plus récentes portant la marque Arduino. (En particulier, il ne supportera pas les cartes ATmega32U4, comme les Arduino Leonardo ou Micro, ni les cartes ARM comme Arduino Due ou Zero.)
duskwuff