¿Alternativas completas al IDE de Arduino? [cerrado]


50

No soy tan fanático del IDE oficial de Arduino (en términos de imágenes), así que comencé a buscar alternativas más agradables. Sin embargo, la mayoría de los proyectos que he encontrado están en alfa / beta y generalmente están incompletos.

Soy 100% nuevo en la programación de placas de circuito y nunca he usado un Arduino antes, pero por lo que deduzco, el IDE de Arduino es solo un contenedor para una biblioteca avr que hace la escritura real en la placa. ¿Son posibles otras IDEs de "dispositivo tipo arduino"?

Nuevamente, soy muy nuevo en esto, por lo que la facilidad de uso sería agradable.


20
Oh dios esto. Estoy acostumbrado a los IDE con todas las funciones, y pasar de algo como Wing IDE (para Python) o Visual Studio a lo que la gente de Arduino tiene el descaro de llamar un "IDE" fue como recibir un puñetazo en la cara. Además de eso, una parte significativa del proceso de compilación de Arduino se realiza en la fuente de Java, en lugar de hacer que haga algo sensato como emitir un archivo MAKE, por lo que administrar su propio proceso de compilación es una pesadilla.
Connor Wolf

1
He usado Eclipse con Arduino (echa un vistazo a arduino.cc/playground/Code/Eclipse y robertcarlsen.net/2009/10/31/arduino-in-eclipse-989 , funciona muy bien, es rápido, limpio y excelentes accesos directos) único inconveniente es que la configuración inicial puede tomar mientras :)
Dan

2
Si ha realizado alguna programación antes de TextMate, avr-libc, make y screen son suficientes. Me considero un principiante en la programación AVR, pero eso es todo lo que uso. La lectura de las hojas de datos es confusa al principio.
tuupola

@VisualMicro No, no es la única alternativa completa. Vea mi comentario a continuación sobre Stino.
Marnen Laibow-Koser

1
El complemento Arduino para Visual Studio Pro y Atmel Studio 6.1 es una alternativa completa al Arduino Ide que admite hardware estándar o personalizado, compilación, carga, grabación de cargadores de arranque, programadores, edición de biblioteca en modo experto, múltiples monitores seriales, intellisense y muchas otras opciones tanto para usuarios novatos como avanzados. La instalación es inferior a 10 minutos. También incluye el explorador de ejemplos Arduino y el depurador USB Arduino
Visual Micro

Respuestas:


44

Advertencia, se presenta una explicación larga y sin aliento. Me gustaría aclarar algunos conceptos erróneos que creo que estás teniendo.

El Arduino es realmente dos cosas.

  1. Una colección de bibliotecas C / C ++ compiladas con avr-gcc y
  2. Un pequeño programa de firmware del gestor de arranque que se programó previamente en el chip de fábrica.

Sí, el IDE de Arduino básicamente envuelve avr-gcc, el compilador AVR C. Sus proyectos, o "bocetos", incorporan las bibliotecas Arduino mencionadas y se compilan con avr-gcc. Sin embargo, nada de esto tiene nada que ver con cómo se escribe algo en la pizarra. La forma en que se implementan estos bocetos es un poco diferente de lo habitual.

El IDE de Arduino se comunica con su Arduino a través del chip USB a serie en la placa e inicializa un modo de programación que el gestor de arranque comprende y envía su nuevo programa al chip donde el gestor de arranque lo colocará en una ubicación conocida y luego lo ejecutará . No existe una "biblioteca avr que realice la escritura real", es solo el IDE de Arduino que abre un puerto serie y habla con el gestor de arranque, así es como también se imprimen sus mensajes de depuración en el IDE durante el tiempo de ejecución.

Cualquier IDE alternativo tendrá que poder hacer esta misma comunicación en serie con el gestor de arranque. Arduino es fácil debido a todas las bibliotecas que ya le proporcionan y un programa de un solo toque y ejecutar desde el IDE. Sinceramente, no creo que sea más fácil o más fácil de usar. Han resumido todos los detalles del microcontrolador AVR y el proceso de construcción / implementación.

La alternativa sería algo como avr-studio (que también usa avr-gcc para su compilador) y un programador ICSP (que es una pieza adicional de hardware que debe comprar). No tiene mucho más que algunos archivos de encabezado de definición de registro y algunas macros útiles. Tampoco se le proporciona ningún cargador de arranque en su chip AVR, es solo una pizarra en blanco. Cualquier cosa que desee hacer con el microcontrolador, tendrá que profundizar y aprender sobre sus periféricos y registros de hardware y mover los bytes en C. ¿Desea imprimir un mensaje de depuración en la PC? Escriba la rutina UART para print () primero y abra una terminal en su computadora.

Un paso más abajo de esto, está escribiendo código en un editor de texto y llamando a avr-gcc y avr-dude (herramienta de línea de comandos de programación) desde un Makefile o línea de comandos.

Un paso más bajo de eso y estás escribiendo ensamblaje en un editor de texto y llamando al avr-assembler y avr-dude.

No estoy seguro de a dónde voy con esto, solo creo que el IDE y Arduino existentes son absolutamente geniales y perfectos para un principiante: su reclamo de fama es fácil de usar. Tal vez no sea la respuesta que está buscando, aprenda el flujo de trabajo y haga algo genial con él.


2
No es la respuesta que esperaba, pero realmente me aclaró la comprensión del dispositivo. Gracias
n0pe

44
El IDE arduino es en realidad tres cosas. Las bibliotecas C (++), una pieza de hardware y un montón de código Java que combina las bibliotecas en su código escrito de alguna manera justo antes del tiempo de compilación.
Connor Wolf

21
El proceso de construcción de Arduino es excelente. Sin embargo, (en este momento) está irrevocablemente unido al ardiente montón de editor de texto basura de Arduino . Lo que creo que el OP quiere (y tampoco me importaría), es una forma de llamar al proceso de construcción de arduino desde otro IDE. Tal como está ahora, la única forma de ejecutar una compilación de Arduino es hacer clic en el botón en el IDE. No es programable.
Connor Wolf

66
Esta respuesta está ligeramente equivocada. El arduino ide no proporciona su propia capacidad para cargar a través del gestor de arranque en el chip, sino que utiliza una herramienta de línea de comandos llamada avrdude para hacerlo. Al igual que con avr-gcc, avrdude no es un producto arduino y está completamente disponible para que lo utilicen otros IDE o Makefiles simples.
Chris Stratton

1
@ChrisStratton, siéntase libre de editar para corregir errores / ignorancia.
Jon L


10

Utilizo SublimeText como mi editor de texto principal, así que estaba muy feliz de encontrar Stino , que es un complemento de Arduino para SublimeText. Es un reemplazo completo para el Arduino IDE (aunque es necesario tener una copia del Arduino IDE para que Stino pueda encontrar las bibliotecas). Tiene algunos errores, pero es bastante utilizable. Apenas he tocado el IDE de Arduino desde que descubrí Stino.


@clabacchio Cuando recibo un cumplido y no recibo un voto positivo, generalmente asumo que las personas no están familiarizadas con el concepto de votación. Y no marqué nada, así que no sé de qué estás hablando aquí.
Marnen Laibow-Koser

Lo siento, obtuve una marca en ese comentario y por alguna razón pensé que estabas marcando tu propia publicación. No
importa

3
Solo quiero agregar otra voz a este sentimiento. SublimeText es realmente agradable, y este complemento de Stino es el verdadero negocio.
Steve Cooley

2
Esto está absolutamente hecho de increíble. Ya uso texto sublime, y esto significa que puedo deshacerme por completo de la aplicación arduino.
Connor Wolf

Y también está mcduino para Atom.
Marnen Laibow-Koser


4

Sí, crear un "Arduino IDE" consiste básicamente en poner un front-end delante de avr-gcc y avrdude. En realidad, hay muchas otras opciones además del "IDE oficial de Arduino". Uno que podría ser de interés es el entorno AVR basado en Eclipse:

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


También está Eclipse. Comienza con el soporte AVR que alguien más mencionó, pero puede cargar la biblioteca Arduino para poder escribir el código Arduino. Ver arduino.cc/playground/Code/Eclipse
ViennaMike

4

Personalmente recomiendo (desde que lo escribí;)) UECIDE . Originalmente se basó en MPIDE para las placas chipKIT, que se basó en la versión 0023 del IDE de Arduino, pero no queda mucho del código original ahora, todo se ha reescrito.

Es compatible con todas las placas Arduino, además de las placas chipKIT, Launchpad, Maple y todo un host más.

ingrese la descripción de la imagen aquí


Parece prometedor ...
horta

UECIDE ha recorrido un largo camino desde entonces. Deberías consultar la última versión beta ...
Majenko

4

Además, puede probar IDE basados ​​en navegador / en línea para Arduino, como Codebender .


¡Ordenado! Esos parecen vale la pena jugar con ellos.
Marnen Laibow-Koser

+1 por contarnos sobre Codebender. ¿Pero podría solucionar el error 404 en el enlace de Wifino?
davidcary

@davidcary: Respuesta actualizada, gracias por la nota.
Mordida del

4

Imagen de complemento
(fuente: visualmicro.com )

El complemento gratuito Microsoft Visual Studio y Atmel Studio es fácil de usar y tiene todas las características útiles del IDE de Arduino.

El código de boceto sigue siendo totalmente compatible con el Arduino Ide. El complemento utiliza el mismo proceso de compilación y cadena de herramientas que Arduino Ide. Tú eliges qué versión (s) de Arduino Ide quieres usar con tus proyectos.

Proporciona muchas características adicionales, como desglosar los errores del compilador, vista desmontada (con desglose), finalización del código, carga mediante programador o Usb.

Admite múltiples versiones de Arduino en una sola Ide. La versión de Visual Studio también es compatible con Intel Galileo.

Ambos Ide admiten la carga de Arduino Yun Wifi / Web Server. También hay un depurador Arduino Usb / Serial / Wifi opcional

Atmel Studio está basado en Visual Studio. Atmel Corp. es la compañía que fabrica los microcontroladores Arduino. Esto significa que Atmel Studio Ide conoce y está hecho para los microcontroladores Arduino.

Atmel Studio también proporciona otras herramientas, como un simulador.

Documentación y foro gratuito .


3

Recientemente cambié de la broma que es el IDE de Arduino a code :: blocks-arduino. Es más adecuado para proyectos más complejos con múltiples archivos fuente. Usted tiene control completo sobre los indicadores del compilador, el destino de compilación y muchas otras cosas que faltan o están mal escritas en el IDE oficial. Es muy similar en operación al complemento de eclipse, pero no tan hinchado como el código de eclipse :: blocks-arduino a construcción independiente. Viene con varias herramientas útiles para cargar y depurar, como un monitor en serie SÚPER FRÍO Y ÚTIL con algunas características realmente agradables como depuración directa i2c (twi, como quiera llamarlo), captura en serie y salida csv, etc.

compilado para Windows, con fuentes de Linux disponibles http://www.arduinodev.com/codeblocks/

Un enfoque "medio" sería MariaMole, que desafortunadamente es solo para Windows, pero tiene mucha de la simplicidad del IDE oficial, pero con muchas de las características de un IDE "clásico". Una diferencia notable entre los dos es que MariaMole usa archivos .cpp y .h, mientras que code :: blocks-arduino usa .ino como el IDE oficial.

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


2
A pesar de todos los ataques Arduino IDE que están ocurriendo aquí, ¡la gente olvida que el objetivo de "Arduino" (IDE, bootloader / libs, HW) era "simplificarlo" para las personas que son principiantes en tales cosas! Para eso, Arduino hizo un gran trabajo. Sin embargo, una vez que la gente se gradúa más allá de la etapa inicial de lamer dulces (como la mayoría lo hace), avr-gcc, avr-libc, makefile, simavr, gdb y un editor simple como nano, vi o incluso emacs, pueden brindarle una alegría infinita de trabajar con El Arduino. O bien, con uC AVR de 8 bits de metal desnudo en sus placas auto diseñadas (o al menos ensambladas). Entonces, Code :: blocks es quizás una buena opción, pero una de muchas.
icarus74

El problema no es que Arduino IDE sea simple y fácil de usar; esta bien. El problema es que su interfaz de usuario está mal diseñada. Las alternativas como Stino son tan simples pero tienen una mejor interfaz de usuario. (Me refiero a la interfaz de usuario de Arduino como estaba en 2013. Parece que se han realizado algunas mejoras desde entonces.)
Marnen Laibow-Koser

2

Jon L: s anser resume bastante bien el Arduino y, dado que solo menciona las alternativas, podría aclararlas un poco más.

  1. Arduino con el gestor de arranque.
  2. PC con Windows cargada con avr-studio y WinAVR (gcc) , y tal vez un jtag para flashear el dispositivo ( AVR JTAGICE mkII )
  3. La cadena de herramientas GNU (en Linux o Windows) que utiliza WinAVR y un AVR JTAGICE mkII.

Pero tenga en cuenta que, como dice Jon L, alt1 es básico y fácil, ya que elimina la mayoría de las cosas de su cara. Encienda un LED, llame a la función turnOnLED en la biblioteca.

Alt2. Obtiene ayuda sobre el chip y un IDE más clásico, pero tiene que hacer la mayoría de las cosas usted mismo.

Alt3. Tienes que hacer todo por ti mismo, pero obtienes la máxima potencia sobre tu entorno.

Entonces, ahora puede seleccionar qué tipo de desarrollo le gustaría hacer, algo bueno con el material AVR es que las herramientas como el jtag son bastante asequibles, por lo que es una plataforma bastante barata para trabajar, independientemente del nivel que utilice.

Y dado que es un AVR en Arduino, si tienen un conector jtag, puede usar alt1,2 y 3 en las placas Arduino.


2

Puede usar emacs (o similar) para escribir código, y construir y desplegarlo. Los paquetes arduino se envían con muestras de archivos MAKE y talones para hacer todas las cosas.



2

Eclipse es una gran alternativa y ahora con el complemento eclipse que puede encontrar en eclipse.baeyens.it se instala en menos de 15 minutos en Windows Mac y Linux. Incluso tiene un monitor en serie.


2

Realmente hay cosas separadas que necesitas:

  1. Un editor de código.
  2. Una cadena de herramientas y compilador.
  3. Un gestor de arranque.

El Arduino IDE estándar todo en uno viene con un editor increíblemente básico, algo que rápidamente superará. Recomiendo reemplazar el editor primero, continúe respondiendo en los pasos 2 y 3 del paquete básico.

Una vez que esté listo para aventurarse más allá, consulte http://playground.arduino.cc/Main/DevelopmentTools para obtener herramientas que pueden asumir las tres funciones principales.


Los principales editores están agregando lentamente soporte Arduino, por ejemplo, visite youtrack.jetbrains.com/issue/CPP-364
Bryce

1

Lo que Dan dijo (en un comentario a la pregunta): Eclipse es un IDE con todas las funciones que funciona muy bien con Arduino. (Sin embargo, también secundó su comentario de configuración). Pero la forma más fácil de configurarlo podría ser portar la instalación de trabajo de otra persona a su propia máquina para obtener una configuración de trabajo y comenzar a ajustar desde allí.


0

He estado usando este Makefile . Se encarga de la mayor parte del proceso por usted. Luego, simplemente escriba un archivo MAKE local simple para proporcionar detalles específicos del tablero. Hay realmente una excelente documentación sobre cómo usarlo. Luego, solo uso mi editor de texto preferido para escribir código en C o C ++, compilarlo con mi simple archivo MAKE local. La carga también se trata con el archivo MAKE que vinculé: simplemente llame a "make upload".

Esta es una buena solución porque puede usar el editor de texto que desee. Le permite vincular fácilmente todas las bibliotecas de arduino, más cualquier biblioteca local que tenga.


-1

Este es un viejo Ide que he encontrado muy rápido y flexible. Puede programar Arduinos, y también clones de Arduino como Paperduino o tinyUSB. También puede verificar los puertos USB o en serie, probar fusibles y muchas otras cosas de una manera fácil.

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


Esta no es una recomendación especialmente buena: el proyecto no se ha actualizado desde 2011 y no funcionará con muchas placas de marca Arduino más nuevas. (En particular, no admitirá ninguna placa ATmega32U4, como Arduino Leonardo o Micro, ni admitirá placas ARM como Arduino Due o Zero.)
duskwuff
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.