ESP8266, Arduino IDE vs Lua?


13

Sto pensando di acquistare un ESP8266. Devo davvero imparare Lua a giocarci? Ho visto alcune persone usarlo con l'IDE Arduino standard.

Hai bisogno di un firmware personalizzato per utilizzare l'IDE Arduino anziché Lua?

L'IDE di Arduino mi sembra migliore perché conosco già la sintassi. C'è qualche svantaggio nell'usare l'IDE Arduino invece di NodeMCU con Lua?

Risposte:


9

L'uso dell'IDE di Arduino è un firmware personalizzato. Questo è quello che stai scrivendo. Non è necessario alcun nuovo firmware perché il nuovo firmware è quello che stai scrivendo.

Non riesco a pensare a nessun aspetto negativo dell'utilizzo di C ++ per programmare ESP8266 invece di Lua - in realtà può essere solo un vantaggio poiché non stai usando un linguaggio interpretato che sarà più lento del codice compilato in modo nativo.


3
quindi perché la maggior parte delle persone utilizza NodeMCU con Lua?
n.

3
@ n0tis Perché è preinstallato e molto facile da usare. Inoltre viene detto di usarlo quando lo acquistano e non ne sanno di più.
Majenko

1
@ n0tis li ho sempre e solo programmati in C ++ e non farei nient'altro. Alla fine della giornata puoi sempre reinstallare il firmware dell'interprete LUA e tornare a LUA se non vai avanti con la programmazione in stile Arduino. Niente è permanente: puoi cambiare idea ogni volta che vuoi.
Majenko

3
Non è Lua, non LUA. Non è un acronimo. Vedi Cosa c'è in un nome? . Come stai usando Lua su Arduino?
Nick Gammon

2
Sì, devi solo compilare e caricare. Il firmware lua o il firmware AI thnker AT sono entrambi solo programmi caricati sulla scheda: uno per interpretare lo script Lua, l'altro per interpretare i comandi AT. Proprio come i tuoi schizzi di Arduino.
Majenko

11

Lua, come molti linguaggi di scripting, tende a renderti molto più produttivo come programmatore: le cose diventano molto più facili mentre lavori a un livello di astrazione più elevato e non ti preoccupare di cose banali come la gestione della memoria. Raggiungi gli stessi obiettivi con molte meno righe di codice. D'altra parte, mentre rende più veloce lo sviluppo, rallenta anche l'esecuzione del programma. Se questo è un buon compromesso o meno dipende molto dalla particolare applicazione che si desidera scrivere.

Nel tuo caso particolare, devi anche considerare il fatto che non conosci Lua e conosci già sia il linguaggio C ++ sia l'API Arduino. Quindi potresti non sfruttare i benefici di Lua su un singolo progetto, a causa del tempo necessario per imparare la lingua. Puoi considerare di imparare la lingua come un investimento, probabilmente ne varrà la pena se hai intenzione di programmare molto su questa piattaforma, probabilmente non ne varrà la pena se è solo per un singolo progetto abbastanza semplice. Se non sei sicuro, ti suggerisco di dare un'occhiata all'API fornita con Lua su questa piattaforma: quanto si adatta al tuo progetto? È significativamente migliore rispetto all'API di Arduino?


1

RACCOMANDO VIVAMENTE DI SOGGIORNO CON L'IDE DI ARDUINO!

Nonostante la programmazione in C ++ non sia amichevole e versatile come Lua (lavorare con Esplorer è davvero un sogno diventato realtà!), Lua è MOLTO INSTABILE E IMPREVEDIBILE !!!

Puoi eseguire un semplice programma di dieci linee e funziona bene per un giorno ... due ... e all'improvviso, il 3 ° giorno il chip si blocca inaspettatamente, e senza motivo! Se sei fortunato, il chip si riavvierà e il programma ricomincerà a funzionare ... che NON era il caso con me. Ho dovuto ricaricare di nuovo il programma! Dopo 3 cicli come questo, ho deciso di abbandonare Lua ... PER SEMPRE.


2
Stessa esperienza qui. E mi è davvero piaciuta molto Lua.

Si. Lua come lingua è un'esperienza interessante. Su NodeMCU, per lo più frustrante ..
Dda

2
Mi piacciono lua e il REPL. Mi piace anche js su ESP8266 (espruino) e il suo ingombro ridotto. Come programmatore di sistemi embedded, è molto chiaro che molte librerie di Arduino sono scritte da programmatori non embedded che sprecano e / o frammentano memoria preziosa. Uso Arduino ma faccio cose come usare la mia gestione delle stringhe da C piuttosto che quella brutta classe C ++. La memoria è un bene da apprezzare e non da abuso.
uDude

0

Ci scusiamo per il bumping, ma questo thread mi ha aiutato a decidere per Arduino IDE.

Ho iniziato con Arduino IDE ma non sono riuscito a farlo funzionare con ESP-07. Passato a NodeMCU e Lua con Esplorer. Mi ci è voluto un po 'per farlo funzionare anche a causa dello strano baud rate del bootloader. All'inizio sembrava così facile configurare un server WEB, ma il problema era che tutti gli esempi trovati erano basati su un antico FW 0.96, e provare con l'ultimo 2.1 non funzionava affatto. Quindi rendermi conto che la gente non aveva fatto molto con il nuovo FW mi ha fatto ripensare.

Ora con Arduino IDE le cose iniziano a funzionare come dovrebbero! :)

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.