Advertentie

Blynk [Broken URL Removed] is een Internet of Things (IoT) -service die is ontworpen om de bediening op afstand en het lezen van sensorgegevens van uw apparaten zo snel en gemakkelijk mogelijk te maken. In dit artikel zullen we precies bespreken wat Blynk is, hoe het werkt, en twee korte voorbeeldprojecten geven over verschillende toepassingen van de service met NodeMCU en Raspberry Pi-ontwikkelborden.

Het is nog nooit zo eenvoudig geweest om slimme objecten te ontwikkelen met microcontrollers, en IoT-apparaten zijn de afgelopen jaren snel in populariteit gegroeid. Ontwikkelingsborden zoals Arduino of Raspberry Pi kunnen worden gebruikt om alles vanaf de stopcontacten Hoe goedkope RF-stopcontacten van OpenHAB te bedienenHeb je een paar goedkope op RF gebaseerde stopcontacten, maar ontdekte je dat er geen slimme thuishubs mee werken? Je kunt ze koppelen aan je doe-het-zelf smart home-systeem met slechts ongeveer $ 10 aan onderdelen. Lees verder bij u thuis geactiveerd door beweging

instagram viewer
kerst versiering Upgrade uw kerstkrans met een bewegingsgeactiveerde LED-matrixDeze DIY-kerstkrans maakt gebruik van een Arduino en LED-matrix om een ​​geweldig verlicht display te produceren dat indruk zal maken op je vrienden en familie. Lees verder .

Een gebied dat voor niet-ingewijden een probleem kan vormen, is codering en netwerken. Blynk streeft ernaar om de noodzaak van uitgebreide codering te elimineren en het gemakkelijk te maken om vanaf elke plek op uw smartphone toegang te krijgen tot uw apparaten. Het is gratis te gebruiken voor hobbyisten en ontwikkelaars, maar het is ook beschikbaar om commercieel te gebruiken voor een vergoeding - bedrijven kunnen Blynk gebruiken om hun eigen apps en systemen te maken en deze vervolgens met hun eigen te verkopen branding.

Blynk gebruikt zijn eigen server en bibliotheek om de service te laten werken, maar het is de Blynk-app die de grootste kracht lijkt te zijn.

Voer de Blynk-app in

De Blynk-app is gratis beschikbaar op Android en iOS. Het is het startpunt voor uw projecten, met een eenvoudig te gebruiken slepen-en-neerzetten-systeem voor het bouwen van aangepaste bedieningselementen voor uw IoT-configuratie. De workflow is snel: bij het starten van een nieuw project wordt u gevraagd om uw ontwikkelbord te kiezen uit een uitgebreide lijst, en ook uw verbindingsmethode. De app verzendt vervolgens een autorisatietoken via e-mail om verbinding te maken met uw apparaat via de Blynk-server.

Besturingselementen worden genoemd Widgets: verschillende soorten invoermethoden en uitvoerdisplays inclusief knoppen, schuifregelaars, een joystick, grafieken en tekstfeedback. Er zijn ook componentspecifieke widgets, met gestileerde bedieningselementen voor LEDS, LCD-schermen en zelfs live gestreamde video. Ook opvallend zijn widgets die functies toevoegen, zoals automatisch posten op Twitter en aangepaste meldingen.

Hoewel de app gratis is, beperkt deze het aantal widgets dat u tegelijk kunt gebruiken door ze allemaal een "energiekost" te geven. De app geeft je een saldo van 2000 om mee te spelen, met de optie om indien nodig meer te kopen.

Ik ontdekte dat het verstrekte beginsaldo meer dan genoeg was voor de genoemde voorbeeldprojecten hier, maar als je setup gecompliceerder is, kun je merken dat je bijna geen sap meer hebt snel.

widgets en knop blynk

Elke widget heeft een bewerkingsmenu waarmee u de naam en kleur kunt wijzigen. Vervolgens kiest u welke pin u wilt beïnvloeden (of het nu een pin op uw bord is of een van de virtuele pinnen van Blynk), samen met het bereik van de te verzenden waarden. Voor outputweergaven zoals grafieken en tekstvakken, kunt u ook kiezen hoe vaak u wilt dat het wordt bijgewerkt, wat mogelijk kostbare bandbreedte bespaart.

Blynk biedt ook de mogelijkheid om instructies toe te wijzen aan "virtuele" pinnen, dit zijn door de gebruiker geconfigureerde verbindingen tussen de app en de hardware. Een enkele knop in de app kan daarom worden gebruikt om veel verschillende gebeurtenissen op het apparaat te activeren. We zullen later in het artikel bespreken hoe u deze kunt gebruiken.

De app biedt de mogelijkheid om uw project met anderen te delen. Er wordt een QR-code gegenereerd die via e-mail kan worden verzonden of rechtstreeks kan worden gescand en gebruikt door iedereen die ook de Blynk-app heeft. Degene met wie je deelt, kan geen wijzigingen in het project aanbrengen, waardoor het een snelle en gemakkelijke manier is om de controle over je apparaten te delen. Het is echter vermeldenswaard dat uw project in de app moet worden uitgevoerd zodat anderen toegang hebben tot de hardware.

Je kunt het project ook delen zonder toegang tot je hardware toe te staan, wat een geweldige manier is om mensen te leren hoe ze de app kunnen gebruiken zonder dat ze je lichten aan en uit hoeven te zetten!

Ik vond het maken van een app erg snel en intuïtief. Eenmaal gemaakt, kunt u het onmiddellijk gebruiken door op het afspeelsymbool in de rechterbovenhoek te drukken. Als u later wijzigingen moet aanbrengen, kunt u eenvoudig op dezelfde knop drukken om terug te gaan naar de bewerkingsmodus.

De Blynk-server

Nadat u een app heeft gemaakt om uw apparaat te bedienen, heeft u twee opties om ermee te communiceren.

De Blynk-cloudserver is snel, responsief en gratis te gebruiken. Verbinding maken met een Wi-Fi-apparaat is net zo eenvoudig als het kopiëren van uw gegenereerde autorisatiecode naar uw Arduino-schets en het verstrekken van uw Wi-Fi-details. Voor Raspberry Pi biedt Blynk een testscript dat u met hetzelfde effect kunt uitvoeren met uw autorisatiecode. Later in dit artikel zullen we ons eigen script maken met behulp van de Blynk-bibliotheek om verbinding te maken met de service.

De tweede optie is host je eigen Blynk-server. Blynk biedt een open source op Netty gebaseerde Java-server die vanaf uw computer of zelfs een Raspberry Pi kan worden uitgevoerd. Dit heeft verschillende voordelen voor sommige gebruikers in termen van functionaliteit en beveiliging, hoewel we ons voor onze voorbeelden hier zullen concentreren op het gebruik van de Blynk-cloud-server voorzien.

blynk website

De Blynk-bibliotheek

Het derde en laatste element van Blynk is de Blynk bibliotheek. Deze bibliotheek werkt met een enorme lijst met ontwikkelborden om communicatie tussen de app en uw hardware mogelijk te maken.

Op zijn eenvoudigst is alles wat nodig is om de bibliotheek te installeren en een van de goed geannoteerde voorbeeldschetsen te laden.

Blynk: eerste installatie

Installeer de Blynk-app op uw smartphone en maak een account aan. Zorg ervoor dat u een e-mailadres gebruikt dat u daadwerkelijk kunt openen, want daar worden uw autorisatietokens naartoe gestuurd. Maak nu een project, selecteer welk bord u gaat gebruiken en hoe u er verbinding mee gaat maken. Beide voorbeelden maken hier verbinding via Wi-Fi, hoewel verbindingen via Bluetooth, Ethernet en zelfs GSM ook mogelijk zijn.

Creëer uw project. Hiermee wordt automatisch een autorisatietoken verzonden. Als je het niet ontvangt, kun je het opnieuw verzenden door het projectinstellingenpictogram (de kleine noot) te selecteren, je apparaat te selecteren en 'E-mail' te selecteren.

Installeer vervolgens de Blynk-bibliotheken vanaf de Blynk-website. Installeer voor Arduino de bibliotheek door de bestanden naar uw te kopiëren Arduino> bibliotheken map. Als je nieuw bent bij Arduino, hier is een gids om u op weg te helpen Aan de slag met Arduino: een beginnershandleidingArduino is een open-source prototypeplatform voor elektronica, gebaseerd op flexibele, gebruiksvriendelijke hardware en software. Het is bedoeld voor kunstenaars, ontwerpers, hobbyisten en iedereen die geïnteresseerd is in het maken van interactieve objecten of omgevingen. Lees verder .

Voor Raspberry Pi moet je ervoor zorgen dat je eerst Node.js hebt geïnstalleerd. Er is een handleiding voor het installeren van Node.js in Dit artikel Hoe u een doe-het-zelf Siri-gestuurd Wi-Fi-licht maaktIn deze handleiding leert u hoe u een via Wi-Fi bestuurbaar licht maakt en deze met Siri bedient. Lees verder mocht je het nodig hebben.

Zorg er eerst voor dat uw Pi up-to-date is en dat het pakket met essentiële build is geïnstalleerd.

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

Installeer vervolgens de Knooppunt Pakketbeheer, de Aan uit bibliotheek, en de Blynk bibliotheek door dit in uw Terminal-venster te typen.

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

U kunt controleren of alles heeft gewerkt door het Blynk-testscript uit te voeren:

blynk.js [YourAuthorizationTokenHere] 

Mits alles werkt, zou het er als volgt uit moeten zien:

blynk pi blynk testscript

Als je fouten krijgt, zorg er dan voor dat je Pi up-to-date is en dat je de meest recente versie van Node.js hebt geïnstalleerd, voordat je de NPM-, OnOff- en Blynk-bibliotheken opnieuw installeert.

Snelle installatie met NodeMCU

Dit eerste voorbeeld laat zien hoe snel het is om eenvoudige systemen op te zetten met Blynk. Het vereist geen codering en eenmaal ingesteld staat het volledig op zichzelf. Zolang het bord toegang heeft tot uw Wi-Fi-verbinding, kunt u het overal openen met uw smartphone.

Stel om te beginnen een eenvoudig circuit op een breadboard in. Sluit pin aan D0 naar de positieve poot van een LED en terug naar de GND-pin via een 220 Ohm-weerstand.

nodemcu frituren

Open uw NodeMCU-project in de Blynk-app. Selecteer aan de rechterkant de Knop widget uit het menu. Selecteer uw knop in uw project om het eigenschappenmenu te openen. Hier kunt u het een naam geven en kiezen welke pin op uw NodeMCU-bord het moet beïnvloeden. Selecteer pin D0 uit de outputlijst en schakelmodus om het een aan en uit-schakelaar te maken, in plaats van een momentane drukschakelaar.

Druk op terug (alle wijzigingen worden automatisch opgeslagen) en druk vervolgens op het afspeelpictogram in de rechterbovenhoek om uw app te starten. U kunt op elk moment op dezelfde knop drukken om terug te gaan naar het bewerken van uw project.

Open vervolgens de Arduino IDE en kies je NodeMCU-bord en poort in het menu Tools. Als u uw bord niet in dit menu ziet, moet u mogelijk de ESP8266-bibliotheken installeren (deze gids zou moeten helpen Maak kennis met de Arduino Killer: ESP8266Wat als ik je vertelde dat er een Arduino-compatibel dev-bord is met ingebouwd Wi-Fi voor minder dan $ 10? Nou, dat is er. Lees verder ).

Open nu het zelfstandige ESP8266-script dat Blynk in hun bibliotheek heeft verstrekt door naar te navigeren Bestand> Voorbeelden> Blynk> Boards_WiFi> ESP8266_Standalone. Vervang de tijdelijke aanduiding voor de autorisatietoken door degene die u via e-mail heeft ontvangen en voer uw wifi-gegevens in.

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

Sla de schets op onder een nieuwe naam en upload deze naar je bord. Wanneer u nu op de knop in de app drukt, moet de LED aan en uit gaan. Als het niet werkt, controleer dan of je op het afspeelpictogram in de app hebt gedrukt.

In eenvoudige gevallen zoals deze is Blynk ongelooflijk snel in te stellen.

blynk nodemcu klaar

Het is ook vermeldenswaard dat aangezien dit de Blynk-server gebruikt, u uw bord overal kunt bedienen, zolang het bord toegang heeft tot de wifi-verbinding van uw huis en uw smartphone mobiele gegevens heeft toegang.

Blynk op de Raspberry Pi

U kunt Blynk op precies dezelfde manier gebruiken als in het bovenstaande voorbeeld op de Raspberry Pi met behulp van de Blynk-test script, maar er zijn enkele diepere functionaliteiten die de virtuele pinnen van Blynk bieden, waar we naar zullen kijken nu.

Blynk werkt met Node.js, dus de code die we vandaag zullen schrijven, staat in Javascript. Als je nieuw bent in de taal, dit zou een geweldige inleiding moeten zijn om te beginnen Begin nu met het coderen van JavaScript met deze 5 geweldige gratis bronnen Lees verder .

We zullen de Blynk-bibliotheek gebruiken om een ​​app te maken die meldt of een deursensor open of gesloten is, en stuurt een e-mail en push-melding naar uw mobiele telefoon wanneer de deur opengaat.

Je zal nodig hebben:

  • Deurmagneetschakelaar (ook bekend als reedschakelaar)
  • 1x 1k? weerstand
  • 1x 10k? weerstand
  • 1x 220? weerstand
  • 1x LED
  • Breadboard en aansluitdraden

Stel je breadboard als volgt in:

pi frituren

Merk op dat de bibliotheek van Blynk de GPIO-nummers van de Pi-pinnen gebruikt, dus we zullen ze tijdens dit project gebruiken. Sluit de 5V- en GND-pinnen aan op de stroomrails op het breadboard. Sluit GPIO pin 22 op de Raspberry Pi aan op de LED-anode en verbind de kathode via de 220 met de grondrail? weerstand. Verbind GPIO pin 17 met één kant van de 1k? weerstand, en sluit de 10? weerstand aan de andere kant en de 5V-kant van de stroomrail. Sluit ten slotte uw reed-schakelaar aan op de GND-kant van de stroomrail aan één kant en op de lijn waar de 1k? en 10k? weerstanden ontmoeten elkaar aan de andere kant. Deze pull-up weerstandsinstelling zorgt ervoor dat de spanning op pin 17 hoog uitleest wanneer de schakelaar wordt geopend.

Maak een nieuw project in de Blynk-app en selecteer je Raspberry Pi-bord. Selecteer in het widgetmenu een gelabelde waarde, e-mail en een meldingswidget

Selecteer de gelabelde waarde, geef deze een naam en kies virtuele pin V0 als invoerpin. U kunt ook wijzigen hoe de informatie wordt weergegeven. In dit geval voegt u "De deur is" toe voor / pin / op het tabblad Label. We kunnen de waarde van de leesfrequentie laten staan ​​op de standaardinstelling, maar u kunt dit wijzigen om gegevens met een andere snelheid naar uw app te verzenden.

Het is vermeldenswaard dat u niet echt een e-mailadres hoeft in te voeren in de e-mailwidget, omdat we dit later aan de code zullen toevoegen, hoewel de widget aanwezig moet zijn om te kunnen werken.

Als je tevreden bent met hoe je app eruitziet, druk je op de afspeelknop in de rechterbovenhoek.

project gelabelde waarde

Maak nu een nieuw script genaamd blynkdoor.js. De volledige code is volledig geannoteerd beschikbaar hier.

sudo nano blynkdoor.js. 

We moeten beginnen met het importeren van de Blynk-bibliotheek, het toevoegen van onze autorisatiesleutel en het maken van een instantie van Blynk voor gebruik in ons script.

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

We moeten ook de OnOff-bibliotheek importeren en variabelen declareren die onze reed-schakelaar en LED instellen. We maken ook een variabele voor de virtuele pin die we hebben ingesteld in de Blynk-app.

var Gpio = vereist ('aan uit'). Gpio, reed = nieuwe Gpio (17, 'in', 'beide'), // registerwijzigingen 'beide' wanneer de schakelaar wordt geopend en gesloten. led = nieuwe GPIO (22, 'out'); var virtualPin = 0; 

Nu gaan we de gebruiken kijk maar functie uit de OnOff-bibliotheek om te kijken naar veranderingen in onze reed-schakelaar. De deurschakelaar staat ofwel op 0 of 1, en wanneer die waarde verandert, schrijven we die wijziging naar de LED-pin.

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

We kunnen de waarde gebruiken om ook gegevens naar de Blynk-app te sturen. Als de deur gesloten is, willen we dat kunnen zien in uw Labeled Value-widget. Als de deur opengaat, willen we een melding en een e-mail ontvangen. We doen dit met een if-statement en met virtualWrite, informeren, en e-mail functies uit de Blynk-bibliotheek. De volledige documentatie voor Blynk is te vinden hier.

 if (value == 0) {blynk.virtualWrite (virtualPin, "Closed"); console.log ('Door Closed'); }; if (value == 1) {blynk.notify ("De deur is net geopend!"); blynk.email ("[email protected]", "Voordeur", "De voordeur is net geopend."); blynk.virtualWrite (virtualPin, "Open"); console.log ('Door Open'); }; }); 

Telkens wanneer de reed-schakelaar een waardeverandering registreert, worden de gegevens naar onze virtuele pin gestuurd en naar binnen het geval van het openen van de deur naar de meldingswidget in de app, evenals schrijven naar de console. Merk op dat de laatste accolades zijn waar we begonnen kijk maar functie hierboven.

Ten slotte moeten we de pin opnieuw instellen wanneer het programma eindigt. Dit is hetzelfde als de GPIO.cleanup () u bent waarschijnlijk al bekend met.

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

Sla nu uw code op en sluit af. Voer uw script uit met een knooppunt.

sudo node blynkdoor.js. 

Wanneer u nu de magneet van de reed-sensor weg beweegt, zou u een melding moeten krijgen dat de deur is geopend en dat uw gelabelde display moet veranderen. Sluit de schakelaar opnieuw en u zult zien dat het gelabelde scherm weer verandert.

pi werkende gif

Het is vermeldenswaard dat de Blynk-app op uw telefoon moet worden uitgevoerd om de pushmeldingen te ontvangen, hoewel de e-mails werken, ongeacht of de app actief is of niet.

In de korte tijd die tot nu toe met Blynk is doorgebracht, lijkt het een zeer gemakkelijke service te gebruiken. Op zijn eenvoudigst kunnen mensen zonder codeerkennis eenvoudig zelf domoticasystemen bouwen. Met een beetje extra codeerkennis wordt het nog krachtiger, waardoor veel complexere systemen en meerdere gebeurtenistriggers mogelijk zijn door met één druk op de knop in de app.

Dit project was een basisintroductie van Blynk, hoewel wat we hier hebben besproken gemakkelijk kan worden aangepast voor bijna elk huisautomatiserings- of microcontrollerproject.

Heb je Blynk gebruikt? Heb je een gek complex systeem dat de service gebruikt die je met ons wilt delen? Laat het ons weten in de reacties hieronder!

Afbeelding tegoed: Giuseppe Caccavale via YouTube.com

Ian Buckley is freelance journalist, muzikant, artiest en videoproducent en woont in Berlijn, Duitsland. Als hij niet schrijft of op het podium staat, sleutelt hij aan doe-het-elektronica of code in de hoop een gekke wetenschapper te worden.