Werbung
Blynk [Broken URL Removed] ist ein Internet of Things (IoT) -Dienst, mit dem die Fernsteuerung und das Lesen von Sensordaten von Ihren Geräten so schnell und einfach wie möglich durchgeführt werden können. In diesem Artikel werden wir genau beschreiben, was Blynk ist, wie es funktioniert, und zwei kurze Beispielprojekte zu verschiedenen Verwendungszwecken des Dienstes mit NodeMCU- und Raspberry Pi-Entwicklungsboards bereitstellen.
Es war noch nie einfacher, intelligente Objekte mithilfe von Mikrocontrollern zu entwickeln, und IoT-Geräte sind in den letzten Jahren immer beliebter geworden. Entwicklungsboards wie Arduino oder Raspberry Pi können verwendet werden, um alles von der zu steuern Steckdosen So steuern Sie billige HF-Steckdosen von OpenHAB ausHaben Sie einige billige HF-basierte Steckdosen, haben aber festgestellt, dass mit diesen keine Smart-Home-Hubs funktionieren? Sie können sie mit nur etwa 10 US-Dollar in Teilen in Ihr DIY-Smart-Home-System einbinden. Weiterlesen in Ihrem Haus zu bewegungsaktiviert
Weihnachtsdekorationen Werten Sie Ihren Weihnachtskranz mit einer bewegungsaktivierten LED-Matrix aufDieser DIY-Weihnachtskranz verwendet eine Arduino- und LED-Matrix, um ein erstaunliches Leuchtdisplay zu erzeugen, das Ihre Freunde und Familie beeindrucken wird. Weiterlesen .Ein Bereich, der für Uneingeweihte ein Problem darstellen kann, ist das Codieren und Vernetzen. Blynk zielt darauf ab, die Notwendigkeit einer umfangreichen Codierung zu beseitigen und den Zugriff auf Ihre Geräte von überall auf Ihrem Smartphone zu vereinfachen. Es ist kostenlos für Hobbyisten und Entwickler, kann aber auch kommerziell für a verwendet werden Gebühr - Unternehmen können mit Blynk ihre eigenen Apps und Systeme erstellen und diese dann mit ihren eigenen verkaufen Branding.
Blynk verwendet seinen eigenen Server und seine eigene Bibliothek, damit der Dienst funktioniert. Die Blynk-App scheint jedoch die Hauptstärke zu sein.
Rufen Sie die Blynk App auf
Die Blynk-App ist kostenlos für Android und iOS verfügbar. Dies ist der Ausgangspunkt für Ihre Projekte und verfügt über ein einfach zu verwendendes 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 sowie Ihre Verbindungsmethode auszuwählen. Die App sendet dann ein Autorisierungstoken per E-Mail, um über den Blynk-Server eine Verbindung zu Ihrem Gerät herzustellen.
Steuerelemente werden aufgerufen Widgets: Verschiedene Arten von Eingabemethoden und Ausgabeanzeigen, einschließlich Schaltflächen, Schiebereglern, Joystick, Grafiken und Textrückmeldung. 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 das automatische Posten auf Twitter und benutzerdefinierte Benachrichtigungen hinzufügen.
Die App ist zwar kostenlos, begrenzt jedoch die Anzahl der Widgets, die Sie gleichzeitig verwenden können, indem allen Energiekosten zugewiesen werden. Die App bietet Ihnen ein Guthaben von 2.000 zum Spielen und die Option, bei Bedarf mehr zu kaufen.
Ich stellte fest, dass das bereitgestellte Startguthaben für die aufgeführten Beispielprojekte mehr als ausreichend war Wenn Ihr Setup jedoch komplizierter ist, geht Ihnen möglicherweise der Saft aus schnell.
Jedes Widget verfügt über ein Bearbeitungsmenü, in dem Sie den Namen und die Farbe ändern können. Anschließend wählen Sie den zu beeinflussenden Pin (ob es sich um einen Pin auf Ihrem Board oder einen der virtuellen Pins von Blynk handelt) sowie den zu sendenden Wertebereich aus. Bei Ausgabeanzeigen wie Grafiken und Textfeldern können Sie auch festlegen, wie oft die Aktualisierung erfolgen soll, wodurch möglicherweise wertvolle Bandbreite eingespart 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. Eine einzige Schaltfläche in der App kann daher verwendet werden, um viele verschiedene Ereignisse auf dem Gerät auszulösen. Wie Sie diese verwenden, erfahren Sie später in diesem Artikel.
Die App bietet die Möglichkeit, Ihr Projekt mit anderen zu teilen. Es wird ein QR-Code generiert, der per E-Mail gesendet oder direkt gescannt und von jedem verwendet werden kann, der auch über die Blynk-App verfügt. Mit wem auch immer Sie teilen, kann keine Änderungen am Projekt vornehmen, sodass Sie schnell und bequem die Kontrolle über Ihre Geräte teilen können. Es ist jedoch zu beachten, dass Ihr Projekt in der App ausgeführt werden muss, damit andere Benutzer auf die Hardware zugreifen können.
Sie können das Projekt auch freigeben, ohne Zugriff auf Ihre Hardware zu gewähren. Dies ist eine hervorragende Möglichkeit, den Benutzern die Verwendung der App beizubringen, ohne dass sie das Licht 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 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 zum Bearbeitungsmodus zurückzukehren.
Der Blynk-Server
Nachdem Sie eine App zur Steuerung Ihres Geräts erstellt haben, haben Sie zwei Möglichkeiten, wie Sie mit ihm kommunizieren können.
Der Blynk Cloud Server ist schnell, reaktionsschnell und kostenlos zu verwenden. Das Herstellen einer 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 erstellen wir unser eigenes Skript mithilfe der Blynk-Bibliothek, um eine Verbindung zum Dienst herzustellen.
Die zweite Option ist zu hosten Sie Ihre eigenen Blynk Server. Blynk bietet einen Open-Source-Java-Server auf Netty-Basis, der von Ihrem Computer aus ausgeführt werden kann, oder sogar einen Raspberry Pi. Dies hat verschiedene Vorteile Für einige Benutzer in Bezug auf Funktionalität und Sicherheit. In unseren Beispielen konzentrieren wir uns jedoch auf die Verwendung des Blynk-Cloud-Servers unter der Voraussetzung.
Die Blynk-Bibliothek
Das dritte und letzte Element von Blynk ist das Blynk Bibliothek. Diese Bibliothek arbeitet mit einer großen Liste von Entwicklungsplatinen zusammen, um die Kommunikation zwischen der App und Ihrer Hardware zu ermöglichen.
Im einfachsten Fall müssen Sie lediglich die Bibliothek installieren und eine der 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 dort Ihre Autorisierungstoken gesendet werden. Erstellen Sie nun ein Projekt und wählen Sie aus, welches Board Sie verwenden und wie Sie eine Verbindung herstellen. Beide Beispiele stellen hier eine Verbindung über WLAN her, es sind jedoch auch Verbindungen über Bluetooth, Ethernet und sogar GSM möglich.
Erstellen Sie Ihr Projekt. Dadurch wird automatisch ein Autorisierungstoken gesendet. Wenn Sie es nicht erhalten, können Sie es erneut senden, indem Sie das Projekteinstellungssymbol (die kleine Mutter) 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 Ihre kopieren Arduino> Bibliotheken Mappe. Wenn Sie neu bei Arduino sind, finden Sie hier eine Anleitung für den Einstieg Erste Schritte mit Arduino: Ein Leitfaden für AnfängerArduino ist eine Open-Source-Prototyping-Plattform für die Elektronik, die auf flexibler, benutzerfreundlicher Hardware und Software basiert. 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 zuerst sicherstellen, dass Node.js installiert ist. Es gibt eine Anleitung zur Installation von Node.js in Dieser Beitrag So stellen Sie ein DIY Siri-gesteuertes Wi-Fi-Licht herIn diesem Handbuch erfahren Sie, wie Sie ein Wi-Fi-steuerbares Licht erstellen und mit Siri steuern. Weiterlesen sollten 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.
Dann installieren Sie die Knotenpaket-Manager, das An aus Bibliothek und die Blynk 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 Sie Fehler erhalten, 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.
Schnelleinrichtung mit NodeMCU
Dieses erste Beispiel zeigt, wie schnell einfache Systeme mit Blynk eingerichtet werden können. Es erfordert keine Codierung und ist nach dem Einrichten völlig 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 anschließen D0 zum positiven Zweig 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 aus 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, welchen Pin auf Ihrer NodeMCU-Karte davon betroffen sein soll. Wählen Pin D0 aus der Ausgabeliste und dem Schaltmodus, um ihn zu einem Ein- und Ausschalter und nicht zu einem kurzzeitigen Druckschalter zu machen.
Drücken Sie zurück (alle Änderungen werden automatisch gespeichert) und 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.
Öffnen Sie als Nächstes die Arduino IDE und wählen Sie Ihre NodeMCU-Karte und Ihren Port aus dem Menü "Tools". Wenn Sie Ihr Board in diesem Menü nicht sehen, müssen Sie möglicherweise die ESP8266-Bibliotheken installieren (Dieser Leitfaden sollte helfen Lernen Sie den Arduino Killer kennen: ESP8266Was wäre, wenn ich Ihnen sagen würde, dass es ein Arduino-kompatibles Entwicklungsboard mit integriertem WLAN für weniger als 10 US-Dollar gibt? Nun, das gibt es. Weiterlesen ).
Öffnen Sie nun das eigenständige ESP8266-Skript Blynk, das in der Bibliothek bereitgestellt wird, indem Sie zu navigieren Datei> Beispiele> Blynk> Boards_WiFi> ESP8266_Standalone. Ersetzen Sie den Platzhalter für das Autorisierungstoken durch den Platzhalter, 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 jetzt 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 Sie Ihr Board von überall aus steuern können, da dies den Blynk-Server verwendet. Solange das Board Zugriff auf Ihre WLAN-Verbindung zu Hause hat und Ihr Smartphone über mobile Daten verfügt Zugriff.
Blynk auf dem Raspberry Pi
Sie können Blynk genauso verwenden wie im obigen Beispiel auf dem Raspberry Pi, indem Sie den Blynk-Test verwenden Skript, aber es gibt einige tiefere Funktionen, die Blynks virtuelle Pins bieten, die wir untersuchen werden jetzt.
Blynk arbeitet mit Node.js, daher wird der Code, den wir heute schreiben werden, in Javascript sein. Wenn Sie neu in der Sprache sind, Dies sollte eine gute Grundierung sein, um loszulegen Beginnen Sie jetzt mit dem Codieren von JavaScript mit diesen 5 großartigen kostenlosen Ressourcen Weiterlesen .
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 sich die Tür öffnet.
Du wirst brauchen:
- Türmagnetschalter (auch als Reedschalter bekannt)
- 1x 1k? Widerstand
- 1x 10k? Widerstand
- 1x 220? Widerstand
- 1x LED
- Steckbrett und Anschlussdrähte
Richten Sie Ihr Steckbrett so ein:
Beachten Sie, dass die Blynk-Bibliothek die GPIO-Nummern der Pi-Pins verwendet, sodass wir sie in diesem Projekt verwenden werden. Verbinden Sie die 5V- und GND-Pins mit den Stromschienen am Steckbrett. 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 der anderen Seite und auf der 5-V-Seite der Stromschiene. Schließen Sie zum Schluss Ihren Reedschalter auf einer Seite an die GND-Seite der Stromschiene an und an die Linie, an der die 1k? und 10k? Widerstände treffen sich auf der anderen Seite. Diese Pull-up-Widerstandskonfiguration bewirkt, dass die Spannung an Pin 17 beim Öffnen des Schalters hoch anzeigt.
Erstellen Sie ein neues Projekt in der Blynk-App und wählen Sie Ihr Raspberry Pi-Board aus. Wählen Sie im Widget-Menü einen Widget mit beschriftetem Wert, E-Mail und Benachrichtigung aus
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. In diesem Fall fügen Sie "Die Tür ist" vor / pin / auf der Registerkarte "Beschriftung" 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 zu beachten, 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, klicken Sie oben rechts auf die Wiedergabetaste.
Erstellen Sie nun ein neues Skript mit dem Namen blynkdoor.js. Der vollständige Code ist vollständig kommentiert verfügbar Hier.
sudo nano blynkdoor.js.
Wir müssen zunächst die Blynk-Bibliothek importieren, unseren Autorisierungsschlüssel hinzufügen und eine Instanz von Blynk erstellen, die in unserem Skript verwendet werden soll.
var blynklib = require ('/ usr / local / lib / node_modules / blynk-library'); var AUTH = 'PasteAuthorizationCodeHere' var blynk = neue blynklib. Blynk (AUTH);
Wir müssen auch die OnOff-Bibliothek importieren und Variablen deklarieren, die unseren Reed-Schalter 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 ändert 'both', wenn der Schalter geöffnet und geschlossen wird. led = neues Gpio (22, 'out'); var virtualPin = 0;
Jetzt werden wir die verwenden beobachten Funktion aus der OnOff-Bibliothek, um nach Änderungen in unserem Reed-Schalter zu suchen. Der Türschalter ist entweder auf 0 oder 1und wenn sich dieser Wert ändert, schreiben wir diese Änderung auf den LED-Pin.
reed.watch (Funktion (err, Wert) {led.writeSync (Wert);
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 Widget "Beschrifteter Wert" 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 verwenden virtualWrite, benachrichtigen, und Email Funktionen aus der Blynk-Bibliothek. Die vollständige Dokumentation zu Blynk finden Sie hier Hier.
if (value == 0) {blynk.virtualWrite (virtualPin, "Closed"); console.log ('Tür geschlossen'); }; if (value == 1) {blynk.notify ("Die Tür hat sich gerade geöffnet!"); blynk.email ("[email protected]", "Front Door", "Die Haustür wurde gerade geöffnet."); blynk.virtualWrite (virtualPin, "Open"); console.log ('Tür offen'); }; });
Immer wenn der Reed-Schalter eine Wertänderung registriert, werden die Daten an unseren virtuellen Pin und in gesendet der Fall, dass sich die Tür zum Benachrichtigungs-Widget in der App öffnet und in die Konsole geschrieben wird. Beachten Sie, dass die letzten Klammern dort sind, wo wir mit dem begonnen haben beobachten Funktion oben.
Schließlich müssen wir den Pin zurücksetzen, wenn das Programm endet. Dies ist das gleiche wie das 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 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 wurde, und Ihre beschriftete Anzeige sollte sich ändern. Schließen Sie den Schalter erneut, und Sie werden sehen, 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 unabhängig davon funktionieren, ob die App ausgeführt wird oder nicht.
In der kurzen Zeit, die Blynk bisher verbracht hat, scheint es ein sehr einfacher Service zu sein. Im einfachsten Fall können Personen ohne Programmierkenntnisse problemlos DIY-Hausautomationssysteme erstellen. Mit ein wenig mehr Programmierkenntnissen wird es noch leistungsfähiger und ermöglicht viel komplexere Systeme und mehrere Ereignisauslöser durch Drücken einer einzelnen Taste in der App.
Dieses Projekt war eine grundlegende Einführung in Blynk, obwohl das, was wir hier behandelt haben, für fast jedes Hausautomations- oder Mikrocontroller-Projekt leicht modifiziert werden kann.
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 unten wissen!
Bildnachweis: Giuseppe Caccavale über YouTube.com
Ian Buckley ist freiberuflicher Journalist, Musiker, Performer und Videoproduzent und lebt in Berlin. Wenn er nicht schreibt oder auf der Bühne steht, bastelt er an DIY-Elektronik oder Code in der Hoffnung, ein verrückter Wissenschaftler zu werden.