Erste Schritte mit Blynk: Einfache DIY-IoT-Geräte

Erste Schritte mit Blynk: Einfache DIY-IoT-Geräte

Blynk [Broken URL Removed] ist ein Internet der Dinge (IoT)-Dienst, der entwickelt wurde, um die Fernsteuerung und das Auslesen von Sensordaten von Ihren Geräten so schnell und einfach wie möglich zu machen. In diesem Artikel werden wir genau behandeln, was Blynk ist, wie es funktioniert, und zwei kurze Beispielprojekte zu verschiedenen Verwendungen des Dienstes mit NodeMCU- und Raspberry Pi-Entwicklungsboards bereitstellen.





Es war noch nie so einfach, mit der Entwicklung intelligenter Objekte mit Mikrocontrollern zu beginnen, und IoT-Geräte haben in den letzten Jahren schnell an Popularität gewonnen. Mit Entwicklungsboards wie Arduino oder Raspberry Pi können Sie alles steuern, von der Steckdose in Ihrem Zuhause bis hin zu bewegungsaktivierten Weihnachtsdekorationen.





Ein Bereich, der für Uneingeweihte ein Problem darstellen kann, ist die Codierung und Vernetzung. Blynk zielt darauf ab, die Notwendigkeit einer umfangreichen Codierung zu beseitigen und den einfachen Zugriff auf Ihre Geräte von überall auf Ihrem Smartphone zu ermöglichen. Es ist für Bastler und Entwickler kostenlos, kann aber gegen eine Gebühr auch kommerziell genutzt werden – Unternehmen können Blynk verwenden, um ihre eigenen Apps und Systeme zu erstellen und sie dann mit ihrem eigenen Branding zu verkaufen.





Blynk verwendet einen eigenen Server und eine eigene Bibliothek, damit der Dienst funktioniert, aber die Blynk-App scheint seine Hauptstärke zu sein.

Betreten Sie die Blynk-App

Die Blynk-App ist kostenlos für Android und iOS verfügbar. Es ist der Ausgangspunkt für Ihre Projekte und bietet ein einfach zu bedienendes Drag-and-Drop-System zum Erstellen benutzerdefinierter Steuerelemente für Ihr IoT-Setup. Der Workflow ist schnell: Wenn Sie ein neues Projekt starten, werden Sie aufgefordert, aus einer umfangreichen Liste Ihr Entwicklungsboard und auch Ihre Verbindungsmethode auszuwählen. Die App sendet dann per E-Mail ein Autorisierungstoken, um sich über den Blynk-Server mit Ihrem Gerät zu verbinden.



Filme kostenlos ansehen, ohne sie herunterzuladen

Bedienelemente heißen Widgets : verschiedene Arten von Eingabemethoden und Ausgabeanzeigen, einschließlich Schaltflächen, Schieberegler, Joystick, Grafiken und Text-Feedback. Es gibt auch komponentenspezifische Widgets mit stilisierten Steuerelementen für LEDs, LCD-Displays und sogar Live-Streaming-Videos. Bemerkenswert sind auch Widgets, die Funktionen wie automatisches Posten auf Twitter und benutzerdefinierte Benachrichtigungen hinzufügen.

Obwohl die App kostenlos ist, begrenzt sie die Anzahl der Widgets, die Sie gleichzeitig verwenden können, indem sie alle einen 'Energie'-Kosten angeben. Die App bietet Ihnen ein Guthaben von 2.000 zum Spielen, mit der Option, bei Bedarf mehr zu kaufen.





Ich habe festgestellt, dass das bereitgestellte Startguthaben für die hier aufgeführten Beispielprojekte mehr als ausreichend ist. Wenn Ihr Setup jedoch komplizierter ist, geht Ihnen möglicherweise ziemlich schnell der Saft aus.

Jedes Widget verfügt über ein Bearbeitungsmenü, mit dem Sie den Namen und die Farbe ändern können. Sie wählen dann aus, welcher Pin beeinflusst werden soll (sei es ein Pin auf Ihrem Board oder einer der virtuellen Pins von Blynk) zusammen mit dem zu sendenden Wertebereich. Bei Ausgabeanzeigen wie Grafiken und Textfeldern können Sie auch auswählen, wie oft sie aktualisiert werden sollen, wodurch möglicherweise wertvolle Bandbreite gespart wird.





Blynk bietet auch die Möglichkeit, „virtuellen“ Pins Anweisungen zuzuweisen, bei denen es sich um vom Benutzer konfigurierte Verbindungen zwischen der App und der Hardware handelt. Mit einer einzigen Schaltfläche in der App können somit viele verschiedene Ereignisse auf dem Gerät ausgelöst werden. Wir werden später in diesem Artikel behandeln, wie Sie diese verwenden.

Die App bietet die Möglichkeit, Ihr Projekt mit anderen zu teilen. Es wird ein QR-Code generiert, der per E-Mail versendet oder direkt gescannt und von jedem verwendet werden kann, der auch die Blynk-App besitzt. Mit wem auch immer Sie teilen, können keine Änderungen am Projekt vornehmen, sodass Sie die Kontrolle über Ihre Geräte schnell und bequem teilen können. Beachten Sie jedoch, dass Ihr Projekt in der App ausgeführt werden muss, damit andere Zugriff auf die Hardware haben.

Sie können das Projekt auch freigeben, ohne Zugriff auf Ihre Hardware zu gewähren. Dies ist eine großartige Möglichkeit, anderen die Verwendung der App beizubringen, ohne dass sie Ihre Lichter ein- und ausschalten müssen!

Ich fand das Erstellen einer App sehr schnell und intuitiv. Einmal erstellt, können Sie es sofort verwenden, indem Sie auf das Play-Symbol in der oberen rechten Ecke drücken. Wenn Sie später Änderungen vornehmen müssen, können Sie einfach dieselbe Taste drücken, um in den Bearbeitungsmodus zurückzukehren.

Der Blynk-Server

Nachdem Sie eine App zur Steuerung Ihres Geräts erstellt haben, haben Sie zwei Möglichkeiten, mit diesem zu kommunizieren.

Der Cloud-Server von Blynk ist schnell, reaktionsschnell und kostenlos nutzbar. Die Verbindung zu einem Wi-Fi-Gerät ist so einfach wie das Kopieren Ihres generierten Autorisierungscodes in Ihre Arduino-Skizze und die Angabe Ihrer Wi-Fi-Details. Für Raspberry Pi stellt Blynk ein Testskript zur Verfügung, das Sie mit Ihrem Autorisierungscode mit dem gleichen Effekt ausführen können. Später in diesem Artikel werden wir unser eigenes Skript mit der Blynk-Bibliothek erstellen, um eine Verbindung zum Dienst herzustellen.

Die zweite Möglichkeit ist zu hosten Sie Ihre eigenen Blynk-Server. Blynk bietet einen Open-Source-Netty-basierten Java-Server, der von Ihrem Computer oder sogar einem Raspberry Pi ausgeführt werden kann. Dies hat für einige Benutzer verschiedene Vorteile in Bezug auf Funktionalität und Sicherheit, obwohl wir uns für unsere Beispiele hier auf die Verwendung des bereitgestellten Blynk-Cloud-Servers konzentrieren.

Die Blynk-Bibliothek

Das dritte und letzte Element von Blynk ist das Blyn-Bibliothek . Diese Bibliothek arbeitet mit einer riesigen Liste von Entwicklungsboards, um die Kommunikation zwischen der App und Ihrer Hardware zu ermöglichen.

Im einfachsten Fall müssen Sie nur die Bibliothek installieren und eine der mitgelieferten gut kommentierten Beispielskizzen laden.

Blynk: Ersteinrichtung

Installieren Sie die Blynk-App auf Ihrem Smartphone und erstellen Sie ein Konto. Stellen Sie sicher, dass Sie eine E-Mail-Adresse verwenden, auf die Sie tatsächlich zugreifen können, da Ihre Autorisierungstoken an diese gesendet werden. Erstellen Sie nun ein Projekt und wählen Sie aus, welches Board Sie verwenden und wie Sie sich damit verbinden. Beide Beispiele hier verbinden sich über Wi-Fi, obwohl auch Verbindungen über Bluetooth, Ethernet und sogar GSM möglich sind.

Erstellen Sie Ihr Projekt. Dadurch wird automatisch ein Autorisierungs-Token gesendet. Wenn Sie es nicht erhalten, können Sie es erneut senden, indem Sie das Symbol für die Projekteinstellungen (die kleine Nuss) auswählen, Ihr Gerät auswählen und 'E-Mail' auswählen.

Installieren Sie als Nächstes die Blynk-Bibliotheken von der Blynk-Website. Installieren Sie für Arduino die Bibliothek, indem Sie die Dateien in Ihr kopieren Arduino > Bibliotheken Mappe. Wenn Sie neu bei Arduino sind, hier ist ein Anleitung für den Einstieg .

Für Raspberry Pi müssen Sie zunächst sicherstellen, dass Node.js installiert ist. In diesem Artikel finden Sie eine Anleitung zur Installation von Node.js, falls Sie diese benötigen.

Stellen Sie zunächst sicher, dass Ihr Pi auf dem neuesten Stand ist und das Build-Essential-Paket installiert ist.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

Dann installiere die Knotenpaket-Manager , das An aus Bibliothek und die Blinken Bibliothek, indem Sie dies in Ihr Terminalfenster eingeben.

sudo npm install -g npm
sudo npm install -g onoff
sudo npm install -g blynk-library

Sie können überprüfen, ob alles funktioniert hat, indem Sie das Blynk-Testskript ausführen:

blynk.js [YourAuthorizationTokenHere]

Vorausgesetzt, alles funktioniert, sollte es so aussehen:

Wenn Fehler auftreten, stellen Sie sicher, dass Ihr Pi auf dem neuesten Stand ist und Sie die neueste Version von Node.js installiert haben, bevor Sie die NPM-, OnOff- und Blynk-Bibliotheken neu installieren.

Schnelle Einrichtung mit NodeMCU

Dieses erste Beispiel zeigt, wie schnell sich einfache Systeme mit Blynk einrichten lassen. Es erfordert keine Codierung und ist nach der Einrichtung vollständig eigenständig. Solange das Board Zugriff auf Ihre Wi-Fi-Verbindung hat, können Sie von überall mit Ihrem Smartphone darauf zugreifen.

Richten Sie zunächst eine einfache Schaltung auf einem Steckbrett ein. Pin verbinden D0 zum positiven Bein einer LED und zurück zum GND-Pin über einen 220 Ohm Widerstand.

Öffnen Sie Ihr NodeMCU-Projekt in der Blynk-App. Wählen Sie auf der rechten Seite die Taste Widget aus dem Menü. Wählen Sie Ihre Schaltfläche in Ihrem Projekt aus, um das Eigenschaftenmenü zu öffnen. Hier können Sie es benennen und auswählen, auf welchen Pin auf Ihrem NodeMCU-Board es sich auswirken soll. Auswählen Stift D0 aus der Ausgabeliste und wechseln Sie den Modus, um es zu einem Ein- und Ausschalter zu machen, anstatt zu einem momentanen Druckschalter.

Drücken Sie Zurück (alle Änderungen werden automatisch gespeichert), und drücken Sie dann das Wiedergabesymbol in der oberen rechten Ecke, um Ihre App zu starten. Sie können diese Taste jederzeit drücken, um zur Bearbeitung Ihres Projekts zurückzukehren.

Öffnen Sie als Nächstes die Arduino IDE und wählen Sie Ihr NodeMCU-Board und Ihren Port aus dem Tools-Menü. Wenn Sie Ihr Board in diesem Menü nicht sehen, müssen Sie möglicherweise die ESP8266-Bibliotheken installieren (diese Anleitung sollte helfen).

Öffnen Sie nun das eigenständige ESP8266-Skript Blynk, das in seiner Bibliothek bereitgestellt wird, indem Sie zu navigieren Datei > Beispiele > Blynk > Boards_WiFi > ESP8266_Standalone . Ersetzen Sie den Platzhalter für das Autorisierungs-Token durch den, den Sie per E-Mail erhalten haben, und geben Sie Ihre WLAN-Daten ein.

char auth[] = 'YourAuthToken';
char ssid[] = 'YourNetworkName';
char pass[] = 'YourPassword';

Speichern Sie die Skizze unter einem neuen Namen und laden Sie sie auf Ihr Board hoch. Wenn Sie nun die Taste in der App drücken, sollte sich die LED ein- und ausschalten. Wenn es nicht funktioniert, überprüfen Sie, ob Sie das Play-Symbol in der App gedrückt haben.

In einfachen Fällen wie diesen ist Blynk unglaublich schnell einzurichten.

Es ist auch erwähnenswert, dass Sie Ihr Board von überall aus steuern können, da dieses den Blynk-Server verwendet, solange das Board Zugriff auf Ihre Heim-WLAN-Verbindung hat und Ihr Smartphone über mobilen Datenzugriff verfügt.

Blynk auf dem Raspberry Pi

Sie können Blynk genauso wie im obigen Beispiel auf dem Raspberry Pi verwenden, indem Sie das Blynk-Testskript verwenden, aber es gibt einige tiefere Funktionalitäten, die die virtuellen Pins von Blynk bieten, die wir uns jetzt ansehen werden.

Blynk arbeitet mit Node.js, daher wird der Code, den wir heute schreiben werden, in Javascript sein. Wenn Sie neu in der Sprache sind, sollte dies eine gute Einführung sein, um loszulegen.

Wir werden die Blynk-Bibliothek verwenden, um eine App zu erstellen, die meldet, ob ein Türsensor geöffnet oder geschlossen ist und eine E-Mail und eine Push-Benachrichtigung an Ihr Mobiltelefon sendet, wenn die Tür geöffnet wird.

Du wirst brauchen:

  • Türmagnetschalter (auch bekannt als Reedschalter)
  • 1x 1k? Widerstand
  • 1x 10k? Widerstand
  • 1x 220? Widerstand
  • 1x LED
  • Steckbrett und Anschlusskabel

Richten Sie Ihr Steckbrett wie folgt ein:

Was ist USB unterwegs?

Beachten Sie, dass die Bibliothek von Blynk die GPIO-Nummern der Pins des Pi verwendet, daher werden wir sie in diesem Projekt verwenden. Verbinden Sie die 5V- und GND-Pins mit den Stromschienen auf dem Steckbrett. Verbinden Sie den GPIO-Pin 22 des Raspberry Pi mit der LED-Anode und verbinden Sie die Kathode über die 220? Widerstand. Verbinden Sie GPIO-Pin 17 mit einer Seite des 1k? Widerstand, und verbinden Sie die 10? Widerstand auf die andere Seite und die 5V-Seite der Stromschiene. Verbinden Sie schließlich Ihren Reedschalter mit der GND-Seite der Stromschiene auf einer Seite und auf der Leitung, wo die 1k? und 10k? Widerstände aufeinander treffen. Diese Pull-up-Widerstandskonfiguration bewirkt, dass die Spannung an Pin 17 hoch wird, wenn der Schalter öffnet.

Erstellen Sie in der Blynk-App ein neues Projekt und wählen Sie Ihr Raspberry Pi-Board aus. Wählen Sie aus dem Widget-Menü ein Labeled Value-, E-Mail- und ein Benachrichtigungs-Widget

Wählen Sie den beschrifteten Wert aus, benennen Sie ihn und wählen Sie virtueller Pin V0 als Eingangspin. Sie können auch ändern, wie die Informationen angezeigt werden. Fügen Sie in diesem Fall 'Die Tür ist ' vor /pin/ im Label-Tab hinzu. Wir können den Wert für die Lesehäufigkeit auf der Standardeinstellung belassen. Sie können dies jedoch ändern, um Daten mit einer anderen Geschwindigkeit an Ihre App zu senden.

Es ist erwähnenswert, dass Sie keine E-Mail-Adresse in das E-Mail-Widget eingeben müssen, da wir sie später in den Code einfügen werden, obwohl das Widget vorhanden sein muss, damit es funktioniert.

Wenn Sie mit dem Aussehen Ihrer App zufrieden sind, drücken Sie die Wiedergabetaste in der oberen rechten Ecke.

Erstellen Sie nun ein neues Skript namens blynkdoor.js . Der vollständige Code ist vollständig kommentiert verfügbar Hier .

sudo nano blynkdoor.js

Wir müssen damit beginnen, die Blynk-Bibliothek zu importieren, unseren Autorisierungsschlüssel hinzuzufügen und eine Instanz von Blynk zur Verwendung in unserem Skript zu erstellen.

var blynklib = require('/usr/local/lib/node_modules/blynk-library');
var AUTH ='PasteAuthorizationCodeHere'
var blynk = new blynklib.Blynk(AUTH);

Wir müssen auch die OnOff-Bibliothek importieren und Variablen deklarieren, die unseren Reedschalter und unsere LED einrichten. Wir erstellen auch eine Variable für den virtuellen Pin, den wir in der Blynk-App eingerichtet haben.

var Gpio = require('onoff').Gpio,
reed = new Gpio(17, 'in', 'both'), //register changes 'both' when switch is opened and closed
led = new Gpio(22, 'out');
var virtualPin = 0;

Jetzt verwenden wir die sehen Funktion aus der OnOff-Bibliothek, um auf Änderungen in unserem Reed-Schalter zu achten. Der Türschalter ist entweder auf 0 oder 1 , und jedes Mal, wenn sich dieser Wert ändert, schreiben wir diese Änderung auf den LED-Pin.

reed.watch(function(err,value){
led.writeSync(value);

Wir können den Wert verwenden, um auch Daten an die Blynk-App zu senden. Wenn die Tür geschlossen ist, möchten wir dies in Ihrem Labeled Value-Widget sehen können. Wenn sich die Tür öffnet, möchten wir eine Benachrichtigung und eine E-Mail erhalten, die uns darüber informiert. Wir tun dies mit einer if-Anweisung und mit virtualWrite , benachrichtigen , und Email Funktionen aus der Blynk-Bibliothek. Die vollständige Dokumentation für Blynk finden Sie Hier .

if(value==0){
blynk.virtualWrite(virtualPin,'Closed');
console.log('Door Closed');
};
if(value==1){
blynk.notify('The door just opened!');
blynk.email('email@address.here', 'Front Door', 'The front door just opened.');
blynk.virtualWrite(virtualPin,'Open');
console.log('Door Open');
};
});

Immer wenn der Reedschalter eine Wertänderung registriert, werden die Daten an unseren virtuellen Pin gesendet und im Falle der Türöffnung an das Benachrichtigungs-Widget in der App, sowie an die Konsole geschrieben. Beachten Sie, dass die letzten Klammern dort sind, wo wir mit dem begonnen haben sehen Funktion oben.

Schließlich müssen wir den Pin zurücksetzen, wenn das Programm endet. Dies ist das gleiche wie die GPIO.cleanup() Sie kennen sich wahrscheinlich schon aus.

process.on('SIGINT', function () {
led.unexport();
reed.unexport();
});

Speichern Sie nun Ihren Code und beenden Sie. Führen Sie Ihr Skript mit node.

sudo node blynkdoor.js

Wenn Sie nun den Magneten vom Reed-Sensor wegbewegen, sollten Sie eine Benachrichtigung erhalten, dass die Tür geöffnet wurde und sich Ihre beschriftete Anzeige ändern sollte. Schließen Sie den Schalter wieder, und Sie werden sehen, dass sich die beschriftete Anzeige wieder ändert.

Es ist erwähnenswert, dass die Blynk-App auf Ihrem Telefon ausgeführt werden muss, um die Push-Benachrichtigungen zu erhalten, obwohl die E-Mails funktionieren, unabhängig davon, ob die App ausgeführt wird oder nicht.

In der bisher kurzen Zeit mit Blynk scheint es ein sehr einfach zu bedienender Dienst zu sein. Im einfachsten Fall können Personen ohne Programmierkenntnisse problemlos Heimautomatisierungssysteme für Heimwerker bauen. Mit ein wenig zusätzlichen Programmierkenntnissen wird es noch leistungsfähiger und ermöglicht viel komplexere Systeme und mehrere Ereignisauslöser durch einzelne Tastendrücke in der App.

Dieses Projekt war eine grundlegende Einführung in Blynk, obwohl das, was wir hier behandelt haben, leicht für fast jedes Heimautomatisierungs- oder Mikrocontroller-Projekt geändert werden kann.

Haben Sie Blynk verwendet? Haben Sie ein verrücktes komplexes System, das den Service nutzt, den Sie mit uns teilen möchten? Lass es uns in den Kommentaren unten wissen!

Bildnachweis: Giuseppe Caccavale über YouTube.com

Teilen Teilen Tweet Email Canon vs. Nikon: Welche Kameramarke ist besser?

Canon und Nikon sind die beiden größten Namen in der Kamerabranche. Aber welche Marke bietet die bessere Auswahl an Kameras und Objektiven?

Weiter lesen
Verwandte Themen
  • Heimwerken
  • Intelligentes Zuhause
  • Arduino
  • Himbeer-Pi
  • Heimautomatisierung
  • Internet der Dinge
  • Elektronik
Über den Autor Ian Buckley(216 veröffentlichte Artikel)

Ian Buckley lebt als freiberuflicher Journalist, Musiker, Performer und Videoproduzent in Berlin. Wenn er nicht gerade schreibt oder auf der Bühne steht, bastelt er an DIY-Elektronik oder Code herum, in der Hoffnung, ein verrückter Wissenschaftler zu werden.

Mehr von Ian Buckley

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich zu abonnieren