ESP8266, IDE do Arduino vs Lua?

13

Estou planejando comprar um ESP8266. Eu realmente preciso aprender Lua para brincar com isso? Eu já vi algumas pessoas usando o IDE padrão do Arduino.

Você precisa de um firmware personalizado para usar o IDE do Arduino em vez de Lua?

O IDE do Arduino parece melhor para mim porque eu já conheço a sintaxe. Existe alguma desvantagem em usar o IDE do Arduino em vez do NodeMCU com Lua?

n0tis
fonte

Respostas:

9

O uso do IDE do Arduino é um firmware personalizado. É isso que você está escrevendo. Você não precisa de nenhum novo firmware, porque o novo firmware é o que você está escrevendo.

Não consigo pensar em nenhuma desvantagem em usar C ++ para programar o ESP8266 em vez de Lua - na verdade, isso só pode ser um benefício, pois você não está usando uma linguagem interpretada que será mais lenta que o código compilado nativamente.

Majenko
fonte
3
Então, por que a maioria das pessoas está usando o NodeMCU com Lua?
N0tis
3
@ n0tis Porque é pré-instalado e muito fácil de usar. Eles também são instruídos a usá-lo quando o compram e não o conhecem melhor.
Majenko
1
@ n0tis Eu apenas os programei em C ++ e não faria mais nada. No final do dia, você sempre pode reinstalar o firmware do interpretador LUA e voltar ao LUA se não continuar com a programação no estilo Arduino. Nada é permanente - você pode mudar de idéia a qualquer momento.
Majenko
3
É Lua, não LUA. Não é um acrônimo. Consulte O que há em um nome? . Como você está usando Lua no Arduino?
Nick Gammon
2
Sim, basta compilar e enviar. O firmware lua, ou o firmware AI thnker AT são apenas programas carregados no quadro: um para interpretar o script Lua e o outro para interpretar os comandos AT. Assim como seus esboços do Arduino.
Majenko
11

Lua, como muitas linguagens de script, tende a torná-lo muito mais produtivo como programador: as coisas ficam muito mais fáceis à medida que você trabalha em um nível de abstração mais alto e não se preocupa com coisas triviais, como gerenciamento de memória. Você alcança os mesmos objetivos com muito menos linhas de código. Por outro lado, embora acelere o desenvolvimento, também torna a execução do programa mais lenta. Se este é um bom compromisso ou não, depende muito do aplicativo em particular que você deseja gravar.

No seu caso particular, você também deve considerar o fato de não conhecer Lua e já conhecer a linguagem C ++ e a API do Arduino. Então você não pode extrair os benefícios de Lua em um único projeto, devido ao tempo necessário para aprender o idioma. Você pode considerar aprender o idioma como um investimento, provavelmente vale a pena se você for programar muito nesta plataforma, provavelmente não vale a pena se for apenas para um projeto simples o suficiente. Se não tiver certeza, sugiro que você dê uma olhada na API fornecida com Lua nesta plataforma: quão bem ela se encaixa no seu projeto? É um ajuste significativamente melhor que a API do Arduino?

Edgar Bonet
fonte
1

RECOMENDO FORTE COM A IDE ARDUINO!

Apesar de a programação em C ++ não ser tão amigável e versátil quanto Lua (trabalhar com o Esplorer é realmente um sonho tornado realidade!), Lua é MUITO INSTÁVEL E IMPREVISÍVEL !!!

Você pode executar um programa simples de dez linhas e ele funciona bem por um dia ... dois ... e de repente, no terceiro dia, o chip trava inesperadamente e sem motivo! Se você tiver sorte, o chip será reiniciado e o programa começará a funcionar novamente ... esse NÃO foi o meu caso. Eu tive que recarregar o programa novamente! Após 3 ciclos como esse, eu decidi abandonar Lua ... PARA SEMPRE.

user3152171
fonte
2
A mesma experiência aqui. E eu realmente gostei de Lua.
Sim. Lua como língua é uma experiência interessante. Em nodemcu, principalmente um frustrante ..
dda
2
Eu gosto de lua e do REPL. Também gosto de js no ESP8266 (espruino) e sua pequena pegada. Como programador de sistemas incorporados, é muito claro que muitas das bibliotecas do Arduino são escritas por programadores não incorporados desperdiçando e / ou fragmentando uma valiosa memória. Eu uso o Arduino, mas faço coisas como usar meu próprio gerenciamento de cadeias de caracteres em C, em vez daquela classe feia de C ++. A memória é uma mercadoria a apreciar, não abuso.
uDude
0

Desculpe por esbarrar, mas esse tópico me ajudou a decidir pelo IDE do Arduino.

Comecei com o Arduino IDE, mas não consegui fazê-lo funcionar com o ESP-07. Movido para NodeMCU e Lua com Esplorer. Levei um tempo para fazê-lo funcionar lá também devido à taxa de transmissão de bootloader ímpar. Primeiro, parecia tão fácil configurar um servidor WEB, mas o problema era que todos os exemplos encontrados eram baseados em um antigo FW 0.96, e tentar com o 2.1 mais recente não funcionou. Perceber que as pessoas não tinham feito muito com o FW mais recente me deu uma segunda opinião.

Agora, com o Arduino IDE, as coisas começam a funcionar da maneira que deveriam! :)

Pedro
fonte