Tam Hanna

Außer Frage steht, dass der Tessel kein Prozessrechner für Jedermann ist.

Die erste Generation des Tessel (vorgestellt im Entwickler Magazin 5.15) beeindruckte die Entwicklerschaft in vielerlei Hinsicht: Die Ausführung von JavaScript auf einem Mini-Mikrocontroller der Bauart Cortex M3 war durchaus cool. Mit der zweiten Version professionalisiert Technical Machine die Architektur. Dieser Artikel zeigt, was Sie erwarten dürfen.

Tessel 1 und Tessel 2 unterscheiden sich technisch komplett: Ein Tessel der ersten Generation war im Grunde genommen eine virtuelle Maschine, die LUA-Code ausführte. Das Ausliefern von JavaScript erfolgte über eine Node Runtime, die den JavaScript-Code auf der Workstation des Entwicklers transpilierte und in Richtung des Prozessrechners schickte. Der Rest des Betriebssystems war nicht zugänglich – im Vergleich zu Unix-basierten Prozessrechnern ein durchaus signifikanter Nachteil.

Der Tessel 2 basiert auf einem Prozessor aus dem Hause MediaTek, der mit 580 Megahertz Rechenleistung und 64 Megabyte RAM durchaus genügend Rechenleistung für eine kopflose JavaScript-Umgebung anbietet. Ferner wurde der Softwarestack insofern verändert, als dass der JavaScript-Code nun direkt in V8 ausgeführt wird. Änderung Numero drei ist die Einführung eines zweiten Koprozessors, der für das eigentliche IO zuständig ist. Für uns reicht es aus, wenn wir davon ausgehen, dass unser Tessel 2 ein mit JavaScript programmierbarer Prozessrechner ist.

Installation

Die Installation der Tessel Utilities ist insofern kritisch, als sie auf diverse Hardwaremodule zugreift. Das erste wichtige Kriterium ist, dass die Node-Versionen des Superusers und des normalen Users übereinstimmen müssen. Das lässt sich in der Kommandozeile durch Eingabe der folgenden beiden Befehle überprüfen:

tamhan@TAMHAN14:~/.nvm$ sudo node -v
v6.10.3
tamhan@TAMHAN14:~/.nvm$ node -v
v6.10.3

Findet sich an dieser Stelle ein Mismatch zwischen den angezeigten Versionen, haben Sie ein Problem: Die Installation der Treiber wird in diesem Fall nicht gelingen. Im nächsten Schritt sind einige Module erforderlich, die Linux-Zugriff auf USB-Hardware erleichtern:

tamhan@TAMHAN14:~/.nvm$ sudo apt-get install libusb-1.0-0-dev libudev-dev

Das eigentliche Herunterladen erfolgt über den npm-Paketmanager. Wundern Sie sich aber nicht, wenn während der Installation der eine oder andere Fehler geworfen wird, denn die Tessel Runtime probiert mehrere Methoden aus, um die notwendigen Treiber zu kompilieren.

tamhan@TAMHAN14:~/.nvm$ npm install -g t2-cli

Zu guter Letzt müssen die Treiber auf der Workstation installiert werden. Das erfolgt durch Eingabe des folgenden Befehls:

tamhan@TAMHAN14:~/.nvm$ sudo t2 install drivers
*** Error in `node': free(): invalid pointer: 0x0000000003b66eff ***

Kommt es bei der Ausführung des Installationsbefehls zum oben erwähnten Fehler, so müssen Sie die Tessel-Programmierumgebung – gegen die expliziten Empfehlungen des Entwicklerteams – als Root „nachinstallieren“, um danach die Installation zum erfolgreichen Durchlaufen zu bringen:

tamhan@TAMHAN14:~/.nvm$ sudo npm install -g t2-cli
tamhan@TAMHAN14:~/.nvm$ sudo t2 install drivers
INFO udev rules installed to /etc/udev/rules.d/85-tessel.rules
INFO Done. Unplug and re-plug Tessel to update permissions.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin 5.17 - "Python"

Alle Infos zum Heft
579808306Den Tessel 2 in JavaScript programmieren
X
- Gib Deinen Standort ein -
- or -