BBC micro:bit als Beacon

bbc:microbit
Zwar gibt es Beacons schon seit der Einführung durch Apple in 2013, aber in freier Wildbahn ist mir bis jetzt noch keiner begegnet. Ebensowenig sind mir Beacons/BLE als NFC-Killer beim Mobile Payment begegnet. Aber trotzdem reizt diese Technik, da sie grosses Potential hat wenn denn die passende Killer-Applikation dafür gefunden wird 😉
Wer die Beacon Technik einmal evaluieren möchte aber keine großen Kosten aufwenden möchte ist mit einem
BBC micro:bit – Starter Kit 15GBP (~18EUR) https://thepihut.com/products/micro-bit-starter-kit recht gut bedient.
Neben den für Schüler entwickelten Create Code Projekten (Code Kingdoms, Block Editor, Touch Develop, MicroPython) kann man den micro:bit nämlich auch mit anderer Firmware/OS nutzen.

Espruino – JavaScript

Hier kommt das Projekt Espruino ins Spiel. 2013 als Kickstarter Projekt ausgerufen stellt es ein Evalboard zur Verfügung, welches mit JavaScript programmiert werden kann.
Der JavaScript Source Code kann im Google Chrome Browser via Espruino Web IDE recht einfach editiert werden.
Wenn Web Bluetooth (auf dem PC/Host unterstützt wird und aktiviert ist) kann der Code sogar via Bluetooth zum micro:bit gesendet werden oder sonst alternativ via Serial Port mit dem angeschlossenen USB-Kabel übertragen werden.
Erforderlich ist dafür die Espruino Firmware, die als Hex Image von zB http://www.espruino.com/binaries/travis/master/espruino_1v86.400_microbit.hex heruntergeladen werden kann und auf dem ‚micro:bit-Laufwerk‘ (Mass-Storage Device) abspeichert wird.

nRF

espruino_web_ide
nRF (=Nordic RF nRF51822 SoC bildet das Herzstück des micro:bit), so lautet die Klasse in der Espruino API, mit der die BLE Funktionalität des micro:bit angesprochen werden kann. Mit folgender langen Zeile Code


NRF.setAdvertising([0x03, // Length of Service List
0x03, // Param: Service List
0xAA, 0xFE, // Eddystone ID
0x13, // Length of Service Data
0x16, // Service Data
0xAA, 0xFE, // Eddystone ID
0x10, // Frame type: URL
0xF8, // Power
0x03, // https://
'g','o','o','.','g','l','/','D','t','e','k','j','A'],
{interval:100});

lässt sich ganz einfach eine Eddystone-URL verbreiten. Mit den weiteren Funktionen der NRF API (wie zB servicesDiscover, setScan) kann natürlich auch nach BLE Services gesucht und diese genutzt werden. Zurzeit ist die API noch in Entwicklung und man sollte immer das letzte Daily Hex Image nutzen.
screenshot_nearby_notificationscreenshot_nearby_discovery

Links

Espruino Firmware für micro:bit (espruino_1vXX.XXX_microbit.hex) http://www.espruino.com/binaries/travis/master/
Espruino API http://www.espruino.com/Reference#software
Espruino Web IDE (Chrome Web Store) https://chrome.google.com/webstore/detail/espruino-web-ide/bleoifhkdalbjfbobjackfdifdneehpo

Hinterlasse einen Kommentar

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..