Eine erste Verbindung vom Board zum Internet haben Sie gestern bereits hergestellt. In den nächsten Tagen soll diese Verbindung nun auch effektiv genutzt werden. Dabei beschäftigen wir uns mit der Online-Plattform Blynk, über die kurze Kommandos, Messdaten oder Nachrichten zwischen den NanoESP-Board und Ihrem Smartphone ausgetauscht werden können.

Kommunikationswege mit Blynk
Kommunikationswege mit Blynk

Blynk ermöglicht die einfache Ansteuerung von verschiedenen IoT-Boards, wie z.B. dem Rapsberry Pi oder unserem NanoESP, über eine App. Die grafische Oberfläche kann man sich völlig selbständig zusammenstellen, und auch die Programmierung ist denkbar einfach. Als wäre dies noch nicht genug, lässt sich die Steuerung des Boards auch noch von überall auf der Welt vornehmen. Ganz im Sinne des Internet of Things also.

Für Ihren ersten Versuch benötigen Sie zunächst einmal die LED, die sich hinter dem heutigen Türchen befindet. Diese wollen wir heute über das Smartphone oder Tablet schalten. Zusammen mit dem Widerstand von gestern können Sie nun folgende Schaltung auf dem Steckboard aufbauen. Achten Sie dabei auf die richtige Polung der LED (kurzes Beinchen an GND).

Die LED wird an Pin D9 angeschlossen
Die LED wird an Pin D9 angeschlossen

Im nächsten Schritt müssen Sie nun die Blynk-Library installieren. Die Quelle für die verwendete Library-Version finden Sie hier:

https://github.com/blynkkk/blynk-library/releases/tag/v0.3.4

Es handelt sich um die Version 0.3.4. Das Einbinden dieser Library ist etwas komplizierter, denn in dem Zip-Ordner befinden sich gleich mehrere Library-Dateien. Das heißt Sie müssen diese manuell installieren. Dies ist aber nicht besonders schwierig. Öffnen Sie einfach Ihren Sketchdateien-Ordner. Wenn Sie nicht genau wissen, wo sich dieser befindet, schauen Sie unter Datei->Voreinstellungen nach.

In dem Sketchordner befindet sich ein Ordner mit dem Namen libraries. In diesen Ordner müssen Sie die in der Zip-Datei enthaltenden Ordner hinein kopieren. Dies sind im Grunde die Schritte, die die Arduino IDE am Tag 2 beim Installieren der NanoESP-Library automatisch gemacht hat. Deswegen finden Sie in dem libraries Ordner auch einen Unterordnet mit dem Namen NanoESP.

Nun ist Blink in Ihrer Arduino IDE integriert, allerdings haben Sie noch nicht die passende App auf dem Smartphone. Um das zu ändern laden Sie die App je nach Betriebssystem aus Ihrem App-Store herunter oder gehen Sie auf www.blynk.cc und folgen dort dem Link.

Öffnen Sie nun die App. Sie werden mit den beiden Optionen “Login” und “Create New Account” begrüßt. Erstellen Sie einen neuen Account. Dazu sind nicht mehr als die Angabe einer E-Mail Adresse und eines Passworts notwendig.  Anschließend können Sie sich einloggen.

Um die Oberfläche des heutigen Tages auf Ihr Smartphone zu bekommen gibt es in der App eine besonders praktische Funktion. Klicken Sie dazu auf das Symbol oben rechts, das sich zwischen dem Plus und dem i Befindet. Es öffnet sich ein QR-Code Scanner, denn Sie einfach auf das untere Bild halten müssen. Schon erscheint die Oberfläche auf Ihrem Gerät.

Der QR-Code zum heutigen Projekt
Der QR-Code zum heutigen Projekt

Als nächstes müssen Sie sich auf das sechseckige Symbol oben rechts klicken und sich den unter AUTH TOKEN stehenden Code abschreiben, oder, besonders praktisch, an Ihre E-Mail Adresse schicken lassen. Dieser Code gehört nämlich in das Arduino Programm.

Das heutige Arduino Programm muss nun zunächst wieder von Webseite heruntergeladen und in der Arduino IDE geöffnet werden. Anschließend müssen Sie, genau wie gestern, die WLAN-Daten oben im Programm hinter ssid und password eintragen. Zusätzlich müssen Sie heute aber auch den eben erwähnten Code hinter dem Stichwort token eintragen. Erst dann können Sie das Programm auf den NanoESP uploaden. Sie können nach dem Upload ein paar Meldungen im Seriellen Monitor verfolgen und so sicher gehen, dass der Verbindungsaufbau geklappt hat.

Das Programm: A16_P05_Blynk1_LED.ino
/*
Blynk 1: LED
Change ssid, password and token
*/

char ssid[] = "YourSSID";
char password[] = "YourPassword";
char token[] = "YourToken";

//#define BLYNK_DEBUG
#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <ESP8266_SoftSer.h>
#include <BlynkSimpleShieldEsp8266_SoftSer.h>

// Set NanoESP Serial object
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(11, 12); // RX, TX

ESP8266 wifi(EspSerial);

void setup()
{
  // Set console baud rate
  Serial.begin(19200);
  EspSerial.begin(19200);

  Blynk.begin(token, wifi, ssid, password);
}

void loop()
{
  Blynk.run();
}

(Die frühere Einbettung über Arduino Create ist nicht mehr verfügbar; der Code stammt aus dem Download aller Programme.)

Nun wieder zurück zum Smartphone oder Tablet. Starten Sie Ihre Oberfläche mit dem Klick auf den Play-Button oben rechts. Sie können nun den Button in der Mitte Ihrer Oberfläche drücken, und immer wenn Sie den Button berühren, leuchtet die LED auf dem Steckboard. Sie können zum Test die Buttonart ändern, indem Sie das Programm mit Druck auf den Stop-Button beenden und den Button kurz anklicken. Dort stellen Sie die Button Art von Push auf Switch, und drücken in der Oberflächenansicht wieder Play. Nun genügt ein einfacher klick, um die LED dauerhaft leuchten zu lassen.

Die Oberfläche in der Blynk App mit QR-Code-Symbol oben rechts
Die Oberfläche in der Blynk App mit QR-Code-Symbol oben rechts