Internet of Things mit blynk

Teile uns

Internet of Things (IoT) gewinnt mit Alexa, selbstfahrenden Autos und Wearables zusehends an Bedeutung. Mit blynk.io steht ein Framework zur Verfügung, das IoT-Experimente auch im Informatik-Unterricht erlaubt. Mit einfachen Mitteln erzeugt man sich eine Smartphone-App, mit der man einen Arduino, einen Raspberry-Pi oder eine andere Entwickler-Plattform mit einem Mikrochip steuern kann.

Internet of Things ist ein sehr spannender Ansatz, um den Schülerinnen und Schülern vor Augen zu führen, wozu Informatik in der Lage ist. Denn mit dem IoT-Ansatz baut man selbst kleine Geräte, die über Sensoren, Lämpchen und/oder Motoren verfügen. Damit sind die Geräte in die Umgebung eingebunden und interagieren mit der realen Welt. Dies im Gegensatz zu reinen Software-Anwendungen, deren Wirkkreis meistens auf den Computer-Bildschirm beschränkt bleibt.

Mit modernen Entwicklungs-Plattformen wie Arduino, RaspberryPi oder anderen Boards mit einem Mikrocontroller lassen sich die Temperatur, die Luftfeuchtigkeit, die Helligkeit, den genauen GPS-Standort feststellen oder auch eine Webcam einrichten. Dabei baut man keine Blackbox, sondern der ganze Bau-Prozess ist sehr nachvollziehbar, weil die Bauteile mit kurzen Kabeln selbst verbunden werden müssen, weil Widerstände gesteckt und alle Teile am richtigen Stecker-Pin eingesteckt werden müssen.

Ein Beispiel

An einem Beispiel möchte ich hier vorführen, wie man mit wenig Aufwand eine Station baut, die zu Hause die Temperatur, die Luftfeuchtigkeit und die Lichtintensität misst. Die Daten werden mir auf meinem Smartphone angezeigt und ich kann sie von überall auf der Welt abrufen.

Am Smartphone sieht die Sache so aus:

In der App können nicht nur Daten angezeigt werden, es können auch Knöpfe definiert werden, die dann auf dem ESP32-Board eine Aktion auslösen — zum Beispiel Kaffee-Maschine einschalten, Licht ausschalten etc.

Dazu werden benötigt:

  • Ein ESP32-Board (zu finden beispielsweise bei conrad.ch)
  • Einen DHT11-Sensor für Temperatur und Luftfeuchtigkeit (zu finden beispielsweise bei conrad.ch)
  • Einen Photowiderstand (zu finden beispielsweise bei bastelgarage.ch)
  • Zwei Widerstände mit 10 kOhm (zu finden bei conrad.ch)
  • Kabel: Stecker-Buchse bei conrad.ch und Stecker-Stecker bei conrad.ch)
  • Ein Steckerbrett (zu finden bei conrad.ch)

Der Aufbau

Schematischer Aufbau

Die Bauteile werden gemäss obigen Schema zusammengesteckt. In der Realität sieht es dann so aus:

Entwicklungsumgebung

Damit man das ESP-32-Board programmieren kann, benötigt man die Entwicklungsumgebung Arduino IDE. Nachdem diese gestartet ist, müssen in der IDE erst die Treiber für die ESP-32 Plattform und für den Temperatur-Sensor geladen werden.

Die geschieht über die folgenden Schritte.

  1. In der ArduinoIDE öffnet man die Einstellungen:
  2. In den Einstellungen fügt man in der Zeile „Additional Boards Manager URLs:“ den Eintrag
    https://dl.espressif.com/dl/package_esp32_index.json“ ein und klickt „OK“.
    Mehrere Einträge (zum Beispiel für andere Baords) lassen sich mit Komma trennen.
  3. Danach öffnet man unter Tools->Board->Boards Manager…
  4. Dort gibt man ins Suchfeld „esp32“ ein und klickt beim Eintrag „esp32 by Espressif Systems“ auf den Knopf „Install“
  5. Wähle das installierte Board als aktiv an, indem unter Tools->Boards das entsprechende Board gewählt wird.

Sensor-Library installieren

Um den DHT11-Sensor für die Temperatur und die Luftfeuchtigkeit nutzen zu können, muss man auch noch die Library dafür installieren. Dazu geht man wie folgt vor:

  1. Wähle Tools->Manage Libraries… aus
  2. Dort sucht man nach „DHT“ und klickt auf „Install“ beim entsprechenden Eintrag.

Blynk installieren

Um Blynk nutzen zu können, sind drei Schritte nötig.

  1. Blynk-App installieren von App-Store oder von Google-Play.
  2. App ausführen und ein neues Projekt generieren:

  3. Es wird ein Token an die registrierte Mail-Adresse gesendet. Dieses wird später benötigt.
  4. Blynk-Library auf dem Computer installieren. Eine Anleitung gibt es hier: http://help.blynk.cc/articles/512105-how-to-install-blynk-library-for-arduino

Loslegen

Um gleich ein erstes funktionierendes Beispiel zu haben, geht man wie folgt vor:

  1. Code generieren mit dem Example Code Generator. Dabei als Board „ESP32“ wählen und als Beispiel „DHT11“.


  2. Dieser Code wird in die Arduino IDE übernommen und angepasst mit dem Auth-Token, das einem die App gesendet hat, mit den Daten der eigenen WLAN-Zugangsdaten, sowie dem PIN, an dem der DHT-Sensor angeschlossen ist. (In unserem Beispiel am PIN 23)

  3. Schliesslich wird das Board per USB am Computer angeschlossen und mit einem Klick auf den „Upload“-Button das Programm auf den ESP32 geladen und dort ausgeführt.

App konfigurieren

In der App hat man nun die Möglichkeit, die Werte der Sensoren anzeigen zu lassen, indem man auf das +-Symbol klickt und danach „Gauge“ auswählt. Dort wählt man beim Pin den Virtuellen Pin V5 für die Feuchtigkeit oder V6 für die Temperatur aus. Und schon ist die App fertig und zeigt den aktuellen Wert an.

Schritt für Schritt:

  1. Neues Anzeige-Objekt auswählen
  2. Beim Ausgewählten Objekt muss nun der richtige Virtuelle Port gewählt werden, um mit dem ESP32 zu kommunizieren.
  3. App starten

Funktionsweise von Blynk

Die Kommunikation von Blynk mit dem ESP32 funktioniert über einen Server, der von Blynk betrieben wird. Wichtig ist dabei das Authentifizierungs-Token, denn dieses identifiziert meinen ESP32 zu Hause.

Durch dieses Design ist es ganz einfach, von überall her auf den ESP32 zuzugreifen. Man muss sich nicht um statische IP-Adressen kümmern, man benötigt zu Hause keinen Webserver. Blynk übernimmt die ganze Arbeit.

Architektur von Blynk

Mit diesem Design ist es auch möglich, mehrere ESP32 miteinander zu verbinden, so dass an einem beispielsweise der Temperatur-Sensor hängt und am anderen ein Motor, mit dem Man ein Fenster öffnen und schliessen oder einen Ventilator anstellen kann.

Das Vorgehen dabei ist immer ähnlich: Man generiert sich Beispiel-Code auf der Blynk-Webseite und modifiziert ihn so, dass er mit den selbst gewählten Pins und Virtual Pins übereinstimmt.

Einsatz im Unterricht

Für den Einsatz mit Schülerinnen und Schülern ist es meines Erachtens wichtig, dass die Hardware schon fertig vorbereitet ist und alle Libraries bereits vorinstalliert sind. Wenn die SuS direkt mit Programmieren loslassen können, macht die Programmierung von ESP32 wirklich Spass. Andernfalls ist es allenfalls für SpezialistInnen geeignet, die über eine grosse intrinsische Motivation und Durchhaltewillen verfügen.

Wenn es aber mal läuft, gibt es viele faszinierende Anwendungen, die einem im realen Leben unterstützen können. Man kann den halben Haushalt vom Handy aus kontrollieren und teilweise auch steuern. Eine Informatik-Anwendung, die jedem Jugendlichen sofort einleuchtet.

Posts, die sie interessieren könnten:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert