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

Blynk ist ein Service des Internets der Dinge (Internet of Things, IoT), mit dem die Fernsteuerung und das Lesen von Sensordaten von Ihren Geräten so schnell und einfach wie möglich gestaltet werden können.

Blynk ist ein Service des Internets der Dinge (Internet of Things, IoT), mit dem die Fernsteuerung und das Lesen von Sensordaten von Ihren Geräten so schnell und einfach wie möglich gestaltet werden können.
Werbung

Blynk ist ein Service des Internets der Dinge (Internet of Things, IoT), mit dem die Fernsteuerung und das Lesen von Sensordaten von Ihren Geräten so schnell und einfach wie möglich gestaltet werden können. In diesem Artikel werden wir genau beschreiben, was Blynk ist, wie es funktioniert, und zwei kurze Beispielprojekte zu verschiedenen Anwendungen des Dienstes mit NodeMCU- und Raspberry Pi-Entwicklungsplatinen bereitstellen.

Es war noch nie einfacher, intelligente Objekte mit Mikrocontrollern zu entwickeln, und IoT-Geräte haben in den letzten Jahren schnell an Popularität gewonnen. Entwicklungsboards wie Arduino oder Raspberry Pi können verwendet werden, um alles von den Steckdosen zu steuern. Wie man billige RF Power Sockets von OpenHAB steuert Wie man billige RF Power Sockets von OpenHAB kontrolliert Haben Sie einige billige RF-basierte Steckdosen, aber entdeckt, dass keine Smart-Home-Hubs arbeiten mit diesen? Sie können sie in Ihr DIY Smart Home-System mit nur etwa $ 10 in Teilen verbinden. Lesen Sie mehr in Ihrem Zuhause zu bewegungsaktivierten Weihnachtsdekorationen Erweitern Sie Ihren Weihnachtskranz mit einer bewegungsaktivierten LED-Matrix Verbessern Sie Ihren Weihnachtskranz mit einer bewegungsaktivierten LED-Matrix Dieser DIY Weihnachtskranz verwendet eine Arduino- und LED-Matrix, um ein erstaunliches Leuchtdisplay zu erzeugen Ich werde deine Freunde und Familie beeindrucken. Weiterlesen .

Ein Bereich, der für Uneingeweihte ein Problem darstellen kann, ist Codierung und Vernetzung. Blynk zielt darauf ab, die Notwendigkeit einer umfangreichen Codierung zu beseitigen und den Zugriff auf Ihre Geräte von überall auf Ihrem Smartphone zu erleichtern. Es ist kostenlos für Bastler und Entwickler, obwohl es auch kommerziell gegen eine Gebühr genutzt werden kann - 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, um den Service zu ermöglichen, aber die Blynk App scheint die Hauptstärke zu sein.

Gib die Blynk App ein

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

Steuerelemente heißen Widgets : verschiedene Arten von Eingabemethoden und Ausgabemasken, einschließlich Schaltflächen, Schieberegler, Joystick, Graphen und Text-Feedback. Es gibt auch komponentenspezifische Widgets mit stilisierten Steuerelementen für LEDs, LCD-Displays und sogar Live-Streaming-Video. Ebenfalls bemerkenswert sind Widgets, die Features hinzufügen, wie die automatische Veröffentlichung auf Twitter und benutzerdefinierte Benachrichtigungen.

Während die App kostenlos ist, begrenzt sie die Anzahl der Widgets, die Sie gleichzeitig verwenden können, indem Sie ihnen alle "Energie" -Kosten geben. Die App bietet Ihnen eine Balance von 2.000 zum Spielen, mit der Option, bei Bedarf mehr zu kaufen.

Ich fand, dass das Startguthaben mehr als genug für die hier aufgelisteten Beispielprojekte war, aber wenn dein Setup komplizierter ist, könnte es sein, dass dir der Saft ziemlich schnell ausgeht.

Widgets und Button blynk

Jedes Widget verfügt über ein Bearbeitungsmenü, in dem Sie den Namen und die Farbe ändern können. Sie wählen dann, welchen Pin Sie beeinflussen möchten (ob es ein Pin auf Ihrem Board oder einer der virtuellen Pins von Blynk ist), zusammen mit dem Bereich der zu sendenden Werte. Bei Ausgabedisplays wie Grafiken und Textfeldern können Sie auch auswählen, wie oft die Aktualisierung erfolgen soll, wodurch wertvolle Bandbreite eingespart werden kann.

Blynk bietet auch die Möglichkeit, "virtuelle" Pins Anweisungen zuzuweisen, bei denen es sich um benutzerkonfigurierte Verbindungen zwischen der App und der Hardware handelt. Mit einer einzigen Taste in der App können somit viele verschiedene Ereignisse auf dem Gerät ausgelöst werden. Wir werden behandeln, wie diese später in dem Artikel verwendet werden.

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 genutzt werden kann, der auch die Blynk-App besitzt. Der Benutzer, mit dem Sie teilen, kann keine Änderungen am Projekt vornehmen. Dadurch können Sie die Steuerung Ihrer Geräte schnell und bequem teilen. 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 teilen, ohne den Zugriff auf Ihre Hardware zuzulassen. Dies ist eine großartige Möglichkeit, den Benutzern beizubringen, wie sie die App verwenden, ohne dass sie Ihr Licht ein- und ausschalten können!

Ich fand das Erstellen einer App sehr schnell und intuitiv. Einmal erstellt, können Sie sofort damit beginnen, indem Sie auf das Wiedergabesymbol 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

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

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

Die zweite Möglichkeit besteht darin, Ihren eigenen Blynk-Server zu hosten. 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. In unseren Beispielen konzentrieren wir uns jedoch auf die Verwendung des bereitgestellten Blynk Cloud-Servers.

Blynk Webseite

Die Bibliothek von Blynk

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

Im einfachsten Fall ist es lediglich erforderlich, die Bibliothek zu installieren und eine der gut beschrifteten Beispielskizzen zu 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 dort Ihre Autorisierungs-Tokens gesendet werden. Erstellen Sie nun ein Projekt und wählen Sie aus, welches Board Sie verwenden und wie Sie es verbinden möchten. Beide Beispiele verbinden sich hier über WLAN, aber auch Verbindungen via Bluetooth, Ethernet und sogar GSM sind möglich.

Erstellen Sie Ihr Projekt. Dies wird automatisch ein Autorisierungs-Token senden. 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.

Als nächstes installieren Sie die Blynk-Bibliotheken von der Blynk-Website. Für Arduino installieren Sie die Bibliothek, indem Sie die Dateien in Ihren Arduino> Bibliotheksordner kopieren. Wenn Sie neu bei Arduino sind, finden Sie hier eine Anleitung für den Einstieg. Erste Schritte mit Arduino: Ein Anfängerhandbuch Erste Schritte mit Arduino: Ein Anfängerhandbuch Arduino ist eine Open-Source-Prototyping-Plattform für Elektronik, die auf flexibler, benutzerfreundlicher Hardware basiert Software. Es richtet sich an Künstler, Designer, Bastler und alle, die interaktive Objekte oder Umgebungen erstellen möchten. Weiterlesen .

Für Raspberry Pi müssen Sie sicherstellen, dass Sie Node.js zuerst installiert haben. Es gibt eine Anleitung zu installierten Node.js in diesem Artikel Wie man ein DIY Siri-Controlled Wi-Fi Light Wie man ein DIY Siri-Controlled Wi-Fi Light In diesem Leitfaden werden Sie lernen, wie man ein Wi-Fi kontrollierbares Licht und kontrolliere es mit Siri. Lesen Sie mehr, wenn Sie es brauchen.

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 

Installieren Sie anschließend den Knotenpaket- Manager, die OnOff- Bibliothek und die Blynk- Bibliothek, indem Sie diese 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:

Blynk Pi Blynk Testskript

Wenn Sie Fehler feststellen, vergewissern Sie sich, dass Ihr Pi auf dem neuesten Stand ist und dass Sie die neueste Version von Node.js installiert haben, bevor Sie die NPM-, OnOff- und Blynk-Bibliotheken erneut installieren.

Schnelleinrichtung mit NodeMCU

Dieses erste Beispiel zeigt, wie schnell es ist, einfache Systeme mit Blynk einzurichten. Es erfordert keine Codierung, und einmal eingerichtet ist es völlig eigenständig. Solange das Board Zugriff auf Ihre Wi-Fi-Verbindung hat, können Sie von überall aus mit Ihrem Smartphone darauf zugreifen.

Stellen Sie zunächst eine einfache Schaltung auf einem Steckbrett her. Verbinden Sie Pin D0 mit dem positiven Bein einer LED und zurück zum GND Pin über einen 220 Ohm Widerstand.

nodemcu fritzing

Öffnen Sie Ihr NodeMCU-Projekt in der Blynk App. Auf der rechten Seite wählen Sie das Button- Widget aus dem Menü. Wählen Sie Ihre Schaltfläche in Ihrem Projekt, um das Eigenschaftsmenü zu öffnen. Hier können Sie es benennen und wählen, welcher Pin auf Ihrer NodeMCU-Platine betroffen sein soll. Wählen Sie Pin D0 aus der Ausgabeliste, und wechseln Sie den Modus, um ihn zu einem Ein- und Ausschalter zu machen, anstatt einen Taster zu drücken.

Drücken Sie zurück (alle Änderungen werden automatisch gespeichert) und drücken Sie dann auf 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.

Als nächstes öffnen Sie die Arduino IDE und wählen Sie Ihre NodeMCU Karte und den Port aus dem Werkzeugmenü. Wenn Sie Ihr Board in diesem Menü nicht sehen, müssen Sie möglicherweise die ESP8266-Bibliotheken installieren (dieses Handbuch soll Ihnen helfen, den Arduino Killer kennenzulernen: ESP8266 Meet the Arduino Killer: ESP8266 Was wäre, wenn ich Ihnen ein Arduino-kompatibles Dev-Board erzähle? mit integriertem Wi-Fi für weniger als $ 10? Nun, gibt es. Lesen Sie mehr).

Öffnen Sie nun das ESP8266-Standalone-Skript, das Blynk in seiner Bibliothek bereitgestellt hat, indem Sie zu Datei> Beispiele> Blynk> Boards_WiFi> ESP8266_Standalone navigieren . Ersetzen Sie den Platzhalter für das Autorisierungstoken durch den, den Sie per E-Mail erhalten haben, und geben Sie Ihre Wi-Fi-Details 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 die LED ein- und ausgeschaltet werden. Wenn es nicht funktioniert, überprüfen Sie, ob Sie das Wiedergabesymbol in der App gedrückt haben.

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

Es ist auch erwähnenswert, dass, da dies den Blynk-Server verwendet, Sie Ihr Board von überall aus steuern können, solange das Board Zugriff auf Ihre Wi-Fi-Heimverbindung hat und Ihr Smartphone mobilen Datenzugriff hat.

Blynk auf dem Raspberry Pi

Sie können Blynk genau 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, auf die wir jetzt eingehen werden.

Blynk arbeitet mit Node.js, daher wird der Code, den wir heute schreiben, in Javascript sein. Wenn Sie ein Neuling in der Sprache sind, sollte dies ein guter Grund sein, um loszulegen. Beginnen Sie jetzt JavaScript mit diesen 5 großen kostenlosen Ressourcen zu codieren. Beginnen Sie jetzt JavaScript mit diesen 5 kostenlosen Ressourcen zu programmieren Lesen Sie mehr.

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

Du wirst brauchen:

  • Türmagnetschalter (auch Reed-Schalter genannt)
  • 1x 1k? Widerstand
  • 1x 10k? Widerstand
  • 1x 220? Widerstand
  • 1x LED
  • Steckbrett und Anschlussdrähte

Richte dein Breadboard so ein:

pi fritzing

Beachten Sie, dass die Bibliothek von Blynk die GPIO-Nummern der Pins des Pi verwendet, also werden wir sie in diesem Projekt verwenden. Verbinden Sie die 5V- und GND-Pins mit den Stromschienen des Steckbretts. Verbinden Sie den GPIO - Pin 22 am Raspberry Pi mit der LED - Anode und verbinden Sie die Kathode über die 220? Widerstand. Verbinden Sie den 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. Schließlich, verbinden Sie Ihren Reed-Schalter mit der GND-Seite der Stromschiene auf der einen Seite, und auf der Linie, wo die 1k? und 10k? Widerstände treffen sich auf der anderen. Diese Konfiguration des Pull-Up-Widerstands führt dazu, dass die Spannung an Pin 17 beim Öffnen des Schalters hoch angezeigt wird.

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

Wählen Sie den Labeled Value, benennen Sie ihn und wählen Sie den virtuellen Pin V0 als Eingabepin aus. Sie können auch ändern, wie die Informationen angezeigt werden. In diesem Fall fügen Sie vor / pin / in der Registerkarte Label "Die Tür ist" hinzu. Wir können den Wert für die Lesefrequenz auf der Standardeinstellung belassen. Sie können dies jedoch ändern, um Daten mit einer anderen Rate 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, obwohl das Widget vorhanden sein muss, damit es funktioniert.

Sobald Sie mit der Darstellung Ihrer App zufrieden sind, klicken Sie auf die Schaltfläche Wiedergabe in der oberen rechten Ecke.

projektbezogener Wert

Erstellen Sie nun ein neues Skript mit dem Namen blynkdoor.js . Der vollständige Code ist hier vollständig annotiert.

 sudo nano blynkdoor.js 

Wir müssen zunächst die Blynk-Bibliothek importieren, unseren Autorisierungsschlüssel hinzufügen und eine Instanz von Blynk für die Verwendung in unserem Skript 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 Reed-Schalter und die LED einrichten. Wir werden auch eine Variable für den virtuellen Pin erstellen, 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 werden wir die Watch- Funktion aus der OnOff-Bibliothek verwenden, um Änderungen in unserem Reed-Schalter zu beobachten. Der Türschalter steht entweder auf 0 oder auf 1, und 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 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 mitteilen. Wir tun dies mit einer if-Anweisung und verwenden die Funktionen virtualWrite, notify und email 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 protected]", "Front Door", "The front door just opened."); blynk.virtualWrite(virtualPin, "Open"); console.log('Door Open'); }; }); 

Jetzt, wenn der Reed-Schalter eine Wertänderung registriert, werden die Daten an unseren virtuellen Pin gesendet, und im Falle der Tür, die sich zum Benachrichtigungs-Widget in der App öffnet, sowie zum Schreiben auf die Konsole. Beachten Sie, dass die abschließenden Klammern von der Stelle stammen, an der wir oben die Überwachungsfunktion gestartet haben.

Schließlich müssen wir den Pin zurücksetzen, wenn das Programm endet. Dies ist das gleiche wie das GPIO.cleanup (), mit dem Sie wahrscheinlich schon vertraut sind.

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

Speichere jetzt deinen Code und verlasse ihn. Führen Sie Ihr Skript mit Knoten aus.

 sudo node blynkdoor.js 

Wenn Sie nun den Magneten vom Reed-Sensor wegbewegen, sollten Sie eine Benachrichtigung erhalten, dass die Tür geöffnet ist und sich Ihr etikettiertes Display ändern sollte. Schließen Sie den Schalter erneut, und Sie werden feststellen, dass sich die beschriftete Anzeige erneut ä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, ob die App ausgeführt wird oder nicht.

In der kurzen Zeit, die bisher mit Blynk verbracht wurde, scheint es ein sehr einfacher Service zu sein. Am einfachsten können Menschen ohne Programmierkenntnisse einfache Heimautomatisierungssysteme bauen. Mit ein wenig zusätzlichen Programmierkenntnissen wird es noch leistungsfähiger und ermöglicht viel komplexere Systeme und mehrere Ereignisauslöser durch Drücken einzelner Tasten in der App.

Dieses Projekt war eine grundlegende Einführung in Blynk, obwohl das, was wir hier behandelt haben, leicht für fast jedes Hausautomations- oder Mikrocontroller-Projekt modifiziert werden könnte.

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

Bildquelle: Giuseppe Caccavale über YouTube.com

In this article