Angetestet: Pixl.js - Espruino-Bastelboard mit Bluetooth und Display

Dank Espruino können Entwickler Mikrocontroller in JavaScript programmieren. Der Erfinder Gordon Williams hat aber nicht nur den JavaScript-Interpreter entwickelt, sondern auch eigene Hardware. Sein neuester Streich heißt Pixl.js.

In Pocket speichern vorlesen Druckansicht 28 Kommentare lesen
Pixl.js: Neues Espruino-Board mit Bluetooth und Display
Lesezeit: 4 Min.
Von
  • Maik Schmidt
  • Daniel Bachfeld
Inhaltsverzeichnis

Rein äußerlich hat Pixl.js mit dem runden Silikon-Puck nicht viel zu tun, aber die Innereien ähneln sich sehr. Beide werden von einem nRF52832 angetrieben, in dem sich ein ARM Cortex M4 (64MHz), 64 KByte RAM und 512 KByte Flash befinden. Zur drahtlosen Kommunikation stehen Bluetooth Low Energy und NFC zur Verfügung. Darüber hinaus gibt es vier Drucktaster, die jeweils an den Ecken des Boards angebracht sind. Dazu kommen ein Temperatursensor und ein Sensor zur Abfrage des Batterieladestands. Der Pixl.js kann nämlich nicht nur über seinen Micro-USB-Anschluss mit Energie versorgt werden, sondern auch über eine CR2032-Batterie. Nach einer kleinen Modifikation des Boards kann die Batterie auch als Backup dienen, wenn die Versorgung über den USB-Anschluss mal ausfällt.

Pixl.js (6 Bilder)

Das Pixl.js von vorne...

Das Gerät ist 60 mm breit, 53 mm lang und 15 mm hoch. Den Großteil der Fläche bedeckt das Monochrom-Display, das eine Diagonale von 54 mm und eine Auflösung von 128 × 64 Pixeln hat. Außerdem verfügt es über eine LED-Hintergrundbeleuchtung. Laut Williams reicht eine Batterie bei eingeschaltetem Display und ohne Hintergrundbeleuchtung für zwanzig Tage Dauerbetrieb. Die Platine führt 20 GPIO-Pins im Layout eines Arduino-Shields nach außen und tatsächlich arbeiten viele Arduino-Shields mit dem Pixl.js zusammen; allerdings nur die Shields, die mit 3,3 V betrieben werden können.

Allen Espruino-Boards sind die hervorragende Dokumentation und Software-Unterstützung gemein und Pixl.js ist keine Ausnahme. Der JavaScript-Interpreter ist vorinstalliert und die Webseite des Projekts erklärt die ersten Schritte ausführlich. Es empfiehlt sich, gleich nach dem Auspacken die aktuelle Firmware aufzuspielen. Das geht per Bluetooth mit mobilen Applikationen, wie zum Beispiel nRF Toolbox (Android und iOS) oder nRF Connect (Android). Die Programmierung geht am einfachsten ebenfalls via Bluetooth vonstatten. Dazu bietet das Espruino-Projekt eine Web-Anwendung, mit der sich Boards wie Pixl.js und Puck.js direkt aus dem Chrome-Browser ansprechen lassen.

Mehr Infos

Listing 1

function onTimer() {
var t = E.getTemperature().toFixed(1);
g.clear(); g.setFontBitmap();
g.drawString("Temperatur:");
g.setFontVector(40);
g.drawString(t, (g.getWidth() - g.stringWidth(t)) / 2, 10);
g.flip();
}
setInterval(onTimer, 2000);
onTimer();

Leider funktioniert das nicht auf allen Betriebssystemen, weil Google zum Beispiel unter Windows 10 noch immer kein Web Bluetooth unterstützt. Angekündigt ist es schon lange und soll auch bald verfügbar sein. Bis dahin bietet Espruino eine eigens zu installierende Anwendung, die die gleiche Funktionalität bietet, wie die Web-Anwendung. Damit ist das Ende der Fahnenstange aber noch nicht erreicht, denn Entwickler erreichen das Gerät bei Bedarf auch über eine eigene Kommandozeilen-Anwendung, aus eigenen Web-Seiten heraus oder aber über einen Raspberry Pi.

Neben dem JavaScript-Interpreter enthält die Firmware nützliche Bibliotheken für alle Sensoren und Aktoren. Zum Beispiel können die Drucktaster oder der Temperatursensor mit nur einem Funktionsaufruf ausgelesen werden. Ähnlich einfach ist der Zugriff auf die BLE-Funktionalität und so wird aus dem Pixl.js mit nur wenigen Zeilen Code ein Bluetooth-Beacon. Die große Neuerung beim Pixl.js ist aber das Display und dank einer umfangreichen Grafik-Bibliothek lässt sich damit eine ganze Menge anstellen. Neben den üblichen Funktionen zum Zeichnen von Punkten, Kreisen und Linien gibt es ordentliche Unterstützung zur Darstellung von Bitmap-Grafiken.

Sehr praktisch sind die eingebauten Zeichensätze. Es gibt einen sehr kleinen aber lesbaren Bitmap-Font und sogar einen Vektor-Font, mit dem sich Zeichen in beinahe beliebiger Größe ausgeben lassen. Wer noch speziellere Anforderungen hat, kann sogar seinen eigenen Font definieren. Listing 1 zeigt, wie einfach Mikrocontroller-Programmierung sein kann und gibt alle zwei Sekunden die aktuelle Temperatur aus. Puristen dürfte freuen, dass das Display im Grunde ein VT100-Terminal ist. Die Anweisung Terminal.println("Dies ist ein Test") gibt also einen Text inklusive Zeilenumbruch aus und sorgt dafür, dass der übrige Bildschirminhalt nach oben gescrollt wird. Schließlich gibt es noch eine Bibliothek, mit der sich besonders einfach menügeführte Anwendungen bauen lassen.

Das Espruino-Ökosystem ist weit gediehen und sowohl die Hardware als auch die Software lassen nichts zu wünschen übrig. Die einfache Programmierung in JavaScript und der Arduino-kompatible Formfaktor machen den Pixl.js zu einer interessanten Basis für eine Vielzahl von Projekten. Der Pixl.js ist ab dem 20. Mai 2018 erhältlich und kann schon jetzt zum Preis von 36 britischen Pfund vorbestellt werden. (dab)