Kom godt i gang med Blynk: Enkle DIY IoT -enheder

Kom godt i gang med Blynk: Enkle DIY IoT -enheder

Blynk [Broken URL Removed] er en Internet of Things (IoT) -tjeneste designet til at gøre fjernbetjening og læsning af sensordata fra dine enheder så hurtigt og let som muligt. I denne artikel vil vi dække præcis, hvad Blynk er, hvordan det fungerer, og give to korte eksempelprojekter om forskellige anvendelser af tjenesten med NodeMCU og Raspberry Pi udviklingstavler.





Det har aldrig været lettere at begynde at udvikle smarte objekter ved hjælp af mikrokontroller, og IoT -enheder er hurtigt vokset i popularitet i løbet af de seneste år. Udviklingstavler som Arduino eller Raspberry Pi kan bruges til at styre alt lige fra stikkontakterne i dit hjem til bevægelsesaktiveret julepynt.





Et område, der kan udgøre et problem for de uindviede, er kodning og netværk. Blynk sigter mod at fjerne behovet for omfattende kodning og gøre det let at få adgang til dine enheder overalt på din smartphone. Det er gratis at bruge for hobbyfolk og udviklere, selvom det også er muligt at bruge kommercielt mod et gebyr - virksomheder kan bruge Blynk til at oprette deres egne apps og systemer og derefter sælge dem med deres egen branding.





Blynk bruger sin egen server og bibliotek for at få tjenesten til at fungere, men det er Blynk -appen, der synes at være dens vigtigste styrke.

Gå ind i Blynk -appen

Blynk -appen er gratis tilgængelig på Android og iOS. Det er udgangspunktet for dine projekter med et brugervenligt træk og slip -system til opbygning af brugerdefinerede kontroller til din IoT -opsætning. Arbejdsgangen er hurtig: Når du starter et nyt projekt, bliver du bedt om at vælge dit udviklingsbord fra en omfattende liste og også din forbindelsesmetode. Appen sender derefter et autorisationstoken via e -mail til forbindelse til din enhed via Blynk -serveren.



spil, der ikke behøver flash player

Kontrolelementer kaldes Widgets : forskellige typer inputmetoder og outputdisplay herunder knapper, skyder, et joystick, grafer og tekstfeedback. Der er også komponentspecifikke widgets med stiliserede kontroller til LED'er, LCD -skærme og endda livestreamet video. Også bemærkelsesværdige er widgets, der tilføjer funktioner, f.eks. Automatisk opslag på Twitter og brugerdefinerede meddelelser.

Selvom appen er gratis, begrænser den, hvor mange widgets du kan bruge på én gang ved at give dem alle en 'Energi' pris. App'en giver dig en balance på 2.000 at spille med, med mulighed for at købe mere, hvis det er nødvendigt.





Jeg fandt ud af, at den angivne startbalance var mere end nok til de eksempelprojekter, der er angivet her, men hvis din opsætning er mere kompliceret, kan du komme til at løbe tør for juice ganske hurtigt.

Hver widget har en redigeringsmenu, der giver dig mulighed for at ændre navn og farve. Du vælger derefter hvilken pin, der skal påvirkes (uanset om det er en pin på dit board eller en af ​​Blynks virtuelle pins) sammen med værdierne, der skal sendes. For outputdisplays som grafer og tekstbokse kan du også vælge, hvor ofte du vil have det opdateret, hvilket muligvis sparer dyrebar båndbredde.





Blynk har også mulighed for at tildele instruktioner til 'virtuelle' pins, som er brugerkonfigurerede forbindelser mellem appen og hardwaren. En enkelt knap i appen kan derfor bruges til at udløse mange forskellige hændelser på enheden. Vi vil dække, hvordan du bruger dem senere i artiklen.

Appen giver mulighed for at dele dit projekt med andre. Der genereres en QR -kode, som kan sendes via e -mail eller scannes direkte og bruges af alle, der også har Blynk -appen. Den, du deler med, kan ikke foretage ændringer i projektet, hvilket gør det til en hurtig og bekvem måde at dele kontrol over dine enheder. Det er dog værd at bemærke, at dit projekt i appen skal køre for at andre skal have adgang til hardwaren.

Du kan også dele projektet uden at give adgang til din hardware, hvilket er en fantastisk måde at lære folk at bruge appen på uden at lade dem tænde og slukke dine lys!

Jeg fandt oprettelse af en app meget hurtig og intuitiv. Når den er oprettet, kan du begynde at bruge den med det samme ved at trykke på afspilningssymbolet i øverste højre hjørne. Hvis du har brug for at foretage ændringer senere, kan du blot trykke på den samme knap for at gå tilbage til redigeringstilstand.

Blynk -serveren

Når du har oprettet en app til at styre din enhed, har du to muligheder for, hvordan du kommunikerer med den.

Blynk -cloud -serveren er hurtig, lydhør og gratis at bruge. Tilslutning til en Wi-Fi-enhed er lige så let som at kopiere din genererede autorisationskode til din Arduino-skitse og give dine Wi-Fi-detaljer. For Raspberry Pi leverer Blynk et test script, som du kan køre med din autorisationskode med samme effekt. Senere i denne artikel vil vi oprette vores eget script ved hjælp af Blynk -biblioteket for at oprette forbindelse til tjenesten.

Den anden mulighed er at vært din egen Blynk server. Blynk leverer en open source Netty -baseret Java -server, der kan køres fra din computer eller endda en Raspberry Pi. Dette har forskellige fordele for nogle brugere med hensyn til funktionalitet og sikkerhed, selvom vi i vores eksempler her vil koncentrere os om at bruge den medfølgende Blynk -cloud -server.

Blynk -biblioteket

Det tredje og sidste element i Blynk er Blynk bibliotek . Dette bibliotek fungerer med en enorm liste over udviklingstavler for at tillade kommunikation mellem appen og din hardware.

På sin enkleste måde er alt, hvad der kræves, at installere biblioteket og indlæse en af ​​de godt kommenterede eksempelskitser.

Blynk: Første opsætning

Installer Blynk -appen på din smartphone, og opret en konto. Sørg for at bruge en e -mail -adresse, som du faktisk kan få adgang til, da det er dér, hvor dine autorisationstokener vil blive sendt. Opret nu et projekt, vælg hvilket kort du vil bruge, og hvordan du vil oprette forbindelse til det. Begge eksempler her forbinder via Wi-Fi, selvom forbindelser via Bluetooth, Ethernet og endda GSM også er mulige.

Opret dit projekt. Dette sender automatisk et autorisationstoken. Hvis du ikke modtager det, kan du sende det igen ved at vælge ikonet for projektindstillinger (den lille møtrik), vælge din enhed og vælge 'E-mail'.

Installer derefter Blynk -bibliotekerne fra Blynk -webstedet. For Arduino skal du installere biblioteket ved at kopiere filerne til din Arduino> biblioteker folder. Hvis du er ny i Arduino, er her en guide til at komme i gang .

For Raspberry Pi skal du sørge for at have Node.js installeret først. Der er en guide til installeret Node.js i denne artikel, hvis du har brug for det.

Først og fremmest skal du sørge for, at din Pi er opdateret, og at den nødvendige pakke er installeret.

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

Installer derefter Node Package Manager , det Tænd sluk bibliotek, og Blinke bibliotek ved at skrive dette i dit Terminal -vindue.

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

Du kan kontrollere, at alt har fungeret ved at køre Blynk -test scriptet:

blynk.js [YourAuthorizationTokenHere]

Forudsat at alt fungerer, skal det se sådan ud:

Hvis du får fejl, skal du sørge for, at din Pi er opdateret, og at du har den seneste version af Node.js installeret, før du geninstallerer NPM-, OnOff- og Blynk -bibliotekerne.

Hurtig opsætning med NodeMCU

Dette første eksempel viser, hvor hurtigt det er at konfigurere simple systemer ved hjælp af Blynk. Det kræver ingen kodning, og når det er installeret, er det helt alene. Så længe kortet har adgang til din Wi-Fi-forbindelse, kan du få adgang til det overalt ved hjælp af din smartphone.

Til at begynde med skal du oprette et simpelt kredsløb på et brødbræt. Tilslut pin D0 til det positive ben på en LED og tilbage til GND -stiften gennem en 220 Ohm modstand.

Åbn dit NodeMCU -projekt i Blynk -appen. Vælg den i højre side Knap widget fra menuen. Vælg din knap i dit projekt for at åbne dens egenskabsmenu. Her kan du navngive det og vælge, hvilken pin på dit NodeMCU -kort det skal påvirke. Vælg pin D0 fra outputlisten og switch -tilstand for at gøre det til en tænd- og slukkontakt i stedet for en kortvarig trykkontakt.

Tryk tilbage (alle ændringer gemmes automatisk), tryk derefter på afspilningsikonet i øverste højre hjørne for at starte din app. Du kan til enhver tid trykke på den samme knap for at gå tilbage til redigering af dit projekt.

Åbn derefter Arduino IDE og vælg dit NodeMCU -kort og port fra værktøjsmenuen. Hvis du ikke kan se dit board i denne menu, skal du muligvis installere ESP8266 -bibliotekerne (denne vejledning skal hjælpe).

Åbn nu det selvstændige ESP8266 -script, Blynk leverede i deres bibliotek ved at navigere til Fil> Eksempler> Blynk> Boards_WiFi> ESP8266_Standalone . Erstat pladsholderen for autorisationstokenet med det, du har modtaget via e-mail, og indtast dine Wi-Fi-oplysninger.

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

Gem skitsen under et nyt navn, og upload den til dit bord. Når du nu trykker på knappen i appen, skal LED'en tænde og slukke. Hvis det ikke virker, skal du kontrollere, at du har trykket på afspilningsikonet i appen.

I enkle tilfælde som disse er Blynk utrolig hurtig at oprette.

Det er også værd at bemærke, at da dette bruger Blynk-serveren, kan du styre dit kort hvor som helst, så længe kortet har adgang til din Wi-Fi-forbindelse i hjemmet, og din smartphone har adgang til mobildata.

Blynk på Raspberry Pi

Du kan bruge Blynk nøjagtigt på samme måde som i ovenstående eksempel på Raspberry Pi ved at bruge Blynk -test scriptet, men der er nogle dybere funktioner, som Blynks virtuelle pins giver, som vi vil se nærmere på nu.

Blynk arbejder med Node.js, så den kode, vi skriver i dag, vil være i Javascript. Hvis du er ny inden for sproget, bør dette være en god primer til at komme i gang.

Vi vil bruge Blynk -biblioteket til at oprette en app, der rapporterer, om en dørsensor er åben eller lukket, og sender en e -mail og push -meddelelse til din mobiltelefon, når døren åbnes.

Du får brug for:

  • Dørmagnetkontakt (også kendt som sivkontakt)
  • 1x 1k? modstand
  • 1x 10k? modstand
  • 1x 220? modstand
  • 1x LED
  • Brødbræt og tilslutningstråde

Opsæt dit brødbræt sådan:

hvordan man downloader kindle -bøger til pdf

Bemærk, at Blynks bibliotek bruger GPIO -numrene på Pi's pins, så vi vil bruge dem i hele dette projekt. Tilslut 5V- og GND -benene til strømskinnerne på brødbrættet. Tilslut GPIO pin 22 på Raspberry Pi til LED -anoden, og tilslut katoden til jordskinnen gennem 220? modstand. Tilslut GPIO pin 17 til den ene side af 1k? modstand, og tilslut 10? modstand til den anden side og 5V -siden af ​​kraftskinnen. Til sidst skal du slutte din reed -switch til GND -siden af ​​strømskinnen på den ene side og på linjen, hvor 1k? og 10k? modstande mødes på den anden. Denne pull-up modstandsopsætning får spændingen på pin 17 til at læse højt, når kontakten åbnes.

Opret et nyt projekt i Blynk -appen, og vælg dit Raspberry Pi -kort. Vælg en mærket værdi, e -mail og en meddelelseswidget i widgetmenuen

Vælg den mærkede værdi, navngiv den, og vælg virtuel pin V0 som det er input pin. Du kan også ændre, hvordan oplysningerne vises. I dette tilfælde tilføjes 'Døren er' før / pin / i fanen Etiket. Vi kan lade værdien Læsefrekvens forblive på standardindstillingen, selvom du kan ændre dette for at sende data til din app med en anden hastighed.

Det er værd at bemærke, at du faktisk ikke behøver at indtaste en e -mail -adresse i e -mail -widgeten, da vi tilføjer den til koden senere, selvom widgetten skal være til stede for at den kan fungere.

Når du er tilfreds med, hvordan din app ser ud, skal du trykke på knappen Afspil i øverste højre hjørne.

Opret nu et nyt script kaldet blynkdoor.js . Den fulde kode er tilgængelig fuldt kommenteret her .

sudo nano blynkdoor.js

Vi skal starte med at importere Blynk -biblioteket, tilføje vores autorisationsnøgle og oprette en forekomst af Blynk, der skal bruges i vores script.

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

Vi er også nødt til at importere OnOff -biblioteket og erklære variabler, der opsætter vores reed -switch og LED. Vi opretter også en variabel til den virtuelle pin, vi konfigurerede på Blynk -appen.

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;

Nu skal vi bruge holde øje funktion fra OnOff -biblioteket for at se efter ændringer i vores reed -switch. Dørkontakten er enten kl 0 eller 1 , og når denne værdi ændres, skriver vi denne ændring til LED -stiften.

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

Vi kan bruge værdien til også at sende data til Blynk -appen. Hvis døren er lukket, vil vi gerne kunne se det i din widget med mærket værdi. Hvis døren åbner, vil vi modtage en meddelelse og e -mail, der fortæller os det. Vi gør dette med en if -sætning og ved hjælp af virtualWrite , underrette , og e -mail funktioner fra Blynk -biblioteket. Den fulde dokumentation for Blynk findes her .

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');
};
});

Når reed -switch'en registrerer en værdiændring, sendes dataene nu til vores virtuelle pin og i tilfælde af, at døren åbnes til meddelelseswidgeten i appen, samt skriver til konsollen. Bemærk, at de sidste seler er fra, hvor vi startede holde øje funktion ovenfor.

Endelig skal vi nulstille nålen, når programmet slutter. Dette er det samme som GPIO.cleanup () du kender sikkert allerede.

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

Gem nu din kode og afslut. Kør dit script ved hjælp af node.

sudo node blynkdoor.js

Når du nu flytter magneten væk fra sivsensoren, skal du få en meddelelse, der fortæller dig, at døren er åbnet, og dit mærkede display skal ændres. Luk kontakten igen, og du vil se, at det mærkede display ændres igen.

Det er værd at bemærke, at Blynk -appen skal køre på din telefon for at modtage push -meddelelser, selvom e -mails fungerer, uanset om appen kører eller ej.

I den korte tid, der hidtil er brugt med Blynk, virker det som en meget let service at bruge. På det enkleste giver folk uden kodningskendskab let mulighed for at bygge DIY hjemmeautomatiseringssystemer let. Med lidt ekstra kodningskendskab bliver det endnu mere kraftfuldt, hvilket giver mulighed for meget mere komplekse systemer og flere hændelsesudløsere fra tryk på enkelte knapper i appen.

Dette projekt var en grundlæggende introduktion til Blynk, selvom det vi har dækket her let kan ændres til næsten ethvert hjemmeautomatiserings- eller mikrokontrollerprojekt.

Har du brugt Blynk? Har du et vanvittigt komplekst system, der bruger den service, som du gerne vil dele med os? Lad os vide det i kommentarerne herunder!

Billedkredit: Giuseppe Caccavale via YouTube.com

Del Del Tweet E -mail Canon vs Nikon: Hvilket kameramærke er bedre?

Canon og Nikon er de to største navne i kameraindustrien. Men hvilket mærke tilbyder den bedre serie af kameraer og objektiver?

Læs Næste
Relaterede emner
  • gør det selv
  • Smart hjem
  • Arduino
  • Hindbær Pi
  • Hjemmeautomatisering
  • Internet of Things
  • Elektronik
Om forfatteren Ian Buckley(216 artikler udgivet)

Ian Buckley er freelance journalist, musiker, performer og videoproducent bosat i Berlin, Tyskland. Når han ikke skriver eller på scenen, piller han med DIY -elektronik eller kode i håb om at blive en gal videnskabsmand.

Mere fra Ian Buckley

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere