Reklame

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å hurtig og nem som muligt. I denne artikel vil vi dække præcist, hvad Blynk er, hvordan det fungerer og give to korte eksempler på projekter om forskellige anvendelser af tjenesten med NodeMCU og Raspberry Pi-udviklingsborde.

Det har aldrig været lettere at begynde at udvikle smarte objekter ved hjælp af mikrokontrollere, og IoT-enheder er hurtigt vokset i popularitet i de senere år. Udviklingsborde som Arduino eller Raspberry Pi kan bruges til at kontrollere alt fra stikkontakter Sådan styres billige RF-stikkontakter fra OpenHABHar du nogle billige RF-baserede stikkontakter, men opdagede, at ingen smarte hjemmeknapper fungerer sammen med dem? Du kan linke dem til dit DIY-intelligente hjemmesystem med kun omkring $ 10 i dele. Læs mere i dit hjem til bevægelsesaktiveret Julepynt Opgrader din julekrans med en bevægelsesaktiveret LED-matrix

instagram viewer
Denne DIY-julekrans bruger en Arduino- og LED-matrix til at fremstille en fantastisk lysdisplay, der vil imponere dine venner og familie. Læs mere .

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 til hobbyister og udviklere, selvom det også er tilgængeligt at bruge kommercielt til en gebyr - virksomheder kan bruge Blynk til at oprette deres egne apps og systemer og derefter sælge dem med deres egne branding.

Blynk bruger dets egen server og bibliotek for at få tjenesten til at fungere, men det er Blynk-appen, der ser ud til at være dets største styrke.

Gå ind i Blynk-appen

Blynk-appen er gratis tilgængelig på Android og iOS. Det er udgangspunktet for dine projekter, der indeholder et let at bruge 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 udviklingspanel fra en omfattende liste, og også din forbindelsesmetode. Appen sender derefter en autorisationstoken via e-mail til forbindelse til din enhed via Blynk-serveren.

Kontrolelementer kaldes Widgets: forskellige typer inputmetoder og outputdisplay inklusive knapper, skyder, en joystick, grafer og tekstfeedback. Der er også komponentspecifikke widgets med stiliserede kontroller til LEDS, LCD-skærme og endda live-streamet video. Der er også bemærkelsesværdige widgets, der tilføjer funktioner, såsom automatisk bogføring på Twitter og tilpassede underretninger.

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

Jeg fandt, at den tilvejebragte startbalance var mere end nok for de nævnte eksempler på projekter her, selvom hvis dit setup er mere kompliceret, kan du måske finde dig selv i at løbe tør for juice hurtigt.

widgets og knap blynk

Hver widget har en redigeringsmenu, der giver dig mulighed for at ændre navn og farve. Derefter vælger du hvilken pin, der skal påvirkes (uanset om det er en pin på dit bord eller en af ​​Blynks virtuelle stifter) sammen med det interval af værdier, der skal sendes. For outputdisplay som grafer og tekstbokse kan du også vælge, hvor ofte du ønsker det skal opdateres, hvilket potentielt sparer dyrebar båndbredde.

Blynk har også muligheden for at tildele instruktioner til “virtuelle” stifter, som er brugerkonfigurerede forbindelser mellem appen og hardwaren. En enkelt knap i appen kan derfor bruges til at udløse mange forskellige begivenheder på enheden. Vi beskriver, hvordan vi bruger disse 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 hardware.

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

Jeg fandt at oprette en app meget hurtig og intuitiv. Når du er oprettet, kan du begynde at bruge det straks ved at trykke på play-symbolet i øverste højre hjørne. Hvis du skal foretage ændringer senere, kan du blot trykke på den samme knap for at vende tilbage til redigeringsfunktion.

Blynk-serveren

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

Blynk-skyserveren er hurtig, lydhør og gratis at bruge. Det er lige så nemt at oprette forbindelse til en Wi-Fi-enhed som at kopiere din genererede tilladelseskode til din Arduino-skitse og give dine Wi-Fi-detaljer. For Raspberry Pi leverer Blynk et testscript, som du kan køre med din tilladelseskode med samme effekt. Senere i denne artikel opretter vi vores eget script ved hjælp af Blynk-biblioteket til 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, men for vores eksempler her vil vi koncentrere os om at bruge Blynk sky-server stillet til rådighed.

blynk hjemmeside

Blynk-biblioteket

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

På det enkleste er alt det, der kræves, at installere biblioteket og indlæse en af ​​de medfølgende godt annoterede eksempler.

Blynk: Første opsætning

Installer Blynk-appen på din smartphone, og opret en konto. Sørg for, at du bruger en e-mail-adresse, som du faktisk kan få adgang til, da det er her, dine autorisationstegn sendes. Opret nu et projekt, vælg hvilket bord du skal bruge, og hvordan du opretter forbindelse til det. Begge eksempler her opretter forbindelse via Wi-Fi, skønt forbindelser via Bluetooth, Ethernet og endda GSM også er mulige.

Opret dit projekt. Dette sender automatisk en autorisationstoken. Hvis du ikke modtager den, kan du sende den igen ved at vælge projektindstillingsikonet (den lille nød), 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 dit Arduino> biblioteker folder. Hvis du er ny med Arduino, her er en guide til at komme i gang Kom godt i gang med Arduino: En begynderguideArduino er en open source-elektronikprototypeplatform baseret på fleksibel, letanvendelig hardware og software. Det er beregnet til kunstnere, designere, hobbyister og enhver, der er interesseret i at skabe interaktive objekter eller miljøer. Læs mere .

For Raspberry Pi skal du sørge for, at du først har Node.js installeret. Der er en guide til installeret Node.js i denne artikel Sådan fremstilles en DIY Siri-kontrolleret Wi-Fi-lysI denne vejledning lærer du, hvordan du opretter et Wi-Fi-kontrollerbart lys og styrer det med Siri. Læs mere skulle du have brug for det.

For det første skal du sikre dig, at din Pi er opdateret og har den build-essential-pakke installeret.

sudo apt-get-opdatering. sudo apt-get-opgradering. sudo apt-get install build-essential. 

Installer derefter Node Package Manager, det Tænd sluk bibliotek og Blynk bibliotek ved at skrive dette i dit terminalvindue.

sudo npm installation -g npm. sudo npm installation -g onoff. sudo npm installere -g blynk-bibliotek. 

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

blynk.js [YourAuthorizationTokenHere] 

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

blynk pi blynk test script

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

Hurtig opsætning med NodeMCU

Dette første eksempel viser, hvor hurtigt det er at opsætte enkle systemer ved hjælp af Blynk. Det kræver ingen kodning, og når den først er konfigureret, er den helt alene. Så længe tavlen har adgang til din Wi-Fi-forbindelse, kan du få adgang til den hvor som helst ved hjælp af din smartphone.

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

nodemcu fritzing

Åbn dit NodeMCU-projekt i Blynk-appen. På højre side skal du vælge Knap widget fra menuen. Vælg din knap i dit projekt for at åbne menuen Egenskaber. 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 switchtilstand for at gøre det til en tænd / sluk-kontakt i stedet for en øjeblikkelig push-switch.

Tryk tilbage (alle ændringer gemmes automatisk), og tryk derefter på afspilningsikonet i øverste højre hjørne for at starte din app. Du kan når som helst 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 i værktøjsmenuen. Hvis du ikke ser dit bord i denne menu, skal du muligvis installere ESP8266-bibliotekerne (denne vejledning skal hjælpe Mød Arduino Killer: ESP8266Hvad hvis jeg fortalte dig, at der er et Arduino-kompatibelt dev-kort med indbygget Wi-Fi for mindre end $ 10? Det er der. Læs mere ).

Åbn nu ESP8266-standalone-scriptet, Blynk leverede i deres bibliotek ved at navigere til Fil> Eksempler> Blynk> Boards_WiFi> ESP8266_Standalone. Udskift pladsholderen for autorisationstoken med den, du har modtaget via e-mail, og indtast dine Wi-Fi-oplysninger.

char autor [] = "DinAuthToken"; char ssid [] = "Dit netværksnavn"; 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 fungerer, skal du kontrollere, at du har trykket på play-ikonet i appen.

I enkle tilfælde som disse er Blynk utroligt hurtig at konfigurere.

blynk nodemcu færdig

Det er også værd at bemærke, at da denne bruger Blynk-serveren, kan du styre dit bord overalt, så længe brættet har adgang til din Wi-Fi-forbindelse til hjemmet, og din smartphone har mobildata adgang.

Blynk på Raspberry Pi

Du kan bruge Blynk nøjagtigt på samme måde som i ovenstående eksempel på Raspberry Pi ved hjælp af Blynk-testen script, men der er nogle dybere funktioner, som Blynks virtuelle ben giver, som vi vil undersøge nu.

Blynk fungerer ved hjælp af Node.js, så koden, vi skriver i dag, er i Javascript. Hvis du er ny på sproget, dette burde være en god grund til at komme i gang Start kodning af JavaScript lige nu med disse 5 fantastiske gratis ressourcer Læs mere .

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

Du får brug for:

  • Dørmagnetkontakt (også kendt som reed switch)
  • 1x 1k? modstand
  • 1x 10k? modstand
  • 1x 220? modstand
  • 1x LED
  • Breadboard og hookup ledninger

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

pi fritzing

Bemærk, at Blynks bibliotek bruger GPIO-numrene på Pi-stifterne, så vi vil bruge dem i hele dette projekt. Tilslut 5V- og GND-stifterne 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 mod den anden side, og 5V-siden af ​​strømskinnen. Tilslut slut din reed-switch til GND-siden af ​​strømskinnen på den ene side og på den linje, hvor 1k? og 10k? modstande mødes på den anden. Denne opsamlingsmodstandsopsætning får spændingen på stiften 17 til at læse højt, når afbryderen åbnes.

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

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 informationen vises. I dette tilfælde tilføjes "Døren er" før / fastgør / i fanen Etiketter. Vi kan efterlade værdien for læsefrekvens som standardindstilling, selvom du kan ændre dette for at sende data til din app i 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 widget'en 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 Play i øverste højre hjørne.

projekt mærket værdi

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

sudo nano blynkdoor.js. 

Vi er nødt til at 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 = kræver ('/ usr / local / lib / node_modules / blynk-bibliotek'); var AUTH = 'PasteAuthorizationCodeHere' var blynk = ny blynklib. Blynk (AUTH); 

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

var Gpio = kræve ('onoff'). Gpio, reed = ny Gpio (17, 'in', 'begge'), // register ændrer 'begge', når kontakten åbnes og lukkes. led = ny Gpio (22, 'ud'); var virtualPin = 0; 

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

reed.watch (funktion (err, værdi) {led.writeSync (værdi); 

Vi kan bruge værdien til også at sende data til Blynk-appen. Hvis døren er lukket, vil vi være i stand til at se det i din widget med mærket værdi. Hvis døren åbnes, ønsker vi at modtage en anmeldelse og e-mail, der fortæller os. Vi gør dette med en if-erklæring og med virtualWrite, underrette, og e-mail funktioner fra Blynk-biblioteket. Den fulde dokumentation til Blynk kan findes her.

 if (værdi == 0) {blynk.virtualWrite (virtualPin, "Lukket"); console.log ('Dør lukket'); }; if (værdi == 1) {blynk.notify ("Døren er lige åbnet!"); blynk.email ("[email protected]", "Front Door", "Frontdøren lige er åbnet."); blynk.virtualWrite (virtualPin, "Open"); console.log ('Door Open'); }; }); 

Hver gang reed-kontakten registrerer en ændring af værdien, sendes dataene til vores virtuelle pin og ind tilfældet med døren til åbningen af ​​meddelelseswidgeten i appen samt skrivning til konsollen. Bemærk, at de sidste seler er fra hvor vi startede kigge på funktion ovenfor.

Endelig er vi nødt til at nulstille stiften, når programmet slutter. Dette er det samme som GPIO.cleanup () du er sandsynligvis allerede bekendt med.

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

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

sudo node blynkdoor.js. 

Når du nu bevæger magneten væk fra rørsensoren, skal du få en meddelelse, der fortæller dig, at døren blev åbnet, og din mærkede skærm skal ændres. Luk kontakten igen, så ser du, at det mærkede display ændres igen.

pi arbejder gif

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.

På den korte tid, der er brugt indtil videre med Blynk, ser det ud til at være en meget nem service at bruge. Det er på det mest enkle tillader, at folk uden kodningskendskab let kan bygge DIY-hjemmeautomatiseringssystemer. Med lidt ekstra kodningskendskab bliver det endnu mere kraftfuldt, hvilket giver mulighed for meget mere komplekse systemer og flere begivenhedsudløsere fra et enkelt tryk på knappen i appen.

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

Har du brugt Blynk? Har du et vanvittigt komplekst system, der bruger den service, du gerne vil dele med os? Fortæl os det i kommentarerne nedenfor!

Billedkredit: Giuseppe Caccavale via YouTube.com

Ian Buckley er freelance journalist, musiker, kunstner og videoproducent bosiddende i Berlin, Tyskland. Når han ikke skriver eller er på scenen, tænker han med DIY-elektronik eller kode i håbet om at blive en gal videnskabsmand.