ESP8266 für Blynk einrichten

In diesem Beitrag möchte ich dir zeigen, wie du einen ESP8266 für die Verwendung von Blynk einrichtest.

Blynk IoT - Einrichten eines Quickstart Device
Blynk IoT – Einrichten eines Quickstart Device

Als Mikrocontroller für diesen Beitrag verwende, ich den Wemos D1 Mini welchen ich bereits in diversen Beiträgen verwendet habe.

Was ist Blynk?

Blynk ist eine IoT (Internet of Things) Plattform, welche das Steuern von Mikrocontroller und Geräte mit ESP Schnittstelle recht einfach gestaltet. Du kannst die BlynkApp iOS & Android herunterladen.

Eine Liste an unterstützten Geräten findest du auf der Seite https://docs.blynk.cc/#supported-hardware. In diesem Beitrag verwende ich den Wemos D1 Mini, welcher mit einem ESP8266 ausgestattet ist.

Welche Voraussetzungen hat Blynk?

Zum einen benötigst du einen der unterstützten Mikrocontroller und ein mobiles Gerät wie Tablet oder Handy.

Die Android-App hat eine min. Version von 4.2 als Voraussetzung und die iOS-Version erfordert min. iOS9.

Des Weiteren musst du einen Account, welchen du in der App erstellst.

Benötigte Ressourcen für dieses Projekt

Um dieses Projekt nachzubauen, benötigst du:

Sowie ein Handy oder Tablet mit

Zum späteren Testen der Verbindung benötigen wir noch zusätzlich:

Einrichten von der Android Blynk App

Zunächst richten wir das mobile Gerät ein, in meinem Fall nutze ich ein Handy vom Typ Huawei P30 Lite mit aktuell Android 10.

laden der App aus dem Playstore

Die App ist ca. 16 MB groß und kann über den obigen Link aus dem Google Play Store geladen werden. Oder man sucht nach dem Schlagwort „Blynk IoT“.

Blynk IoT App im Google Play Store
Blynk IoT App im Google Play Store

einrichten eines Accounts

Nachdem die App installiert wurde, kann in der geöffneten App die Schaltfläche „Anmeldung“ betätigt werden. Solltest du jedoch bereits einen Account haben, so wählst du die Schaltfläche „Einloggen“.

Blynk IoT - Startseite
Blynk IoT – Startseite

Im ersten Schritt der Anmeldung muss man seine E-Mail-Adresse eingeben und die Geschäftsbedingungen akzeptieren.

Wenn dieses geschehen ist und auf die Schaltfläche „Fortfahren“ geklickt wurde, wird von Blynk eine E-Mail gesendet, in welcher der Link zum Erstellen eines Passwortes enthalten ist.

Blynk IoT - E-Mail Adresse eingeben
Blynk IoT – E-Mail-Adresse eingeben

Diese E-Mail ist maximal 7h gültig und hier muss man zunächst auf „Create Password“ klicken. In meinem Fall bekam ich eine Auswahl von Apps wobei ich hier „Blynk“ gewählt habe.

E-Mail von Blynk
E-Mail von Blynk

Im ersten Schritt der Anmeldung wird ein Passwort vergeben. Dieses muss min. 8 Zeichen lang sein.

Blynk IoT - setzen des Passwortes
Blynk IoT – setzen des Passwortes

Zum Abschluss der Registrierung / der Erstellung des Accounts muss nun noch ein Name eingegeben werden.

Blynk IoT - eingeben des Namens
Blynk IoT – eingeben des Namens

Damit ist nun die Erstellung des Accounts abgeschlossen und es kann nun ein Gerät hinzugefügt werden.

Erstellen eines ersten Device in der App

Damit wir später zu einem Gerät (engl. Device) verbinden können, müssen wir dieses zunächst in der App einrichten.

Dazu wählen wir nachdem erstellen des Accounts die Schaltfläche „Neues Gerät hinzufügen“.

Blynk IoT - neues Gerät erstellen
Blynk IoT – neues Gerät erstellen

Wir starten zunächst mit einem „Quickstart device“ hier gibt es zwar wenig Features dafür ist dieses schnell eingerichtet und man kann eine erste Verbindung aufbauen.

Blynk Iot - Gerätetyp wählen
Blynk Iot – Gerätetyp wählen

Auf der nächsten Seite wird nun der Mikrocontroller gewählt. Wie bereits mehrfach erwähnt verwende ich den Wemos D1 Mini, dieser hat einen ESP8266 verbaut und daher wähle ich aus der Liste „Hardware“ diesen aus.

Der Verbindungstyp verbleibt in meinem Fall auf „WIFI“.

Diese Auswahl bestätigen wir mit der Schaltfläche „Fortfahren“.

Blynk IoT - Mikrocontrollertyp setzen
Blynk IoT – Mikrocontrollertyp setzen

Damit ist nun die Einrichtung unseres „Quickstart Device“ abgeschlossen und wir können nun den Arduino Sketch hochladen um eine Verbindung aufzubauen.

Blynk IoT - fertigstellen der Einrichtung
Blynk IoT – fertigstellen der Einrichtung

Einrichtens des ESP8266 für Blynk

Bevor wir nun einen Mikrocontroller in der App einrichten, bereiten wir den ESP8266 dafür vor. In meinem Fall verwende ich, wie bereits erwähnt, den Wemos D1 Mini.

Wemos D1 mini
Wemos D1 mini

Der Vorteil an diesem kleinen Mikrocontroller ist, dass man recht einfach kleine Shields mit diversen Sensoren & Aktoren aufstecken kann und somit ohne zusätzliche Verkabelung auskommt.

Installieren der Blynk Bibliothek in der Arduino IDE

Wer meinen Blog schon länger verfolgt der weiß das meine erste Wahl bei der Programmierung von Mikrocontroller bei der Arduino IDE liegt. Auch hier möchte ich dir zunächst zeigen wie du diese IDE einrichtest um den oben gezeigten Mikrocontroller zu programmieren.

Zunächst benötigen wir die Blynk Bibliothek, welche wir über den internen Bibliotheksverwalter installieren können. In diesem suchen wir zunächst mit dem Schlagwort „blynk“ (1) und wählen aus der Liste im Eintrag „Blynk by Volodymyr Shymanskyy“ die Schaltfläche „Installieren“ (2).

installieren der Bibliothek "Blynk" in der Arduino IDE
installieren der Bibliothek „Blynk“ in der Arduino IDE

Wenn diese installiert ist, kann der Dialog über die Schaltfläche „Schließen“ verlassen werden.

Fangen wir mit einem einfachen Beispiel an. Dieses wird dir mit einer Begrüßungsmail als Link zugesendet.

Wir benötigen für diesen Sketch jedoch zusätzlich die Verbindungsdaten zum lokalen Wifi Netzwerk und den AUTH-Token zu unserem Device, welches auf der Blynk-Cloud konfiguriert ist.

Ermitteln des AUTH-Token

Den AUTH-Token findest du in der Geräte-Information (Device-Info) wenn du dich an die Blynk-Cloud unter https://blynk.cloud/ anmeldest.

Blynk IoT - ermitteln des Auth-Token
Blynk IoT – ermitteln des Auth-Token

Wenn nun der Auth-Token sowie die WiFi-Verbindungsdaten im Sketch eingetragen wurden kann dieses auf den Mikrocontroller gespielt werden.

/*************************************************************

  This is a simple demo of sending and receiving some data.
  Be sure to check out other examples!
 *************************************************************/

// Template ID, Device Name and Auth Token are provided by the Blynk.Cloud
// See the Device Info tab, or Template settings
#define BLYNK_TEMPLATE_ID           ""
#define BLYNK_DEVICE_NAME           "Quickstart Device"
#define BLYNK_AUTH_TOKEN            ""

// Comment this out to disable prints and save space
#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = BLYNK_AUTH_TOKEN;

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "FRITZBox7590GI_EXT";
char pass[] = "22894580214767401850";

BlynkTimer timer;

// This function is called every time the Virtual Pin 0 state changes
BLYNK_WRITE(V0)
{
  // Set incoming value from pin V0 to a variable
  int value = param.asInt();
  
  // Update state
  Blynk.virtualWrite(V1, value);
}

// This function is called every time the device is connected to the Blynk.Cloud
BLYNK_CONNECTED()
{
  // Change Web Link Button message to "Congratulations!"
  Blynk.setProperty(V3, "offImageUrl", "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations.png");
  Blynk.setProperty(V3, "onImageUrl",  "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations_pressed.png");
  Blynk.setProperty(V3, "url", "https://docs.blynk.io/en/getting-started/what-do-i-need-to-blynk/how-quickstart-device-was-made");
}

// This function sends Arduino's uptime every second to Virtual Pin 2.
void myTimerEvent()
{
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V2, millis() / 1000);
}

void setup()
{
  // Debug console
  Serial.begin(115200);

  Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

  // Setup a function to be called every second
  timer.setInterval(1000L, myTimerEvent);
}

void loop()
{
  Blynk.run();
  timer.run();
  // You can inject your own code or combine it with other sketches.
  // Check other examples on how to communicate with Blynk. Remember
  // to avoid delay() function!
}

Die Ausgabe auf der seriellen Schnittstelle ist in meinem Fall wiefolgt:

[6299] Connected to WiFi
[6299] IP: 192.168.178.36
[6299] 
    ___  __          __
   / _ )/ /_ _____  / /__
  / _  / / // / _ \/  '_/
 /____/_/\_, /_//_/_/\_\
        /___/ v1.0.1 on ESP8266

[6307] Connecting to blynk.cloud:80
[6360] Ready (ping: 21ms).

Da in dem „Quickstart Device“ ein Taster konfiguriert ist welcher per App oder über den Browser aktiviert werden kann und im Sketch ausgewertet werden kann ergänzen wir das bestehende Programm um die Ausgabe des Zustands des Tasters.

BLYNK_WRITE(V0)
{
  // Set incoming value from pin V0 to a variable
  int value = param.asInt();
  Serial.println(value);
  // Update state
  Blynk.virtualWrite(V1, value);
}

Auf der Konsole wird dann jeweils eine 1 für aktiviert oder 0 für deaktiviert ausgegeben.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.