ESP8266, Arduino IDE gegen Lua?

13

Ich plane einen ESP8266 zu kaufen. Muss ich Lua wirklich lernen, um damit zu spielen? Ich habe einige Leute gesehen, die es mit der Standard-Arduino-IDE verwendet haben.

Benötigen Sie eine benutzerdefinierte Firmware, um die Arduino IDE anstelle von Lua zu verwenden?

Die Arduino-IDE scheint mir besser zu sein, da ich die Syntax bereits kenne. Gibt es einen Nachteil bei der Verwendung der Arduino IDE anstelle von NodeMCU mit Lua?

n0tis
quelle

Antworten:

9

Bei der Verwendung der Arduino IDE handelt es sich um eine benutzerdefinierte Firmware. Das ist es, was du schreibst. Sie benötigen keine neue Firmware, da Sie die neue Firmware schreiben.

Ich kann mir keine Nachteile vorstellen, wenn ich C ++ anstelle von Lua für die Programmierung des ESP8266 verwende - in der Tat kann dies nur von Vorteil sein, da Sie keine interpretierte Sprache verwenden, die langsamer sein wird als nativ kompilierter Code.

Majenko
quelle
3
Warum verwenden die meisten Leute NodeMCU mit Lua?
n0tis
3
@ n0tis Weil es vorinstalliert und sehr einfach zu bedienen ist. Sie sollen es auch benutzen, wenn sie es kaufen und wissen es nicht besser.
Majenko
1
@ n0tis Ich habe sie bisher nur in C ++ programmiert und sonst nichts gemacht. Am Ende des Tages können Sie die LUA-Interpreter-Firmware immer neu installieren und zu LUA zurückkehren, wenn Sie mit der Programmierung im Arduino-Stil nicht weiterkommen. Nichts ist dauerhaft - Sie können Ihre Meinung jederzeit ändern.
Majenko
3
Es ist Lua nicht LUA. Es ist kein Akronym. Siehe Was ist in einem Namen? . Wie benutzt du Lua auf dem Arduino?
Nick Gammon
2
Ja, Sie kompilieren und laden nur. Die Lua-Firmware oder die AI Thnker AT-Firmware sind beides nur Programme, die auf die Karte hochgeladen werden: eines zur Interpretation von Lua-Skripten, das andere zur Interpretation von AT-Befehlen. Genau wie deine Arduino-Skizzen.
Majenko
11

Lua macht Sie wie viele Skriptsprachen als Programmierer viel produktiver: Die Arbeit auf einer höheren Abstraktionsebene wird wesentlich einfacher, und Sie müssen sich keine Gedanken über triviale Dinge wie Speicherverwaltung machen. Sie erreichen die gleichen Ziele mit weitaus weniger Codezeilen. Andererseits beschleunigt es die Entwicklung, verlangsamt aber auch die Programmausführung. Ob dies ein guter Kompromiss ist oder nicht, hängt stark von der jeweiligen Anwendung ab, die Sie schreiben möchten.

In Ihrem speziellen Fall müssen Sie auch berücksichtigen, dass Sie Lua nicht kennen und sowohl die C ++ - Sprache als auch die Arduino-API bereits kennen. In diesem Fall können Sie die Vorteile von Lua aufgrund der Zeit, die zum Erlernen der Sprache erforderlich ist, nicht in einem einzigen Projekt nutzen. Sie können das Erlernen der Sprache als Investition in Betracht ziehen, wahrscheinlich lohnt es sich, wenn Sie viel auf dieser Plattform programmieren, wahrscheinlich lohnt es sich nicht , wenn es sich nur um ein einzelnes, ausreichend einfaches Projekt handelt. Wenn Sie sich nicht sicher sind, empfehlen wir Ihnen, sich die API anzusehen, die mit Lua auf dieser Plattform bereitgestellt wird: Wie gut passt sie zu Ihrem Projekt? Passt es wesentlich besser als die Arduino-API?

Edgar Bonet
quelle
1

Ich empfehle dringend, mit der ARDUINO IDE zu bleiben!

Obwohl das Programmieren in C ++ nicht so benutzerfreundlich und vielseitig ist wie Lua (die Arbeit mit Esplorer ist wirklich ein wahrgewordener Traum!), Ist Lua SEHR UNSTABIL UND UNVORSICHTIG !!!

Sie können ein einfaches Programm mit zehn Zeilen ausführen und es funktioniert für einen Tag ... zwei ... und plötzlich hängt der Chip am dritten Tag unerwartet und ohne Grund! Wenn Sie Glück haben, wird der Chip neu gestartet und das Programm wird wieder gestartet ... das war bei mir NICHT der Fall. Ich musste das Programm erneut laden! Nach 3 Zyklen habe ich mich entschlossen, Lua ... FOREVER aufzugeben.

user3152171
quelle
2
Gleiche Erfahrung hier. Und ich mochte Lua wirklich sehr.
Ja. Lua als Sprache ist eine interessante Erfahrung. Auf NodeMCU meistens ein frustrierender ..
dda
2
Ich mag Lua und die REPL. Ich mag auch js auf dem ESP8266 (espruino) und seinem kleinen Fußabdruck. Als Programmierer von eingebetteten Systemen ist es sehr klar, dass viele der Arduino-Bibliotheken von nicht eingebetteten Programmierern geschrieben wurden, die wertvollen Speicher verschwenden und / oder fragmentieren. Ich benutze Arduino, benutze aber lieber mein eigenes String-Management aus C als diese hässliche C ++ - Klasse. Gedächtnis ist eine Ware, um Missbrauch nicht zu schätzen.
uDude
0

Entschuldigung für das Anstoßen, aber dieser Thread hat mir bei der Entscheidung für Arduino IDE geholfen.

Ich habe mit Arduino IDE begonnen, konnte es aber nicht mit ESP-07 zum Laufen bringen. Weiter zu NodeMCU und Lua mit Esplorer. Es hat eine Weile gedauert, bis es dort funktioniert, auch wegen der ungeraden Baudrate des Bootloaders. Zunächst schien es so einfach, einen WEB-Server einzurichten, aber das Problem war, dass alle gefundenen Beispiele auf einer alten FW 0.96 basierten und das Testen mit der neuesten Version 2.1 überhaupt nicht funktionierte. Die Erkenntnis, dass die Leute nicht viel mit neueren FW gemacht hatten, ließ mich nachdenken.

Jetzt mit Arduino IDE beginnen die Dinge so zu funktionieren, wie sie sollten! :)

Peter
quelle