In diesem Artikel stelle ich den Espruino, einen quelloffenen Microcontroller vor, der mittels JavaScript erstaunliche Steuerungsleistungen vollbringt. Weiterhin kündige ich die von mir in der nächsten Zeit veröffentlichten Tutorials an.
das Espruino-Projekt
Mit ca. 100.000 £ wurde der Espruino auf der Kickstarter-Plattform zum Leben erweckt. Ich war damals auch einer der Backer, die das Projekt von Gordon Williams finanziert haben, da für mich das Programmieren eines Microcontrollers mit JavaScript verlockend war. Ist doch JavaScript, welches von vielen als unsicher und Einfallstor für Schadcode über das Internet abgestempelt wird, neben PHP die meinst genutzte Progrommiersprache im Internet. Diese wurde über jQuery in der Anwendung vereinfacht (clientside scripting) und durch jQuery mobile auch zur Entwicklung von Webapps verwendet, unterstützt über AJAX asynchrone Kommunikation und Desktop-Feeling von Webseiten und hat es mit Node.js auch bereits auf den Server geschafft (serverside scripting).
die Idee
Warum also nicht, wie von Gordon Williams formuliert, diese auf etwas so kleinen und primitiven wie einem Microcontroller verwenden. Dort wird normalerweise C / C++ (siehe Arduino) oder Basic verwendet. Gerade bei einer zunehmenden Vernetzung im Internet der Dinge ist JavaScript eine zukunftsweisende Programmiersprache in diesem Bereich. Gorden hat dazu einen JavaScript-Interpreter geschrieben, der auch auf diversen anderen Microcontrollern verwendet werden kann. Mit diesem kann man über einfache bis hin zu umfangreichen Programmen in JavaScript den Espruino-Microcontroller steuern.
Wer also damals nicht bei Kickstarter dabei war und trotzdem einen Espruino möchte, kann diesen hier bestellen.
Berichterstattung über Espruino
Aufmerksam bin ich auf das Projekt über die Berichterstattung von heise.de geworden, welche in zwei Artikeln die Espruino vorgestellt haben:
Espruino: Quelloffenes JavaScript-Board
Espruino – JavaScript ganz weit unten
Im zweiten Artikel sind dann auch schon einige Programmbeispiele gezeigt, die jedoch durch die von Gorden erstellten umfangreiche Bibliothek an Tutorials zu Projekten und sogar einzelnen Bauteilen vervollständigt wird. Mit dem Verständnis aus den Tutorials kann man dann ohne Probleme sich an eigene Projekte wagen, die das erlernte modulare Wissen in anderer Zusammensetzung benötigen.
Was ist ein Microcontroller?
Als Mikrocontroller werden Halbleiterchips bezeichnet, die einen Prozessor und zugleich auch Peripheriefunktionen enthalten. In vielen Fällen befindet sich auch der Arbeits- und Programmspeicher teilweise oder komplett auf demselben Chip. Ein Mikrocontroller ist ein Ein-Chip-Computersystem. Für manche Mikrocontroller wird auch der Begriff System-on-a-Chip oder SoC verwendet.
Der Espruino hat zwar einen integrierten Flash-Speicher, of den der Programmcode geschrieben werden kann, sodass er unabhängig vom PC abläuft. Jedoch können auch ganz leicht microSD bzw. microSDHC (ich habe z.B. die „Adata MicroSDHC – Class 10 – 64GB“ erfolgreich getestet), angebunden werden, um größere Datenmengen zu speichern.
kommende Tutorials
Ich habe also mein Espruino erhalten und mir diverse Hardware zugelegt, mit denen ich Experimente durchgeführt habe. Die Ergebnisse, insbes. Programmcode und Schaltungsaufbau, werde ich in den folgenden Artikeln darstellen. Dabei plane ich folgende Projekte in der nächsten Zeit zu veröffentlichen:
1. 1×40 Pin 2.0mm Pitch Single Row PCB richtig angelötet
Hier zeige ich eine Methode, wie man testen kann, dass die Pins am Espruino korrekt mit dem Pin-Strip verlötet sind.
2. RGB LED stufenlos dimmen
Hier zeige ich einen Schaltaufbau und ein Programm zur stufenlosen Farbveränderung von RGB LEDs.
3. Steuerung eines 2WD Car Chassis mit Espruino
Hierbei werde ich die Einbindung folgender Sensoren testen:
- Ublox NEO6MV2 GPS-Sensor – Orientierung im Freien
- Ultrasonic Modul HC-SR04 – der Roboter stößt nicht mehr an
- Silizium-PIN-Fotodiode BPW34 (gibt es bei Farnell) – der Roboter fährt auf einer schwarzen Linie
- fernsteuern über Bluetooth mit HC-05-Modul
4. Wann ist die Waschmaschine fertig? – Waschmaschinenabtastung mit Fotodiode
Hier kommt wieder die auch im sichtbaren Bereich funktionierende Silizium-PIN-Fotodiode BPW34 zum Einsatz, die viel schneller arbeitet als ein Fotowiderstand (LDR) oder Fototransistor (siehe auch) und daher mit einem geeigneten Abtast-Algorithmus gut arbeitet.
5. Babythermometer
Hier werde ich ein Thermometer zur autom. Temperaturüberwachung bauen. Die Temperatur wird über einen DS18B20+ Temperatursensor gemessen und kann über
- HC-05-Modul übertagen werden
- NRF24L01+-Modul übertragen werden
- auf einem LCD-Display angezeigt werden
Bei einer Temperaturüberschreitung wird ein optischersund akustisches Warnsignal ausgelöst
6. Die Nerd-Uhr
Bau einer Uhr mit LCD-Display und um 32,768KHz Quarz Kristall erweitertes Espruino-Board.
Ich wünsche viel Spass beim Basteln und Tüfteln!