© Maisei Raman/Shutterstock.com
PHP Magazin
JavaScript-Code am ESP32-Board ausführen

Espruino - JavaScript ganz klein

Espruino erlaubt die Steuerung von Hardware per JavaScript. Preiswerte ESP32-Boards bekommen eine kleine Runtime zur Verfügung gestellt und lassen sich danach als MSR-Zentrale für Smarthomes und mehr verwenden.

Tam Hanna


Das Unternehmen Espressif war vom Erfolg des ESP8266 anfangs selbst überrascht – als die nur auf Chinesisch vorliegende Dokumentation des WLAN-fähigen Mikrocontrollers erstmals ins Englische übersetzt wurde, war das Interesse immens. Mittlerweile lässt sich die Chipfamilie auch in JavaScript programmieren.

Gleich zum Einstieg sei angemerkt, dass wir in den folgenden Schritten mit dem Nachfolger ESP32 arbeiten wollen – er ist insbesondere in Kleinmengen nicht teurer als sein Vorgänger, ist aber schneller und bietet bessere Hardware-Interfaces an.

Aus Sicht eines Entwicklers spricht mehreres für JavaScript: Erstens ist die Sprache objektorientiert und einfach erlernbar. Zweitens gilt, dass die Reduktion von Koppelung immer von Vorteil ist – insbesondere, wenn das Produkt sowieso mit einem Web-Frontend oder Web-Backend arbeitet, lässt sich durch Recyclen des JavaScript-Codes Robustheit gewinnen.

Außer Frage steht, dass mit JavaScript auf dem ESP32 mit Sicherheit keine Echtzeitwettbewerbe gewonnen werden, aber das ist in vielen Situationen auch gar nicht notwendig.

Auf die richtige Strategie kommt es an

Sucht man nach JavaScript für ESP32, so erschlägt einen die Suchmaschine des Vertrauens mit Dutzenden von Ergebnissen. Im Fokus steht einerseits Espruino und andererseits ein (leistungsfähigeres) Produkt namens low.js.

Wir wollen in den folgenden Schritten aus zwei Gründen auf das wegen der Interpretation des JavaScript-Codes langsamere Espruino setzen: Erstens steht es nicht nur am ESP32, sondern auch auf diversen anderen Controllern zur Verfügung. Zweitens gibt es den ESP32 in zwei Varianten – neben dem weit verbreiteten WROOM gibt es auch den von low.js vorausgesetzten WROVER, der mehr Arbeitsspeicher mitbringt und dementsprechend teurer ausfällt.

In der Praxis ist die Situation leider so, dass die bessere Variante kaum auf Evaluationsboards zu finden ist – das Unternehmen des Autors hat aufgrund eines Consultingprojekts eines thailändischen Kunden Dutzende von ESP32-Boards „in Kommission“, keines davon ist mit einem WROVER ausgestattet.

Angemerkt sei, dass Espruino in eingeschränktem Maß auch in Maschinencode vorliegende Routinen unterstützt. Wer eines der vom Espruino-Entwickler entwickelten Boards verwendet, darf seine Funktionen als „zu kompilierend“ markieren – leider steht in diesem Betriebsmodus nur ein extrem eingeschränkter Teil der JavaScript-Syntax zur Verfügung.

Eine Frage der Umgebung

Auch wenn der ESP32 in der Praxis meist mit der Arduino-IDE programm...

PHP Magazin
JavaScript-Code am ESP32-Board ausführen

Espruino - JavaScript ganz klein

Espruino erlaubt die Steuerung von Hardware per JavaScript. Preiswerte ESP32-Boards bekommen eine kleine Runtime zur Verfügung gestellt und lassen sich danach als MSR-Zentrale für Smarthomes und mehr verwenden.

Tam Hanna


Das Unternehmen Espressif war vom Erfolg des ESP8266 anfangs selbst überrascht – als die nur auf Chinesisch vorliegende Dokumentation des WLAN-fähigen Mikrocontrollers erstmals ins Englische übersetzt wurde, war das Interesse immens. Mittlerweile lässt sich die Chipfamilie auch in JavaScript programmieren.

Gleich zum Einstieg sei angemerkt, dass wir in den folgenden Schritten mit dem Nachfolger ESP32 arbeiten wollen – er ist insbesondere in Kleinmengen nicht teurer als sein Vorgänger, ist aber schneller und bietet bessere Hardware-Interfaces an.

Aus Sicht eines Entwicklers spricht mehreres für JavaScript: Erstens ist die Sprache objektorientiert und einfach erlernbar. Zweitens gilt, dass die Reduktion von Koppelung immer von Vorteil ist – insbesondere, wenn das Produkt sowieso mit einem Web-Frontend oder Web-Backend arbeitet, lässt sich durch Recyclen des JavaScript-Codes Robustheit gewinnen.

Außer Frage steht, dass mit JavaScript auf dem ESP32 mit Sicherheit keine Echtzeitwettbewerbe gewonnen werden, aber das ist in vielen Situationen auch gar nicht notwendig.

Auf die richtige Strategie kommt es an

Sucht man nach JavaScript für ESP32, so erschlägt einen die Suchmaschine des Vertrauens mit Dutzenden von Ergebnissen. Im Fokus steht einerseits Espruino und andererseits ein (leistungsfähigeres) Produkt namens low.js.

Wir wollen in den folgenden Schritten aus zwei Gründen auf das wegen der Interpretation des JavaScript-Codes langsamere Espruino setzen: Erstens steht es nicht nur am ESP32, sondern auch auf diversen anderen Controllern zur Verfügung. Zweitens gibt es den ESP32 in zwei Varianten – neben dem weit verbreiteten WROOM gibt es auch den von low.js vorausgesetzten WROVER, der mehr Arbeitsspeicher mitbringt und dementsprechend teurer ausfällt.

In der Praxis ist die Situation leider so, dass die bessere Variante kaum auf Evaluationsboards zu finden ist – das Unternehmen des Autors hat aufgrund eines Consultingprojekts eines thailändischen Kunden Dutzende von ESP32-Boards „in Kommission“, keines davon ist mit einem WROVER ausgestattet.

Angemerkt sei, dass Espruino in eingeschränktem Maß auch in Maschinencode vorliegende Routinen unterstützt. Wer eines der vom Espruino-Entwickler entwickelten Boards verwendet, darf seine Funktionen als „zu kompilierend“ markieren – leider steht in diesem Betriebsmodus nur ein extrem eingeschränkter Teil der JavaScript-Syntax zur Verfügung.

Eine Frage der Umgebung

Auch wenn der ESP32 in der Praxis meist mit der Arduino-IDE programm...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang