© istockphoto.com/kchungtw
Entwickler Magazin
Prozessrechner à la JavaScript

Das muss tesseln!

Massimo Banzis Arduino befreite angehende IoT-Bastler von der lästigen Pflicht der Entwicklung eigener Hardware. Ob der geringen Rechenleistung des verwendeten Prozessors - ein AVR ist nun einmal kein Supercomputer - musste JavaScript bisher „draußen“ bleiben. Doch dank der Tessel-Prozessrechnerfamilie gehört diese Limitierung nun der Vergangenheit an. Dieser Artikel führt in deren Programmierung ein.

Tam Hanna


Das amerikanische Start-up Technical Machine bietet mit der Tessel-Serie seit einiger Zeit eine alternative Prozessrechnerfamilie an, die sich auf die Websprache spezialisiert hat. Dabei kommt eine innovative Architektur zum Einsatz. Der mit 180 MHz arbeitende LPC1830 ist mit externem Speicher ausgestattet und kann Code sowohl aus dem Arbeits- als auch aus dem Remanentspeicher beziehen.

Da JavaScript auf einer 180-MHz-CPU nur wenig Spaß macht, wird der Code vor dem Deployment per Colony in LUA umgewandelt. Auf der MCU rackert sodann ein LUA-Interpreter, der den Code nach bestem Wissen und Gewissen ausführt. Hardwarezugriffe erfolgen durch in C gehaltene native Methoden, die aus der LUA-Runtime heraus aufgerufen werden.

Meine Wenigkeit hatte im Rahmen eines Workshops auf der jsDay 2015 die Möglichkeit, etwas Zeit mit dem Tessel 1 zu verbringen. Es steht außer Frage, dass man einen Prozessrechner nach Betrachtung außerhalb eines Labors nicht komplett beschreiben kann. Betrachten Sie die folgenden Ausführungen als Produktvorstellung technischer Natur – ob des geringen Preises von rund 70 Euro spricht nur wenig gegen eigene Versuche.

Ab ins Node

Hätte Netscape den immensen Erfolg der im Navigator realisierten Programmiersprache voraussehen können, so hätte man JavaScript mit Sicherheit resilienter aufgebaut. Die Entwicklung von Tessel-Applikationen erfolgt – man glaubt es kaum – per Node.js. Unter aktuellen Versionen von Ubuntu beginnt die Installation wie in Listing 1.

Listing 1tamhan@ubuntu:~$ sudo npm install -g tessel/usr/local/bin/tessel -> /usr/local/lib/node_modules/tessel/bin/tessel.js  > usb@1.0.6 install /usr/local/lib/node_modules/tessel/node_modules/usb > node-pre-gyp install –fallback-to-build . . .INFO NOTE: Please run 'sudo tessel install-drivers' to complete your driver installation. ERR! could not write to /etc/udev/rules.d/85-tessel.rules TESSEL™ by TECHNICAL MACHINE™ tessel@0.3.23 /usr/local/lib/node_modules/tessel

Falls es im Rahmen der Installation zum im Listing 1 gezeigten Fehler kommt, so müssen Sie die Treiberinstallation im nächsten Schritt per sudo nachholen:

tamhan@ubuntu:~$ sudo tessel install-drivers INFO udev rules installed to /etc/udev/rules.d/85-tessel.rules INFO Driver installation complete. Unplug and re-plug Tessel to begin using it.

Nach dem Kauf eines neuen Prozessrechners folgt ein Firmwareupdate. Diese alte Binsenweisheit sollte Ihnen mittlerweile in Fleisch und Blut übergegangen sein, da die Platinen bei den Händlern oft ...

Entwickler Magazin
Prozessrechner à la JavaScript

Das muss tesseln!

Massimo Banzis Arduino befreite angehende IoT-Bastler von der lästigen Pflicht der Entwicklung eigener Hardware. Ob der geringen Rechenleistung des verwendeten Prozessors - ein AVR ist nun einmal kein Supercomputer - musste JavaScript bisher „draußen“ bleiben. Doch dank der Tessel-Prozessrechnerfamilie gehört diese Limitierung nun der Vergangenheit an. Dieser Artikel führt in deren Programmierung ein.

Tam Hanna


Das amerikanische Start-up Technical Machine bietet mit der Tessel-Serie seit einiger Zeit eine alternative Prozessrechnerfamilie an, die sich auf die Websprache spezialisiert hat. Dabei kommt eine innovative Architektur zum Einsatz. Der mit 180 MHz arbeitende LPC1830 ist mit externem Speicher ausgestattet und kann Code sowohl aus dem Arbeits- als auch aus dem Remanentspeicher beziehen.

Da JavaScript auf einer 180-MHz-CPU nur wenig Spaß macht, wird der Code vor dem Deployment per Colony in LUA umgewandelt. Auf der MCU rackert sodann ein LUA-Interpreter, der den Code nach bestem Wissen und Gewissen ausführt. Hardwarezugriffe erfolgen durch in C gehaltene native Methoden, die aus der LUA-Runtime heraus aufgerufen werden.

Meine Wenigkeit hatte im Rahmen eines Workshops auf der jsDay 2015 die Möglichkeit, etwas Zeit mit dem Tessel 1 zu verbringen. Es steht außer Frage, dass man einen Prozessrechner nach Betrachtung außerhalb eines Labors nicht komplett beschreiben kann. Betrachten Sie die folgenden Ausführungen als Produktvorstellung technischer Natur – ob des geringen Preises von rund 70 Euro spricht nur wenig gegen eigene Versuche.

Ab ins Node

Hätte Netscape den immensen Erfolg der im Navigator realisierten Programmiersprache voraussehen können, so hätte man JavaScript mit Sicherheit resilienter aufgebaut. Die Entwicklung von Tessel-Applikationen erfolgt – man glaubt es kaum – per Node.js. Unter aktuellen Versionen von Ubuntu beginnt die Installation wie in Listing 1.

Listing 1tamhan@ubuntu:~$ sudo npm install -g tessel/usr/local/bin/tessel -> /usr/local/lib/node_modules/tessel/bin/tessel.js  > usb@1.0.6 install /usr/local/lib/node_modules/tessel/node_modules/usb > node-pre-gyp install –fallback-to-build . . .INFO NOTE: Please run 'sudo tessel install-drivers' to complete your driver installation. ERR! could not write to /etc/udev/rules.d/85-tessel.rules TESSEL™ by TECHNICAL MACHINE™ tessel@0.3.23 /usr/local/lib/node_modules/tessel

Falls es im Rahmen der Installation zum im Listing 1 gezeigten Fehler kommt, so müssen Sie die Treiberinstallation im nächsten Schritt per sudo nachholen:

tamhan@ubuntu:~$ sudo tessel install-drivers INFO udev rules installed to /etc/udev/rules.d/85-tessel.rules INFO Driver installation complete. Unplug and re-plug Tessel to begin using it.

Nach dem Kauf eines neuen Prozessrechners folgt ein Firmwareupdate. Diese alte Binsenweisheit sollte Ihnen mittlerweile in Fleisch und Blut übergegangen sein, da die Platinen bei den Händlern oft ...

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