Alternative complete all'IDE di Arduino? [chiuso]


50

Non sono un grande fan dell'IDE ufficiale di Arduino (in termini di effetti visivi), quindi ho iniziato a cercare alternative migliori. Tuttavia, la maggior parte dei progetti che ho trovato sono in alpha / beta e sono generalmente incompleti.

Sono al 100% nuovo nella programmazione di circuiti stampati e non ho mai usato un Arduino prima, ma da quello che raccolgo l'IDE Arduino è solo un wrapper per una libreria avr che esegue la scrittura effettiva sulla scheda. Altri IDE di "dispositivi simili ad arduino" sono un'opzione possibile?

Ancora una volta, sono molto nuovo in questo modo che la facilità d'uso sarebbe piacevole.


20
Oh dio questo. Sono abituato agli IDE con funzionalità complete e passare da qualcosa come Wing IDE (per Python) o Visual Studio a ciò che la gente di Arduino ha il coraggio di chiamare un "IDE" era come essere preso a pugni in faccia. Inoltre, una parte significativa del processo di compilazione di Arduino viene eseguita nella sorgente java, piuttosto che fargli fare qualcosa di sensato come emettere un makefile, quindi gestire il proprio processo di compilazione è un incubo.
Connor Wolf,

1
Ho usato Eclipse con Arduino (controlla arduino.cc/playground/Code/Eclipse e robertcarlsen.net/2009/10/31/arduino-in-eclipse-989 , funziona davvero bene - è veloce, pulito e ottime scorciatoie) l'unico aspetto negativo è che la prima installazione può richiedere del tempo :)
Dan

2
Se hai già programmato prima di TextMate, sono sufficienti avr-libc, make e screen. Mi considero un principiante nella programmazione AVR ma è tutto ciò che uso. È la lettura dei fogli di dati che è confusa all'inizio.
tuupola,

@VisualMicro No, non è l'unica alternativa completa. Vedi il mio commento qui sotto su Stino.
Marnen Laibow-Koser,

1
Il plug-in Arduino per Visual Studio Pro e Atmel Studio 6.1 è una completa alternativa all'Id Arduino che supporta hardware standard o personalizzato, compilazione, caricamento, masterizzazione di bootloader, programmatori, modifica di librerie in modalità esperto, monitor seriali multipli, intellisense e molte altre opzioni sia per utenti principianti che avanzati. L'installazione è inferiore a 10 minuti. Include anche l'esploratore di esempi Arduino e il debugger USB
Visual Micro,

Risposte:


44

Attenzione, una spiegazione prolissa è imminente. Vorrei chiarire alcune idee sbagliate che penso tu abbia.

L'Arduino è davvero due cose.

  1. Una raccolta di librerie C / C ++ compilate con avr-gcc e
  2. Un piccolo programma firmware bootloader precedentemente programmato sul chip dalla fabbrica.

Sì, l'IDE di Arduino si basa sostanzialmente su avr-gcc, il compilatore AVR C. I tuoi progetti, o "schizzi", incorporano le citate librerie Arduino ed è compilato con avr-gcc. Tuttavia, nulla di tutto ciò ha a che fare con il modo in cui qualcosa viene scritto sulla lavagna. Il modo in cui questi schizzi vengono distribuiti è un po 'diverso dal solito.

L'IDE Arduino comunica con il tuo Arduino tramite il chip da USB a seriale sulla scheda e inizializza una modalità di programmazione che il bootloader comprende e invia il tuo nuovo programma al chip in cui il bootloader lo posizionerà in una posizione nota e quindi lo eseguirà . Non esiste una "libreria avr che esegua la scrittura effettiva" - è solo l'IDE di Arduino che apre una porta seriale e parla con il bootloader - questo è il modo in cui i messaggi di debug vengono stampati sull'IDE anche durante il runtime.

Qualsiasi IDE alternativo dovrà essere in grado di fare la stessa comunicazione seriale con il bootloader. Arduino è facile grazie a tutte le librerie che già forniscono e al programma one-touch eseguito dall'IDE. Onestamente non penso che sia più facile o più facile da usare. Hanno estratto tutti i dettagli del microcontrollore AVR e il processo di costruzione / distribuzione.

L'alternativa sarebbe qualcosa come avr-studio (che usa anche avr-gcc per il suo compilatore) e un programmatore ICSP (che è un ulteriore componente hardware che devi acquistare). Non viene fornito molto altro oltre ad alcuni file di intestazione di definizione del registro e ad alcune macro utili. Inoltre non viene fornito alcun bootloader sul chip AVR, è solo una lavagna vuota. Qualunque cosa tu voglia fare con il microcontrollore, dovrai approfondire e conoscere le sue periferiche e i registri hardware e spostare i byte in C. Desideri stampare un messaggio di debug sul PC? Scrivi prima la routine UART per print () e apri un terminale sul tuo computer.

Un gradino più in basso da questo sta scrivendo codice in un editor di testo e chiamando avr-gcc e avr-dude (strumento di riga di comando per la programmazione) da un Makefile o da una riga di comando.

Un gradino più in basso rispetto a questo e stai scrivendo assembly in un editor di testo e chiamando avr-assembler e avr-dude.

Non sono sicuro di dove sto andando, penso solo che l'IDE e Arduino esistenti siano assolutamente geniali e perfetti per un principiante - la loro pretesa di fama è la facilità d'uso. Forse non è la risposta che stai cercando, impara il flusso di lavoro e crea qualcosa di interessante.


2
Non è la risposta che mi aspettavo, ma ha chiarito davvero la mia comprensione del dispositivo. Grazie
n0pe

4
L'IDE arduino è in realtà tre cose. Le librerie C (++), un componente hardware e un mucchio di codice java che raccoglie le librerie nel tuo codice scritto in qualche modo appena prima della compilazione.
Connor Wolf,

21
Il processo di compilazione di Arduino è eccezionale. Tuttavia, è (in questo momento) irrevocabilmente legato alla pila fiammeggiante dell'editor di testi di merda dell'Arduino . Quello che credo l'OP voglia (e non mi dispiacerebbe neanche), è un modo per chiamare il processo di compilazione di Arduino da un altro IDE. Come è ora, l' unico modo per eseguire una build di Arduino è fare clic sul pulsante nell'IDE. Non è programmabile da script.
Connor Wolf,

6
Questa risposta è leggermente sbagliata. L'ide arduino non fornisce la propria capacità di caricare tramite il bootloader sul chip, ma utilizza uno strumento da riga di comando chiamato avrdude per farlo. Proprio come con avr-gcc, avrdude non è un prodotto Arduino ed è completamente disponibile per altri IDE o semplici Makefile da usare.
Chris Stratton,

1
@ChrisStratton, sentiti libero di modificare per correggere errori / ignoranza.
Jon L


10

Uso SublimeText come editor di testo principale, quindi sono stato molto felice di trovare Stino , che è un plug-in Arduino per SublimeText. È un sostituto completo dell'IDE di Arduino (anche se è necessario disporre di una copia dell'IDE di Arduino in modo che Stino possa trovare le librerie). Ha alcuni bug, ma è abbastanza utilizzabile. Ho appena toccato l'IDE di Arduino da quando ho scoperto Stino.


@clabacchio Quando ricevo un complimento e nessun voto, in genere presumo che le persone non abbiano familiarità con il concetto di voto. E non ho segnalato nulla, quindi non so di cosa stai parlando qui.
Marnen Laibow-Koser,

Mi dispiace di aver ricevuto una bandiera su quel commento e per qualche ragione ho pensato che stavi segnalando il tuo post. Nevermind :)
clabacchio

3
Voglio solo aggiungere un'altra voce a questo sentimento. SublimeText è davvero bello e questo componente aggiuntivo Stino è il vero affare.
Steve Cooley,

2
Questo è assolutamente fantastico. Uso già un testo sublime e questo significa che posso abbandonare completamente l'applicazione Arduino.
Connor Wolf,

E c'è anche mcduino per Atom.
Marnen Laibow-Koser,


4

Sì, creare un "IDE di Arduino" significa fondamentalmente mettere un front-end di fronte ad avr-gcc e avrdude. In realtà ci sono molte altre scelte oltre all '"IDE ufficiale di Arduino". Uno che potrebbe essere interessante è l'ambiente AVR basato su Eclipse:

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


C'è anche Eclipse. Si inizia con il supporto AVR indicato da qualcun altro, ma è possibile caricare la libreria Arduino in modo da poter scrivere il codice Arduino. Vedi arduino.cc/playground/Code/Eclipse
ViennaMike

4

Personalmente raccomando (da quando l'ho scritto;)) UECIDE . Originariamente era basato su MPIDE per le schede chipKIT, che a sua volta era basato sulla versione 0023 dell'IDE di Arduino, ma non è rimasto molto del codice originale ora, è stato tutto riscritto.

Supporta tutte le schede Arduino, oltre alle schede chipKIT, Launchpad, Maple e un intero host in più.

inserisci qui la descrizione dell'immagine


Sembra promettente ...
horta,

Da allora UECIDE ha fatto molta strada. Dovresti dare un'occhiata all'ultima versione beta ...
Majenko,

4

Inoltre, puoi provare IDE basati su browser / online per Arduino, come Codebender .


! Neat Sembra che valga la pena giocarci.
Marnen Laibow-Koser,

+1 per averci parlato di Codebender. Ma potresti correggere l'errore 404 sul collegamento Wifino?
David

@davidcary: risposta aggiornata, grazie per la nota.
boardbite

4

Immagine del plugin
(fonte: visualmicro.com )

Il plug-in gratuito Microsoft Visual Studio e Atmel Studio è semplice da usare e ha tutte le utili funzionalità dell'IDE di Arduino.

Il codice di schizzo rimane pienamente compatibile con Arduino Ide. Il plugin utilizza lo stesso processo di compilazione e la stessa catena di strumenti di Arduino Ide. Scegli quali versioni di Arduino Ide desideri utilizzare con i tuoi progetti.

Fornisce molte funzionalità aggiuntive come il drill-down negli errori del compilatore, la vista disassemblata (con drill-down), il completamento del codice, il caricamento tramite programmatore o Usb.

Supporta più versioni di Arduino in un singolo Ide. La versione di Visual Studio supporta anche Intel Galileo.

Entrambi supportano il caricamento Arduino Yun Wifi / Web Server di Ide. Esiste anche un debugger Arduino Usb / seriale / Wifi opzionale

Atmel Studio si basa su Visual Studio. Atmel Corp. è la società che produce i microcontroller Arduino. Ciò significa che Atmel Studio Ide è a conoscenza e realizzato per i microcontroller Arduino.

Atmel Studio fornisce anche altri strumenti come un simulatore.

Documentazione e forum gratuito


3

Di recente sono passato dalla battuta che è l'IDE di Arduino a code :: blocks-arduino. È più adatto per progetti più complessi con più file sorgente. Hai il controllo completo sui flag del compilatore, crea target e molte altre cose che mancano o sono scritte male nell'IDE ufficiale È molto simile nel funzionamento al plugin eclipse, ma non gonfio come il codice eclipse :: blocks-arduino a build indipendente. Viene fornito con diversi strumenti utili per il caricamento e il debug, come un monitor seriale SUPER COOL AND UTILE con alcune funzioni davvero piacevoli come il debug diretto i2c (twi, qualunque cosa tu voglia chiamarlo), acquisizione seriale e output CSV, ecc.

compilato per Windows, con fonti Linux disponibili http://www.arduinodev.com/codeblocks/

Un approccio "intermedio" sarebbe MariaMole, che purtroppo è solo per Windows, ma ha molta semplicità dell'IDE ufficiale, ma con molte funzionalità di un IDE "classico". una notevole differenza tra i due è che MariaMole usa i file .cpp e .h mentre code :: blocks-arduino usa .ino come l'IDE ufficiale.

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


2
Nonostante tutti i colpi di IDE di Arduino in corso qui, la gente dimentica che l'obiettivo di "Arduino" (IDE, bootloader / libs, HW) era quello di "smorzarlo" per le persone che sono principianti su queste cose! Per questo, Arduino ha fatto un ottimo lavoro. Tuttavia, una volta che le persone si diplomano oltre la fase iniziale di leccatura delle caramelle (come la maggior parte fa), avr-gcc, avr-libc, makefile, simavr, gdb e un semplice editor come nano, vi o anche emacs, possono dare una gioia infinita di lavorare con l'Arduino. Oppure, con semplice AVR baremetal a 8 bit uC nelle loro schede progettate (o almeno assemblate). Quindi, Code :: blocks è forse una buona opzione, eppure una delle tante.
icarus74,

Il problema non è che l'IDE di Arduino è semplice e facile da usare; va bene. Il problema è che la sua interfaccia utente è progettata male. Alternative come Stino sono semplici ma hanno un'interfaccia utente migliore. (Mi riferisco all'interfaccia utente di Arduino come era nel 2013. Sembra che siano stati apportati alcuni miglioramenti da allora.)
Marnen Laibow-Koser

2

Jon L: la risposta riassume abbastanza bene l'Arduino e dato che tocca solo le alternative, potrei chiarirle un po 'di più.

  1. Arduino con il bootloader.
  2. PC Windows caricato con avr-studio e WinAVR (gcc) e forse un jtag per eseguire il flashing del dispositivo ( AVR JTAGICE mkII )
  3. La toolchain gnu (su Linux o Windows) che utilizza WinAVR e un AVR JTAGICE mkII.

Ma tieni presente che, come afferma Jon L, alt1 è semplice e di base poiché rimuove la maggior parte delle cose dal tuo viso. Accendi un LED, chiama la funzione turnOnLED nella libreria.

Alt2. Ottieni un po 'di aiuto per il chip e un IDE più classico, ma devi fare la maggior parte delle cose da solo.

ALT3. Devi fare tutto da solo ma ottieni la massima potenza sul tuo ambiente.

Quindi ora puoi selezionare il tipo di sviluppo che vorresti fare, una cosa positiva con roba AVR è che gli strumenti come il jtag sono abbastanza convenienti, quindi è una piattaforma abbastanza economica con cui lavorare indipendentemente dal livello che usi.

E poiché è un AVR sull'Arduino, se hanno un connettore jtag puoi usare alt1,2 e 3 sulle schede Arduino.


2

Puoi usare emacs (o simili) per scrivere il codice e creare e distribuirlo. I pacchetti arduino vengono forniti con campioni di makefile e stub per fare tutto.



2

Eclipse è un'ottima alternativa e ora con il plugin eclipse puoi trovare su eclipse.baeyens.it che si installa in meno di 15 minuti su Windows Mac e Linux. Ha anche un monitor seriale.


2

Ci sono davvero cose separate di cui hai bisogno:

  1. Un editor di codice.
  2. Una toolchain e un compilatore.
  3. Un bootloader.

L'IDE Arduino standard all-in-one viene fornito con un editor follemente essenziale, qualcosa che supererai rapidamente. Consiglio di sostituire prima l'editor, continuare a rispondere ai passaggi 2 e 3 dal pacchetto di base.

Una volta che sei pronto per avventurarti oltre, vedi http://playground.arduino.cc/Main/DevelopmentTools per gli strumenti che possono assumere tutte e tre le funzioni principali.


I principali editor stanno lentamente aggiungendo il supporto di Arduino, ad esempio vedi youtrack.jetbrains.com/issue/CPP-364
Bryce,

1

Cosa ha detto Dan (in un commento alla domanda): Eclipse è un IDE completo che funziona molto bene con Arduino. (Secondo anche il suo commento di installazione, però). Ma il modo più semplice per configurarlo potrebbe essere il porting dell'installazione funzionante di qualcun altro sulla propria macchina per ottenere una configurazione funzionante e iniziare a modificare da lì.


0

Ho usato questo Makefile . Si occupa della maggior parte del processo per te. Quindi scrivi un semplice makefile locale per fornire i dettagli specifici della scheda. C'è davvero un'ottima documentazione su come usarlo. Quindi uso il mio editor di testo preferito per scrivere il codice in C o C ++, compilarlo con il mio semplice makefile locale. Il caricamento è anche gestito dal makefile che ho collegato: basta chiamare "make upload".

Questa è una buona soluzione perché puoi quindi usare qualsiasi editor di testo che desideri. Ti permette di collegare facilmente tutte le librerie di Arduino, oltre a tutte le librerie locali che hai.


-1

Questo è un vecchio Ide che ho trovato molto veloce e flessibile. Può programmare Arduinos e anche cloni di Arduino come Paperduino o tinyUSB. Puoi anche controllare l'USB o le porte seriali, testare i fusibili e molte altre cose in modo semplice.

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


Questa non è una raccomandazione particolarmente buona: il progetto non è stato aggiornato dal 2011 e non funzionerà con molte nuove schede a marchio Arduino. (In particolare, non supporterà alcuna scheda ATmega32U4, come Arduino Leonardo o Micro, né supporterà schede ARM come Arduino Due o Zero.)
duskwuff
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.