ESP8266, Arduino IDE vs Lua?

13

Je prévois d'acheter un ESP8266. Ai-je vraiment besoin d'apprendre Lua pour jouer avec? J'ai vu des gens l'utiliser avec l'IDE Arduino standard.

Avez-vous besoin d'un firmware personnalisé pour utiliser l'IDE Arduino au lieu de Lua?

L'IDE Arduino me semble meilleur car je connais déjà la syntaxe. Y a-t-il un inconvénient à utiliser l'IDE Arduino au lieu de NodeMCU avec Lua?

n0tis
la source

Réponses:

9

L'utilisation de l'Arduino IDE est un firmware personnalisé. Voilà ce que vous écrivez. Vous n'avez pas besoin d' un nouveau firmware car le nouveau firmware est ce que vous écrivez.

Je ne peux penser à aucun inconvénient à utiliser C ++ pour programmer l'ESP8266 au lieu de Lua - en fait, cela ne peut être qu'un avantage car vous n'utilisez pas un langage interprété qui sera plus lent que le code compilé en mode natif.

Majenko
la source
3
alors pourquoi la plupart des gens utilisent NodeMCU avec Lua?
n0tis
3
@ n0tis Parce qu'il est pré-installé et très facile à utiliser. On leur dit aussi de l'utiliser quand ils l'achètent et ne savent pas mieux.
Majenko
1
@ n0tis Je les ai seulement programmés en C ++ et je ne ferais rien d'autre. À la fin de la journée, vous pouvez toujours réinstaller le micrologiciel de l'interpréteur LUA et revenir à LUA si vous ne poursuivez pas la programmation de style Arduino. Rien n'est permanent - vous pouvez changer d'avis à tout moment.
Majenko
3
C'est Lua pas LUA. Ce n'est pas un acronyme. Voir Qu'y a-t-il dans un nom? . Comment utilisez-vous Lua sur l'Arduino?
Nick Gammon
2
Oui, vous venez de compiler et de télécharger. Le micrologiciel lua ou le micrologiciel AI thnker AT ne sont que des programmes téléchargés sur la carte: l'un pour interpréter le script Lua, l'autre pour interpréter les commandes AT. Tout comme vos croquis Arduino.
Majenko
11

Lua, comme de nombreux langages de script, a tendance à vous rendre beaucoup plus productif en tant que programmeur: les choses deviennent beaucoup plus faciles lorsque vous travaillez à un niveau d'abstraction plus élevé et ne vous inquiétez pas de choses triviales comme la gestion de la mémoire. Vous atteignez les mêmes objectifs avec beaucoup moins de lignes de code. D'un autre côté, alors qu'il accélère le développement, il ralentit également l'exécution du programme. Que ce soit un bon compromis ou non dépend beaucoup de l'application particulière que vous souhaitez écrire.

Dans votre cas particulier, vous devez également tenir compte du fait que vous ne connaissez pas Lua et que vous connaissez déjà à la fois le langage C ++ et l'API Arduino. Ensuite, vous ne pourrez pas retirer les avantages de Lua sur un seul projet, en raison du temps nécessaire pour apprendre la langue. Vous pouvez considérer l'apprentissage de la langue comme un investissement, cela en vaut probablement la peine si vous prévoyez de programmer beaucoup sur cette plate-forme, probablement pas la peine si ce n'est que pour un seul projet assez simple. En cas de doute, je vous suggère de jeter un œil à l'API fournie avec Lua sur cette plateforme: dans quelle mesure cela correspond-il à votre projet? Est-ce un meilleur ajustement que l'API Arduino?

Edgar Bonet
la source
1

JE RECOMMANDE FORTEMENT DE RESTER AVEC L'IDE ARDUINO!

Bien que la programmation en C ++ ne soit pas aussi conviviale et polyvalente que Lua (travailler avec Esplorer est vraiment un rêve devenu réalité!), Lua est TRÈS INSTABLE ET IMPRÉVISIBLE !!!

Vous pouvez exécuter un programme simple de dix lignes et cela fonctionne bien pendant un jour ... deux ... et tout à coup, le 3ème jour, la puce se bloque de manière inattendue, et sans raison! Si vous êtes chanceux, la puce redémarrera et le programme recommencera à fonctionner ... ce n'était PAS le cas avec moi. J'ai dû recharger à nouveau le programme! Après 3 cycles comme celui-ci, j'ai décidé d'abandonner Lua ... POUR TOUJOURS.

user3152171
la source
2
Même expérience ici. Et j'ai vraiment, vraiment aimé Lua.
Ouais. Lua en tant que langue est une expérience intéressante. Sur NodeMCU, surtout frustrant ..
dda
2
J'aime lua et le REPL. J'aime aussi js sur l'ESP8266 (espruino) et son faible encombrement. En tant que programmeur de systèmes embarqués, il est très clair que de nombreuses bibliothèques Arduino sont écrites par des programmeurs non embarqués gaspillant et / ou fragmentant une mémoire précieuse. J'utilise Arduino mais je fais des choses comme utiliser ma propre gestion de chaînes à partir de C plutôt que cette classe C ++ laide. La mémoire est une marchandise à apprécier et non à abuser.
uDude
0

Désolé d'avoir heurté, mais ce fil m'a aidé à choisir Arduino IDE.

J'ai commencé avec Arduino IDE mais je n'ai pas pu le faire fonctionner avec ESP-07. Déplacé vers NodeMCU et Lua avec Esplorer. Cela m'a pris un certain temps pour le faire fonctionner également en raison de la vitesse de transmission étrange du chargeur de démarrage. Tout d'abord, il semblait si facile de configurer un serveur WEB, mais le problème était que tous les exemples trouvés étaient basés sur un ancien FW 0.96, et essayer avec la dernière 2.1 ne fonctionnait pas du tout. Donc, réaliser que les gens n'avaient pas fait grand-chose avec les nouveaux FW m'a fait réfléchir.

Maintenant, avec Arduino IDE, les choses commencent à fonctionner comme elles le devraient! :)

PeteR
la source