Internet der Dinge mit den Neuron Blocks von Makeblock

Das Internet der Dinge (Internet of Things/IoT) erlebbar zu machen und vor allem selber gestalten zu können, war schon das Thema meines Beitrags zum WIO Link. Kompetenzen zum kritischen Umgang mit Medien werden am besten im praktischen Umgang mit den Technologien erworben. Neben der Sensortechnik, der Steuerung über Sprachassistenten und den verschiedenen Netzwerken geht es beim Internet der Dinge um das Verständnis der zugrundeliegenden Algorithmen, denn eine sinnvolle Umsetzung von Sensordaten in Aktionen erfordert immer Handlungsanweisungen, mit denen die Daten reduziert, gefiltert und mit anderen Daten kombiniert werden.

Seit Mitte 2017 gibt es mit den Neuron Blocks von Makeblock eine weitere Möglichkeit, verschiedene Funktionalitäten des Internet der Dinge selber programmieren zu können, ohne auf die weit verbreitete, allerdings keineswegs niedrigschwellige Arduino-Programmierung zurückgreifen zu müssen.

Neuron Blocks sind kleine Module, die über Magnetanschlüsse miteinander verbunden werden. Es gibt vier verschiedene Arten von Blöcken: Sensorblöcke wie Lichtmesser, Gyroskop etc, Aktoren wie LEDs, Lautsprecher und Motoren, Kommunikationsblöcke für Wifi, Bluetooth und Infrarot und Energiemodule. Mit dem Tablet verbinden sie sich per Bluetooth oder Wifi. Auf Macs und PCs kann die Software „mBlock“ von Makeblock eingesetzt werden, mit der auch die bekannten mBot von Makeblock programmiert werden.

Ferngesteuertes Auto

Anders als die auf Scratch basierende blockbasierten Programmierung in „mBlock“ wird in der Neuron App (iOS und Android) „flow-based programming“ genutzt, ähnlich der Erstellung eines Flußdiagramm. Die Werte, die die Sensorblöcke ausgeben, „fließen“ weiter zu den Aktoren und werden auf ihrem Weg durch verschiedene Knoten (Nodes) geleitet, die spezielle Funktionen beinhalten: Filter, mathematische Berechnungen und Zeitschleifen. Gerade wenn es um das Kennenlernen und Erstellen von Algorithmen geht, finde ich die flow-based Methode sehr übersichtlich und die Verarbeitung der Sensorwerte nachvollziehbar.

Internet der Dinge bedeutet vor allem auch, dass die eingebundenen Geräte über das Internet ansteuerbar sind. Die Iot-Funktionalität wird erreicht, indem zusätzliche „virtuelle“ Blöcke in die Programmierung eingebunden werden: Eingabefelder wie Knöpfe und Schalter und Ausgabefelder wie Indikatorlampen, Anzeigen und Kurvengrafiken. Mit diesen lassen sich die Blöcke entweder übers Tablet fernsteuern oder über die Sharingfunktion auf einer Webseite freigeben. Im Falle einer Pflanzenbewässerung würde das so funktionieren: Über den Knopf auf der Webseite betätige ich einen Schalter, der die Wasserpumpe (auch das ist tatsächlich ein Neuron Block) einschaltet. An der Anzeige des Wertes des Bodenfeuchtigkeitssensors erkenne ich, ob ich genug gegossen habe.

Für mich liegt der große Vorteil der Neuronblocks vor allem darin, dass ich auch ohne Programmierkenntnisse die Funktionsweise des Iot kennenlernen und mit der Programmierung von Algorithmen experimentieren kann. Ähnlich wie bei Robotern, die für Codingprojekte eingesetzt werden, ist die Motivation, sich mit Programmcode auseinanderzusetzen ungleich größer, wenn damit physische Dinge manipuliert werden können oder diese ein direktes Feedback geben (physical computing).

Windmühle-Bastelbogen aus einem der Neuron Kits

In den Projekten von Metaversa haben wir die Blöcke bereits mit Schüler*innen der 5. und 6. Klassen ausprobiert. Anhand vorgegebener Anleitungen haben die Schüler*innen zunächst verschiedene Anwendungen aus den Blöcken zusammengebaut: ein fernsteuerbares Auto, eine Pflanzenbewässerung, eine automatische Beleuchtung etc. In einem zweiten Schritt haben sie die von uns vorgegebenen Werte und Funktionen leicht verändert, um das geänderte Verhalten der Neuron Blöcke zu beobachten. Anschließend hatten sie die Möglichkeit, Blöcke auszutauschen und neue Anwendungsmöglichkeiten zu erfinden.

Außer den obenen beschriebenen gibt es zahlreiche weitere Funktionen und Möglichkeiten die Neuron Blöcke einzusetzen:

  • Das Speakermodul (mit Lautsprechern und Mikrofon) kann auf die Microsoft Cognitive Service zurückgreifen und darüber Sprache erkennen. Damit lässt sich eine Sprachsteuerung für einen Roboter realisieren.
  • Der Neuron Kamera Block kann als Webcam genutzt werden. Die Bilder können dann auf einer Webseite angeschaut werden. Eine andere Möglichkeit ist, das Livebild der Kamera zu nutzen, um einen Roboter in einem anderen Raum manöverieren zu können. Auch hier kommen die KI-Fähigkeiten zum Einsatz, in dem per Kamera aufgenommene Texte erkannt werden können.
  • Am neuen Roboter von Makeblock „Codey Rocky“ lassen sich einige der Neuronblöcke (aktuell: PIR Motion, LED Panel, LED Strip, Ultrasonic, Buzzer, Soil Moisture) ebenfalls nutzen und erweitern damit die Möglichkeiten des Roboters. In der mBlock Software muss die zusätzliche Neuronextension für den Codey Rocky aktiviert werden.
  • Neben der Neuron App gibt es mittlerweile auch mBlock für Tablets, so dass auch hier eine blockbasierte Programmierung möglich ist. Nicht möglich ist es dann aber, die Blöcke über eine Webseite anzusteuern oder Sensorwerte im Netz anzuzeigen.
  • Für die Swift Playgrounds App gibt es einen Neuron Playground, mit dem die Blöcke mit Swift programmiert werden können.
Texterkennung mit dem Neuron Kamera Block und Microsoft Cognitive Services

Fazit

Ich schätze die Neuron Blocks vor allem wegen der kurzen Einarbeitung- und auch Vorbereitungszeit bis diese einsetzbar sind. Die zahlreichen Kombinationsmöglichkeiten regen dazu an, immer neue Machinen zu kreieren und miteinander zu kombinieren.

Leider sind die Blöcke sowohl im Einzelverkauf mit 10,- (Buzzer) bis 70,- Euro (Wifi-Block) als auch in den angebotenen Kits alles andere als günstig. Im Vergleich z.B. zu den Grovesensoren, die am WIO LOnk angesclossen werden, sind sie trotz gleicher Funktionalität teilweise zehnmal so teuer. Wer ein komplettes Kot (Artist, Inventor, Explorer) kauft, ist zwar auf die dort eingesetzten Blöcke festgelegt, erhält jedoch zusätzlich noch Bastelvorlagen, in die die Blöcke passend zum Projekt eingebaut werden können.

Das Tutorial im Anhang zeigt, wie sich eine IoT-Funktion wie die Anzeige der Temperatur übers Internet mit Neuron Blocks umsetzen lässt.

Ich freue mich über Kommentare und weitere Ideen zur Verwendung der Neuronblocks in der Medienbildung.

Links

Tutorial: Temperaturmessung mit Neuron Blocks und Anzeige im Netz

Aufgabe: Auf dem Neuron-Display soll ein Smiley symbolisieren, ob im Raum angenehme Temperaturen herrschen oder nicht. In einem weiteren Schritt sollen die gemessenen Werte auf einer Internetseite als Zahl und Grafik dargestellt werden. 

Aufbau: An den WIFI-Block werden die Neuron-Blöcke „Power Supply“, „Temperatursensor“ und „LED Panel“ angeschlossen. Genutzt wird die App „Neuron“ auf iPads oder Android-Tablets.

 1. Verbindung mit dem WIFI-Block

Nach Einschalten des WIFI-Blocks taucht dieser in der Liste der in der Nähe verfügbaren WLANs mit dem Namen „neuron-xxxxx“ auf. Das Tablet wird mit dem WLAN des WIFI-Blocks verbunden. Das Passwort lautet „makeblock“.

Die Neuron App wird gestartet, ein neues Projekt angelegt und die Wifi-Verbindung ausgewählt.

2. Programmierung in der Neuron-App

Auf der „Leinwand“ der Neuron App sind die verbundenen Blöcke „LED-Panel“ und „Temperatursensor“ zu sehen. Unten in der Leiste werden verschiedene Kategorien der „Nodes“ (Knoten) angezeigt.

Per Drag and Drop werden die Blöcke auf die „Leinwand“ gezogen. Je nach Art des Blocks gibt es links einen Input oder rechts einen Output. Durch Antippen des Blocks öffnet sich bei einigen Blöcken ein Konfigurationsmenü für weitere Optionen. Im Menü des LED Panels wird eingestellt, welches Bild auf dem Panel angezeigt werden soll.

Aus der unteren Leiste werden Nodes auf die Leinwand gezogen, die verschiedene Funktionen beinhalten und die ebenfalls über In- und Output verfügen. Durch Zeichnen von Linien auf der Leinwand werden die Blöcke mit den Nodes verbunden. Es gibt außer den grundlegenden Funktions-Nodes, die Zeit-Nodes, die Aktionen z.B. verzögert oder in Intervallen auslösen, die Steuerungs-Nodes, mit denen die Blöcke über virtuelle Knöpfe auf dem Tablet gesteuert werden können oder bei denen Sensorwerte der Blöcke in der App ausgegeben werden können.

Für die Verbindung von LED Panel und Temperatursensor wird der Node „Filter“ benutzt, er filtert in diesem Fall alle Werte des Temperatursensors aus, die unter 20 und über 22 liegen. Zusätzlich werden zwei Nodes mit der Funktion „Vergleichen“ angelegt.

Ergebnis der Programmierung ist, dass auf dem LED Panel ein grüner Smiley angezeigt wird, solange sich die gemessene Temperatur zwischen 20 und 22 Grad bewegt, steigt die Temperatur darüber oder fällt sie darunter wird ein roter, trauriger Smiley angezeigt.

3. Darstellung auf einer Webseite (Internet of things)

In einem weitere Schritt werden folgende Steuerungs-Nodes ergänzt: der Indikator, der anzeigt, wenn die Temperatur im gewählten Bereich liegt und die Nodes, Kurve und Zahl, die direkt mit dem Temperatursensor verbunden werden.

Oben rechts in der Ecke lässt sich die App auf Fernbedienung (Smartphonesymbol) umschalten, dort ist der Output aller Steuerungs-Nodes zusehen. (Wird ein virtueller Knopf als Steuerungselement eingebunden, so ließe sich hier der Knopf auslösen.)

Sind an dieser Stelle auch virtuelle Knöpfe oder Regler eingebunden, so lassen sich die Blöcke auch darüber aktivieren, beispielsweise der Servomotor starten oder eine Ausgabe auf dem LED Display erzeugen.

Damit die Sensorwerte im Internet angezeigt werden, muss im WIFI-Block das WLAN konfiguriert werden. In der oberen Leiste in der App wird dazu das Zeichen für die Funkverbindung angeklickt. Das Ausrufezeichen am Symbol weist darauf hin, dass bisher noch keine WLAN-Verbindung konfiguriert wurde.

Die App weist bei mir darauf hin, dass anschließend das WLAN neu verbunden werden muss. Das war bei mir aber immer der Fall. Ist das Tablet mit dem Neuron Block verbunden, so fungiert dieser gleichzeitig als Hotspot für das verbundene Tablet, so dass auch das Tablet eine Internetverbindung hat.

Das Ausrufezeichen oben am Funknetzsymbol sollte jetzt verschwunden sein. Oben rechts wird wieder auf die Fernbedienung umgeschaltet.

Auf der Fernbedienungsseite wird oben rechts der Teilen-Button angeklickt. Teilen bedeutet in diesem Fall die Ausgabe der Sensorwerte auf einer Internetseite. Die URL der Seite kann im Teilen-Fenster kopiert werden. Alternativ kann ein QR Code angezeigt werden, der auf die URL verweist.

Auf der Webseite werden die Werte angezeigt. Einen Fehler gibt es hier, der hoffentlich bald behoben wird: die Kurve der Sensorwerte wird nicht angezeigt.

4. Übertragen des Programms auf den Wifi-Block

Im Unterschied zum Bluetooth-Block kann das Programm auf dem Wifi-Block gespeichert werden. Dazu oben in der Leiste den Upload-Button (Pfeil nach oben) antippen. Nach einer Bestätigung läuft das Programm unabhängig von der App auf dem Wifi-Block. Die App kann beendet werden. Auch nach Aus- und Einschalten der Blöcke ist das Programm weiterhin auf dem Wifi-Block gespeichert und überträgt die Sensordaten ins Netz.

Verwendung des Bluetooth-Block

Auch mit dem Bluetooth-Block oder mit dem Smart Power-Block lässt sich die Iot-Funktion verwenden. Der Unterschied zum Wifi-Block ist, dass Sensorwerte auf der Webseite nur angezeigt werden, wenn die App läuft und der Bluetooth-Block verbunden ist. Es ist nicht möglich, das Programm auf dem Bluetooth-Block zu speichern.

Verwendung der mBlock Software am PC oder Mac

Auf die Iot-Funktionalität muss bei der Programmierung der Neuron Blocks am Desktop Rechner verzichtet werden. Der Anschluss ist auch nur über den Bluetooth-Block per USB-Kabel möglich.

Mit der blockbasierten Programmierung sähe das dann so aus:

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.