Arduino IDE vs Lua

Viele Neueinsteiger fragen sich über den Unterschied zwischen Lua und Arduino IDE. Welche Umgebung soll ich für meine ESP verwenden?

Was ist Lua?

Lua ist eine Scriptsprache wie PHP oder JacvaScript. Eine Scriptsprache braucht einen Interpreter um zu laufen. Bei JavaScript ist dies die ScriptEngine des Browsers. Bei den ESP-Modulen ist der Interpreter die Firmware des Modules. Die Firmware nennt sich NodeMCU. Die meisten ESP-Boards kommen mit dieser vorinstallierten Firmware, darum haben diese Module oft den Zusatz “NodeMCU” im Namen. Wenn Du ein Programm in Lua geschrieben hast, lädst du dieses auf dein Modul und die Firmware führt Dein Programm auf dem Modul aus. IDEs gibt es eine ganze Auswahl. ESPlorer, ESPCut um nur zwei zu nennen. Mit einigen kann die Firmware direkt aktualisiert werden, für andere braucht man ein separates Tool dazu wie zum Beispiel esptool.py, ein Pythonprogramm für die Kommandozeile oder NodeMCU Flasher. Eine gute Einführung findest Du hier.

ESPlorer IDE

Vorteile

  • Scriptsprachen sind abstrakter. Dinge sind oft einfacher zu programmieren und fallen kürzer aus
  • Grosse Auswahl an IDE-Software
  • man ist nicht abhängig von von einer Firma (Arduino)

Nachteile

  • Für Anfänger ist die Benutzerumgebung eher schwer einzurichten
  • Scriptsprachen laufen langsamer, da sie zur Laufzeit interpretiert werden müssen
  • Aussagen aus Foren behaupten, dass die Scripte nicht sehr stabil laufen
  • Die Firmware muss von Zeit zu Zeit aktualisiert werden
  • Online findet man im Vergleich wenig Beispiele und Tutorials, insbesondere für neuere Module. Die Beispiele stammen meist aus den Anfangszeiten von ESP, als Arduino IDE ESP-Module noch nicht unterstützte
  • Die Online-Community ist relativ klein.

Codebeispiel Blink in Lua

while 1 do
	gpio.write(0,gpio.HIGH)
	tmr.delay(1000000)
	gpio.write(0,gpio.LOW)
	tmr.delay(1000000)
end

Was ist Arduino IDE?

Die Arduino IDE ist eine Entwicklungsumgebung in Java, welche zum Programmieren von Arduino Geräten entwickelt wurde. In der Zwischenzeit können damit auch ESP-Boards bespielt werden. Da viele ESPler von Arduino her kommen, mauserte sich Arduino IDE schnell zur Favoriten-IDE auch für ESP. Die IDE läuft auf allen Systemen und ist einfach zu installieren und eine All-In-One-Lösung. Es gibt sehr viele Libraries die eingebunden werden können. Programmiert wird in C++. Das ist zwar für Anfänger ein schwerer Brocken, durch die vielen Beispiele die man Online findet kann man sich schnell damit zurecht finden. Beim ersten Upload des Programmes wird die Lua-Firmware gelöscht und mit dem kompilierten C++ Programm ersetzt. Das kompilierte C++ Programm braucht keinen Interpreter mehr, es ist quasi dann die Firmware selber.

Arduino IDE

Vorteile

  • schnellere Programme
  • keine Firmwareupdates notwendig
  • viele Beispiel und Tutorials online
  • zukunftssicher
  • breite Abstützung in der Arduino-Community
  • mit C++ eine Starke Programmiersprache mit der sehr viel möglich ist.

Nachteile

  • Komplexere Programmiersprache
  • flachere Lernkurve

Codebeispiel Blink in Arduino IDE

int ledPin = 2;
 void setup() {
 pinMode(ledPin, OUTPUT);
 }

void loop() {
 digitalWrite(ledPin, HIGH);
 delay(1000);
 digitalWrite(ledPin, LOW);
 delay(1000);
 }

Lua oder Arduino IDE?

Wir von ShopOfThings empfehlen Dir, von Anfang mit der Aruidno IDE Deine Module zu programmieren. Lua rückt langsam in den Hintergrund und wird je länger weniger verwendet. Wenn Du die Arduino IDE verwendest, laufen Deine Programme schneller und stabiler. Wenn Du einmal einen Ausflug in die Welt von Arduino machen willst, kannst Du dies fliegend tun.

Zuletzt sind unsere eigenen Tutorials hier auf ShopOfThings alle in Arduino IDE geschrieben, wir wollen aber niemanden davon abhalten, mit Lua zu entwickeln.

2 Kommentare

  1. Soviel ich weiss wird in der Arduino IDE mit C programmieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.