Einführung ins Espruino-Board

Seite 2: Installation und erster Code

Inhaltsverzeichnis

Nur wer Windows XP oder Windows 8.1 nutzt, muss separate Treiber herunterladen und installieren. Linux-Freunde müssen lediglich ihren Nutzer in die Gruppe dialout eintragen und sich anschließend ab- und wieder anmelden:

$ sudo adduser $USER dialout

Unter Mac OS X ist gar nichts zu tun.

Nachdem man das Board über ein Micro-USB-Kabel mit dem PC oder Mac verbunden hat, wartet es an der seriellen Schnittstelle auf Kommandos. Zur Kommunikation eignet sich jede serielle Monitor-Software, also zum Beispiel HyperTerminal oder PuTTY unter Windows, picocom oder minicom unter Linux und screen unter Mac OS X. Die Projekt-Webseite erklärt die Verwendung der bekanntesten Werkzeuge.

Verbindet man sich mit dem Espruino-Board, wird man mit einem Espruino-Logo und einer Eingabeaufforderung begrüßt:

Hier lassen sich beliebige JavaScript-Anweisungen eingeben und auswerten:

>2 + 3 * 4
=14

Espruino stellt neben vielen gewohnten JavaScript-Funktionen auch spezielle Hilfsmittel für den direkten Zugriff auf die Hardware bereit. Mithilfe des globalen Objekts process kann man sich zum Beispiel schnell einen Überblick über die Eigenschaften des Boards verschaffen.

>process.env
={ "VERSION": "1v52",
"BUILD_DATE": "Feb 21 2014",
"BUILD_TIME": "15:28:41",
"BOARD": "ESPRUINOBOARD",
"CHIP": "STM32F103RCT6",
"CHIP_FAMILY": "STM32F1",
"FLASH": 262144,
"RAM": 49152,
"SERIAL": "33FFD705-41573033-24790743",
"CONSOLE": "USB"}

Auch die GPIO-Pins steuert man sehr einfach an. Die JavaScript-Umgebung definiert eine Pin-Klasse und erzeugt automatisch Instanzen mit sprechenden Namen für jeden GPIO-Pin. Beispielsweise gibt es ein Objekt namens LED1, mit dem sich die rote LED des Boards steuern lässt. Das folgende Beispiel schaltet die rote LED ein, liest ihren Zustand aus und schaltet sie dann wieder ab.

>pinMode(LED1, 'output')
=undefined
>LED1.set()
=undefined
>LED1.read()
=true
>LED1.reset()
=undefined

Zusätzlich zu den Methoden der Pin-Klasse enthält die Espruino-Umgebung aber auch Funktionen, wie sie aus dem Wiring- beziehungsweise dem Arduino-Projekt bekannt sind. Zum Beispiel liest die folgende Anweisung den aktuellen Wert des analogen Pins A2 aus.

>analogRead(A2)
=0.309330891889829873164

Entsprechend gibt es weitere Funktionen wie analogWrite, digitalRead, digitalWrite und digitalPulse. Analog zur Pin-Klasse gibt es auch Klassen für den Zugriff auf SPI, I2C und USART (Serial).