Alternativas completas ao IDE do Arduino? [fechadas]


50

Não sou tão fã do IDE oficial do Arduino (em termos visuais), então comecei a procurar alternativas mais agradáveis. No entanto, a maioria dos projetos que encontrei estão em alfa / beta e geralmente são incompletos.

Sou 100% novo em programação de placas de circuito e nunca usei um Arduino antes, mas, pelo que recordo, o Arduino IDE é apenas um invólucro para uma biblioteca avr que faz a gravação real na placa. Outros IDEs de "dispositivo semelhante ao arduino" são uma opção possível?

Mais uma vez, sou muito novato nisso, então seria fácil.


20
Oh Deus, isso. Estou acostumado a IDEs com todos os recursos, e ir de algo como Wing IDE (para Python) ou Visual Studio para algo que o pessoal do Arduino tem a ousadia de chamar de "IDE" era como levar um soco na cara. Além disso, uma parte significativa do processo de compilação do Arduino é feita na fonte java, em vez de fazer algo sensato como emitir um makefile, portanto, gerenciar seu próprio processo de compilação é um pesadelo.
Connor Lobo

11
Eu usei o Eclipse com o Arduino (confira arduino.cc/playground/Code/Eclipse e robertcarlsen.net/2009/10/31/arduino-in-eclipse-989 , funciona muito bem - são atalhos rápidos, limpos e ótimos) única desvantagem é que a primeira configuração pode fazer enquanto estiver :)
Dan

2
Se você já fez alguma programação antes do TextMate, avr-libc, make e screen são suficientes. Eu me considero um iniciante em programação AVR, mas isso é tudo que eu uso. É a leitura das folhas de dados que é confusa no começo.
tuupola

@VisualMicro Não, não é a única alternativa completa. Veja meu comentário abaixo sobre Stino.
Marnen Laibow-Koser

11
O plug-in do Arduino para Visual Studio Pro e Atmel Studio 6.1 é uma alternativa completa ao Arduino Ide suportando hardware padrão ou personalizado, compilação, upload, gravação de gerenciadores de inicialização, programadores, edição de biblioteca no modo especialista, vários monitores seriais, intellisense e muitas outras opções para usuários iniciantes e avançados. A instalação é inferior a 10 minutos. Também inclui exemplos Arduino explorador e opcional depurador USB Arduino
Visual Micro

Respostas:


44

Atenção, uma explicação extensa é iminente. Gostaria de esclarecer alguns conceitos errôneos que acho que você está tendo.

O Arduino é realmente duas coisas.

  1. Uma coleção de bibliotecas C / C ++ compiladas com avr-gcc e
  2. Um pequeno programa de firmware do carregador de inicialização que foi previamente programado no chip de fábrica.

Sim, o Arduino IDE basicamente envolve o avr-gcc - o compilador AVR C. Seus projetos, ou "esboços", incorporam as bibliotecas mencionadas do Arduino e são compilados com o avr-gcc. No entanto, nada disso tem a ver com a forma como algo é escrito no quadro. Como esses esboços são implantados é um pouco diferente do habitual.

O IDE do Arduino se comunica com o seu Arduino através do chip USB-para-serial na placa e inicializa um modo de programação que o gerenciador de inicialização entende e envia seu novo programa para o chip onde o gerenciador de inicialização o colocará em algum local conhecido e, em seguida, execute-o . Não existe uma "biblioteca avr que faça a gravação real" - é apenas o IDE do Arduino abrindo uma porta serial e conversando com o gerenciador de inicialização - é assim que suas mensagens de depuração também são impressas no IDE durante o tempo de execução.

Qualquer IDE alternativo deverá ser capaz de fazer a mesma comunicação serial com o carregador de inicialização. O Arduino é fácil por causa de todas as bibliotecas que eles já fornecem e com um toque para programar e executar a partir do IDE. Sinceramente, acho que não fica mais fácil ou mais amigável. Eles abstraíram todos os detalhes do microcontrolador AVR e do processo de construção / implantação.

A alternativa seria algo como o avr-studio (que também usa o avr-gcc para seu compilador) e um programador ICSP (que é uma peça adicional de hardware que você precisa comprar). Você não recebe muito mais do que alguns arquivos de cabeçalho de definição de registro e algumas macros úteis. Você também não recebe nenhum carregador de inicialização no seu chip AVR, é apenas uma folha em branco. Qualquer coisa que você queira fazer com o microcontrolador, terá que se aprofundar e aprender sobre seus periféricos e registradores de hardware e mover bytes no C. Deseja imprimir uma mensagem de depuração no PC? Escreva a rotina UART para print () primeiro e abra um terminal no seu computador.

Um passo abaixo disso, você está escrevendo código em um editor de texto e chamando avr-gcc e avr-dude (ferramenta de linha de comando de programação) de um Makefile ou linha de comando.

Um passo abaixo disso e você está escrevendo assembly em um editor de texto e chamando o avr-assembler e avr-dude.

Não tenho certeza de onde estou indo com isso, apenas acho que o IDE e o Arduino existentes são absolutamente geniais e perfeitos para iniciantes - sua reivindicação à fama é fácil de usar. Talvez não seja a resposta que você procura, aprenda o fluxo de trabalho e faça algo legal com ele.


2
Não é a resposta que eu esperava, mas realmente esclareceu minha compreensão do dispositivo. Obrigado
n0pe

4
O arduino IDE é na verdade três coisas. As bibliotecas C (++), uma peça de hardware e um monte de código java que agrupa as bibliotecas no seu código escrito de alguma forma antes do tempo de compilação.
Connor Lobo

21
O processo de criação do Arduino é ótimo. No entanto, ele está (neste momento) irrevogavelmente ligado à pilha flamejante de editor de texto porcaria do Arduino . O que eu acredito que o OP deseja (e também não me importaria) é uma maneira de chamar o processo de construção do arduino de outro IDE. No momento, a única maneira de executar uma compilação do Arduino é clicar no botão no IDE. Não é programável.
Connor Lobo

6
Esta resposta está um pouco errada. O arduino ide não fornece sua própria capacidade de fazer upload através do carregador de inicialização no chip; em vez disso, usa uma ferramenta de linha de comando chamada avrdude para fazer isso. Assim como o avr-gcc, o avrdude não é um produto do arduino e está totalmente disponível para outros IDE ou Makefiles simples de usar.
22412 Chris Stratton

11
@ ChrisStratton, fique à vontade para editar para corrigir erros / ignorância.
Jon L


10

Como uso o SublimeText como meu editor de texto principal, fiquei muito feliz em encontrar o Stino , que é um plug-in do Arduino para o SublimeText. É uma substituição completa do IDE do Arduino (embora você precise ter uma cópia do IDE do Arduino para que o Stino possa encontrar as bibliotecas). Tem alguns bugs, mas é bastante utilizável. Mal toquei no IDE do Arduino desde a descoberta do Stino.


@clabacchio Quando recebo elogios e não voto positivo, geralmente presumo que as pessoas não estão familiarizadas com o conceito de votação. E não sinalizei nada, então não sei do que você está falando aqui.
Marnen Laibow-Koser

Desculpe por ter sinalizado nesse comentário e, por algum motivo, pensei que você estava sinalizando sua própria postagem. Nevermind :)
clabacchio

3
Eu só quero adicionar outra voz a esse sentimento. SublimeText é muito bom, e este complemento Stino é o verdadeiro negócio.
11133 Steve Cooley

2
Isso é absolutamente feito de incrível. Eu já uso texto sublime, e isso significa que posso abandonar completamente o aplicativo arduino.
Connor Wolf

E também há o mcduino para o Atom.
Marnen Laibow-Koser


4

Sim, criar um "Arduino IDE" é basicamente colocar um front-end na frente do avr-gcc e avrdude. Na verdade, existem algumas outras opções além do "IDE oficial do Arduino". Um que pode ser interessante é o ambiente AVR baseado em Eclipse:

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


Há Eclipse também. Começa com o suporte do AVR que outra pessoa mencionou, mas você pode carregar a biblioteca do Arduino para poder escrever o código do Arduino. Veja também
ViennaMike

4

Pessoalmente, eu recomendo (desde que escrevi;)) UECIDE . Ele era originalmente baseado no MPIDE para as placas chipKIT, que eram baseadas na versão 0023 do Arduino IDE, mas não resta muito do código original agora, tudo foi reescrito.

Ele suporta todas as placas Arduino, além de placas chipKIT, Launchpad, Maple e todo um host mais.

insira a descrição da imagem aqui


Parece promissor ...
horta

O UECIDE percorreu um longo caminho desde então. Você deve verificar se a última versão beta ...
Majenko

4

Além disso, você pode experimentar IDEs on-line / baseados em navegador para Arduino, como o Codebender .


Arrumado! Vale a pena brincar com aqueles.
Marnen Laibow-Koser

+1 por nos contar sobre o Codebender. Mas você pode corrigir o erro 404 no link Wifino?
Davidcary

@ DavidDary: Resposta atualizada, obrigado pela nota.
boardbite

4

Imagem do plugin
(fonte: visualmicro.com )

O Microsoft Visual Studio e o Atmel Studio Plugin gratuitos são simples de usar e possuem todos os recursos úteis do IDE do Arduino.

O código de esboço permanece totalmente compatível com o Arduino Ide. O plug-in usa o mesmo processo de construção e cadeia de ferramentas que o Arduino Ide. Você escolhe quais versões do Arduino Ide deseja usar com seus projetos.

Fornece muitos recursos adicionais, como detalhamento de erros do compilador, exibição desmontada (com detalhamento), conclusão de código, upload via programador ou USB.

Suporta várias versões do Arduino em uma única IDE. A versão do Visual Studio também suporta o Intel Galileo.

Ambos os Ide suportam upload de Arduino Yun Wifi / Web Server. Há também um depurador opcional USB / Serial / Wifi Arduino

O Atmel Studio é baseado no Visual Studio. A Atmel Corp. é a empresa que fabrica os microcontroladores do Arduino. Isso significa que o Atmel Studio Ide está ciente e criado para os microcontroladores do Arduino.

O Atmel Studio também fornece outras ferramentas, como um simulador.

Documentação e fórum grátis


3

Recentemente, mudei da piada que é o IDE do Arduino para codificar :: blocks-arduino. É mais adequado para projetos mais complexos com vários arquivos de origem. Você tem controle completo sobre os sinalizadores do compilador, constrói o destino e muitas outras coisas ausentes ou gravadas incorretamente no IDE oficial. É muito semelhante em operação ao plug-in do eclipse, mas não tão inchado quanto o código do eclipse :: blocks-arduino a construção autônoma. Ele vem com várias ferramentas úteis para upload e depuração, como um monitor serial SUPER COOL E ÚTIL, com alguns recursos realmente interessantes, como depuração direta i2c (twi, como você quiser chamar) depuração, captura serial e saída csv, etc.

compilado para windows, com fontes linux disponíveis http://www.arduinodev.com/codeblocks/

Uma abordagem "intermediária" seria o MariaMole, que infelizmente é apenas para janelas, mas tem muita da simplicidade do IDE oficial, mas com muitos dos recursos de um IDE "clássico". uma diferença notável entre os dois é que MariaMole usa arquivos .cpp e .h, enquanto code :: blocks-arduino usa .ino como o IDE oficial.

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


2
Apesar de todo o processo de IDE do Arduino acontecendo aqui, as pessoas esquecem que o objetivo do "Arduino" (o IDE, bootloader / libs, HW) era "emburrecer" as pessoas que são iniciantes em tais coisas! Para isso, o Arduino fez um ótimo trabalho. No entanto, uma vez que as pessoas se formam além do estágio inicial de obtenção de doces (como a maioria), avr-gcc, avr-libc, makefile, simavr, gdb e editor simples como nano, vi ou emacs, podem proporcionar uma alegria sem fim de trabalhar com o Arduino. Ou, com o AVC baremetal simples de 8 bits uC em suas placas projetadas (ou pelo menos montadas). Portanto, o Code :: blocks é talvez uma boa opção, mas uma dentre muitas.
icarus74

O problema não é que o IDE do Arduino seja simples e fácil de usar; isso é bom. O problema é que sua interface do usuário é mal projetada. Alternativas como o Stino são tão simples, mas têm uma interface de usuário melhor. (Estou me referindo à interface do usuário do Arduino como em 2013. Parece que houve algumas melhorias desde então.)
Marnen Laibow-Koser

2

O Jon L: anser resume muito bem o Arduino e, como ele apenas toca nas alternativas, eu poderia esclarecê-las um pouco mais.

  1. Arduino com o gerenciador de inicialização.
  2. PC com Windows carregado com avr-studio e WinAVR (gcc) , e talvez um jtag para atualizar o dispositivo ( AVR JTAGICE mkII )
  3. A cadeia de ferramentas gnu (no Linux ou Windows) que está usando o WinAVR e um AVR JTAGICE mkII.

Mas observe que, como Jon L afirma, o alt1 é básico e fácil, pois remove a maioria das coisas do seu rosto. Ligue um LED, chame a função turnOnLED na lib.

Alt2. Você recebe ajuda sobre o chip e um IDE mais clássico, mas precisa fazer a maioria das coisas sozinho.

Alt3. Você precisa fazer tudo sozinho, mas obtém o máximo de energia sobre o ambiente.

Portanto, agora você pode selecionar que tipo de desenvolvimento gostaria de fazer, uma coisa boa do material do AVR é ​​que as ferramentas como o jtag são bastante acessíveis, por isso é uma plataforma bastante barata de se trabalhar, independentemente do nível que você usa.

E como é um AVR no Arduino, se eles tiverem um conector jtag, você pode usar alt1,2 e 3 nas placas do Arduino.


2

Você pode usar o emacs (ou similar) para escrever código e criar e implantar ele. Os pacotes do arduino são fornecidos com amostras e stubs de makefile para fazer todas as coisas.



2

O Eclipse é uma ótima alternativa e agora, com o plug-in do eclipse, você pode encontrar em eclipse.baeyens.it, ele é instalado em menos de 15 minutos no Windows Mac e Linux. Ele ainda tem um monitor serial.


2

Você realmente precisa de coisas separadas:

  1. Um editor de código.
  2. Uma cadeia de ferramentas e compilador.
  3. Um carregador de inicialização.

O IDE completo do Arduino vem com um editor incrivelmente básico, algo que você superará rapidamente. Eu recomendo substituir o editor primeiro, continue respondendo nas etapas 2 e 3 do pacote básico.

Quando estiver pronto para se aventurar além, consulte http://playground.arduino.cc/Main/DevelopmentTools para obter ferramentas que podem assumir as três principais funções.


Principais editores estão adicionando lentamente Arduino apoio, por exemplo, ver youtrack.jetbrains.com/issue/CPP-364
Bryce

1

O que Dan disse (em um comentário à pergunta): Eclipse é um IDE completo que funciona muito bem com o Arduino. (Destacando também o comentário de configuração). Mas a maneira mais fácil de configurá-lo pode ser portar a instalação de trabalho de outra pessoa para sua própria máquina para obter uma configuração de trabalho e começar a ajustar a partir daí.


0

Eu tenho usado este Makefile . Ele cuida da maior parte do processo para você. Depois, basta escrever um makefile local simples para fornecer detalhes específicos da placa. Existe realmente uma excelente documentação sobre como usá-lo. Depois, apenas uso o meu editor de texto preferido para escrever código em C ou C ++, compilá-lo com meu simples makefile local. O upload também é tratado pelo makefile que vinculei: basta chamar "make upload".

Esta é uma boa solução, pois você pode usar o editor de texto que desejar. Ele permite que você vincule facilmente todas as bibliotecas do arduino, além de quaisquer bibliotecas locais que você possui.


-1

Essa é uma ideia antiga que eu achei muito rápida e flexível. Ele pode programar Arduinos e também clones do Arduino, como Paperduino ou tinyUSB. Você também pode verificar as portas USB ou serial, testar fusíveis e muitas outras coisas de uma maneira fácil.

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


Essa não é uma recomendação particularmente boa - o projeto não foi atualizado desde 2011 e não funcionará com muitas placas mais recentes da marca Arduino. (Em particular, não vai apoiar todas as placas ATmega32U4, como o Arduino Leonardo ou Micro, nem vai apoiar placas ARM como o Arduino devido ou Zero.)
duskwuff
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.