Andreas Rozek
[ Impressum ]   [ Datenschutzerklärung ]   [ Kontakt ]   [ ]

BBC micro:bit BoardControl

BBC micro:bit BoardControl
Eigentlich sind Einplatinen-Rechner von der Art eines BBC micro:bit[1] oder Calliope mini [2] dafür gedacht, Schülern die Programmierung solcher Kleinstrechner näherzubringen - die erstellten Programme laufen in diesem Fall direkt auf einem Microcontroller.

Man kann diese Geräte aber durchaus auch von einem Desktop, Tablet oder Smartphone aus via Bluetooth LE fernsteuern - das eigentliche Programm läuft jetzt z.B. in einem Browser und der Einplatinen-Rechner stellt lediglich seine Aktoren und Sensoren bereit.

Durch den Wechsel zu einer leistungsfähigeren Plattform eröffnen sich für die Programmierung ganz neue Möglichkeiten. Außerdem bleiben Desktop, Tablet und Smartphone aufgrund der galvanischen Trennung zum Microcontroler und der evtl. daran angeschlossenen Technik vor elektrischen Beschädigungen geschützt.

Das hier vorgestellte BoardControl-Paket besteht aus einem Anwendungsprogramm für den BBC micro:bit und einer JavaScript-Bibliothek für den Browser - beide zusammen ermöglichen die Fernsteuerung des Einplatinen-Rechners von einem WebBT (Web Bluetooth)-fähigen Browser aus.

Schnelleinstieg

Für schnelle Ergebnisse benötigen Sie

  • einen BBC micro:bit und
  • einen WebBT-fähigen Browser
    ()

sowie ein USB-Kabel.

Zunächst müssen Sie das vorbereitete Anwendungsprogramm BoardControlService.hex auf Ihren Rechner herunterladen und von dort auf Ihren BBC micro:bit kopieren - anschließend dürfen Sie das Board von Ihrem Rechner trennen.

Jetzt können Sie auf die Seite mit dem Komplettbeispiel wechseln und haben von dort aus direkten Zugriff auf den BBC micro:bit.

Verfügbare Dienste

BBC micro:bit und Calliope mini stellen zur Fernsteuerung mittels Bluetooth LE eine Reihe von Services bereit [3,4], die einzeln oder im Verbund eingesetzt werden können, wie z.B.

  • Device Information Service - liefert allg. Informationen zum Microcontroller selbst
  • Accelerometer Service - ermöglicht ein Auslesen des Accelerometers
  • Magnetometer Service - ermöglicht ein Kalibrieren und Auslesen des Magnetometers
  • Temperature Service - ermöglicht ein Auslesen der Prozessor-Temperatur
  • Button Service - ermöglicht eine Überwachung der beiden Tasten
  • LED Service - bietet Zugriff auf die LED-Matrix
  • IO Pin Service - bietet Zugriff auf die meisten GPIO-Anschlüsse

Darüber hinaus gibt es noch einen

  • UART Service

der für eine universelle Kommunikation zwischen dem Einplatinen-Computer und einem damit gekoppelten Rechner genutzt werden kann, hier aber nicht benötigt wird.

Um diese Bluetooth-Dienste nutzen zu können, muss auf dem BBC micro:bit allerdings erst ein Anwendungsprogramm laufen, das die gewünschten Dienste aktiviert.

Vorbereitung eines BBC micro:bit

Bitte achten Sie zunächst auf eine aktuelle Firmware für Ihr Board - die entsprechende Datei sowie eine passende Installationsanleitung finden Sie auf microbit.org.

Nota bene: Achtung: bisweilen werden in der Literatur auch Anwendungsprogramme für den BBC micro:bit als "Firmware" bezeichnet - dies ist jedoch falsch und sollte Sie nicht in die Irre führen

Übertragung des Anwendungsprogrammes

Das Programm zur Aktivierung der gewünschten Bluetooth-Dienste (eine Datei mit der Endung ".hex") muss jetzt nur noch auf den BBC micro:bit übertragen werden:

  • schließen Sie Ihr Board mithilfe eines USB-Kabels an Ihren Rechner an
  • nach wenigen Sekunden sollte auf Ihrem Rechner ein neues Laufwerk namens "MICROBIT" erscheinen
  • kopieren Sie nun Ihr Anwendungsprogramm auf dieses Laufwerk

Nach erfolgter Kopieraktion trennt sich der BBC micro:bit selbständig von Ihrem Rechner und startet neu - auf der LED-Matrix sollte nun ein großes "X" erscheinen (als Indikator dafür, dass das Board betriebsbereit ist und auf eine Verbindungsanfrage wartet)

Verwendung

Sobald Sie ein Board entsprechend vorbereitet haben, können Sie entweder mithilfe des vorgefertigten Komplettbeispieles darauf zugreifen, oder Sie können sich anhand des Tutorials und der darin enthaltenen Code-Beispiele eine eigene Web-Anwendung zur Fernsteuerung Ihres BBC micro:bit zusammenstellen.

Downloads

Folgende Dateien stehen als Download zur Verfügung:

  • main.ts - Quelltext für das Anwendungsprogramm auf einem BBC micro:bit
  • pxt.json - Compiler-Optionen für dieses Programm (siehe obenstehende Anleitung)
  • BoardControlService.hex - fertig übersetztes Beispiel für einen BBC micro:bit
  • BoardControl.ts - TypeScript-Quelltext der BoardControl-Bibliothek für den Browser
  • BoardControl.js - JavaScript-Übersetzung der BoardControl-Bibliothek
  • BoardControl.map - Source Map zu BoardControl.js

Literaturhinweise

[1] BBC micro:bit
BBC micro:bit
(siehe https://www.microbit.co.uk/)
Der micro:bit ist ein im Auftrag der BBC entwickelter kleiner Einplatinen-Rechner, welcher 2016 im Rahmen eines Bildungsprogrammes zunächst kostenlos an alle 11-jährigen Schüler Großbritanniens verteilt wurde (inzwischen aber auch in Deutschland frei im Handel erhältlich ist), und sich dank einiger gut durchdachter Details sehr gut für Anfänger eignet.
[2] Calliope gGmbH
CALLIOPE
(siehe https://www.calliope.cc/)
Der Calliope mini ist das deutsche Pendant zum BBC micro:bit. Während die Programmierumgebungen weitgehend identisch sind, unterscheidet sich der Calliope mini von seinem britischen Gegenstück durch eine andere Platinenform und eine umfangreichere Bestückung (nämlich zusätzlich mit einem Gyroskop, einer RGB-LED, einem Motortreiber sowie Mikrofon und Lautsprecher).
[3] Lancaster University
BBC micro:bit Bluetooth Profile
(siehe https://lancaster-university.github.io/microbit-docs/ble/profile/)
Der BBC micro:bit stellt über Bluetooth LE eine Reihe von Services bereit, mit deren Hilfe der Einplatinen-Computer gesteuert werden kann. Auf der genannten Seite finden Sie eine vereinfachte Beschreibung dieser Dienste
[4] Lancaster University
Bluetooth Developer Studio Level 3 Profile Report
(siehe https://lancaster-university.github.io/microbit-docs/resources/bluetooth/bluetooth_profile.html)
Der BBC micro:bit stellt über Bluetooth LE eine Reihe von Services bereit, mit deren Hilfe der Einplatinen-Computer gesteuert werden kann. Auf der genannten Seite finden Sie eine Spezifikation des zugehörigen Bluetooth-Profiles.