Kom i gang med Blynk: Simple DIY IoT-enheder

Blynk er en service til internettet (IoT), der er designet til at gøre fjernbetjeningen og læse sensordata fra dine enheder så hurtigt og nemt som muligt.

Blynk er en service til internettet (IoT), der er designet til at gøre fjernbetjeningen og læse sensordata fra dine enheder så hurtigt og nemt som muligt.
Reklame

Blynk er en service til internettet (IoT), der er designet til at gøre fjernbetjeningen og læse sensordata fra dine enheder så hurtigt og nemt som muligt. I denne artikel vil vi dække præcis, hvad Blynk er, hvordan det virker, og give to korte eksempelprojekter om forskellige anvendelser af tjenesten med NodeMCU og Raspberry Pi udviklingsbrædder.

Det har aldrig været lettere at begynde at udvikle smarte genstande ved hjælp af mikrocontrollere, og IoT-enheder er hurtigt vokset i popularitet de seneste år. Udviklingsbræt som Arduino eller Raspberry Pi kan bruges til at styre alt fra stikkontakterne Sådan kontrolleres billige RF strømstikkontakter fra OpenHAB Sådan kontrolleres billige RF strømstikkontakter fra OpenHAB Har nogle billige RF-baserede stikkontakter, men opdagede, at der ikke er nogen klare hjemmehubber med dem? Du kan forbinde dem med dit DIY smart home system med kun omkring $ 10 i dele. Læs mere i dit hjem til bevægelsesaktiverede julepynt Opgrader julekronen med en bevægelsesaktiveret LED Matrix Opgrader julekronen med en bevægelsesaktiveret LED Matrix Denne DIY Jul krans bruger en Arduino og LED matrix til at producere 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 på at fjerne behovet for omfattende kodning, og gør det nemt at få adgang til dine enheder fra hvor som helst på din smartphone. Det er gratis at bruge til hobbyister og udviklere, selvom det også er tilgængeligt for kommercielt brug for et gebyr - virksomheder kan bruge Blynk til at oprette deres egne apps og systemer og så sælge dem med deres egne 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 den største styrke.

Indtast Blynk App

Blynk-appen er tilgængelig gratis på Android og iOS. Det er udgangspunktet for dine projekter, der indeholder et brugervenligt træk og slipsystem til opbygning af brugerdefinerede betjeningselementer til din IoT-opsætning. Arbejdsgangen er hurtig: Når du starter et nyt projekt, bliver du bedt om at vælge din udviklingsplan fra en omfattende liste, og også din metode til forbindelse. Appen sender derefter en autorisationstegn via e-mail for at oprette forbindelse til din enhed via Blynk-serveren.

Kontrolelementer kaldes Widgets : forskellige typer indgangsmetoder og outputdisplays, herunder knapper, skydere, et joystick, grafer og tekstfeedback. Der er også komponentspecifikke widgets, med stiliserede kontroller til LED'er, LCD-skærme og endda live streamet video. Også bemærkelsesværdige er widgets, der tilføjer funktioner, som automatisk indlæg til Twitter og tilpassede meddelelser.

Mens 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 til at lege med, med mulighed for at købe flere, hvis det er nødvendigt.

Jeg fandt ud af, at udgangssaldoen var mere end nok til de eksempelprojekter, der er angivet her, men hvis dit setup er mere kompliceret, kan du finde dig selv løbe tør for juice ganske hurtigt.

widgets og knappen blynk

Hver widget har en redigeringsmenu, der giver dig mulighed for at ændre navn og farve. Du vælger derefter hvilken pin, der skal påvirke (uanset om det er en pin på dit bord eller en af ​​Blynks virtuelle ben) sammen med række værdier, der skal sendes. Til outputdisplayer som grafer og tekstbokse kan du også vælge, hvor ofte du ønsker at blive opdateret, hvilket muligvis sparer dyrebar båndbredde.

Blynk har også mulighed for at tildele instruktioner til "virtuelle" ben, 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 dækker, hvordan du bruger disse senere i artiklen.

App'en 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 andre at 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 du bruger appen uden at lade dem tænde og slukke lyset!

Jeg fandt at skabe en app meget hurtig og intuitiv. Når du er oprettet, kan du begynde at bruge den straks ved at trykke på play-symbolet øverst til højre. Hvis du har brug for at foretage ændringer senere, kan du blot trykke på den samme knap for at gå tilbage til redigeringstilstand.

The Blynk Server

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

Blynk Cloud Server er hurtig, lydhør og fri til brug. Tilslutning til en Wi-Fi-enhed er lige så nem som at kopiere din genererede autorisationskode til din Arduino-skitse og give dine Wi-Fi-detaljer. Til Raspberry Pi giver Blynk et test script, som du kan køre med din autorisationskode til samme effekt. Senere i denne artikel opretter vi vores eget script ved hjælp af Blynk biblioteket for at oprette forbindelse til tjenesten.

Den anden mulighed er at være vært for 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 hvad angår funktionalitet og sikkerhed, men for vores eksempler her vil vi koncentrere os om at bruge den leverede Blynk cloud server.

blynk hjemmeside

The Blynk Library

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

På det enkleste er alt, hvad der kræves, at installere biblioteket og indlæse en af ​​de godt anførte eksempler på skitser.

Blynk: Indledende opsætning

Installer Blynk-appen på din smartphone og opret en konto. Sørg for, at du bruger en e-mail-adresse, du rent faktisk kan få adgang til, da det er her, hvor dine autorisationsmønstre sendes. Opret nu et projekt, vælg hvilket bord du vil bruge, og hvordan du vil oprette forbindelse til det. Begge eksempler her forbindes via Wi-Fi, selv om tilslutninger via Bluetooth, Ethernet og endda GSM er også mulige.

Opret dit projekt. Dette vil automatisk sende en autorisationstegn. 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 Blynks websted. For Arduino, installer biblioteket ved at kopiere filerne til din Arduino> biblioteksmappe . Hvis du er ny på Arduino, er det en guide til at komme i gang. Kom i gang med Arduino: En nybegyndervejledning Kom i gang med Arduino: En nybegyndervejledning. Arduino er en open source elektronik prototypeplanlægning baseret på fleksibel, brugervenlig hardware og software. Det er beregnet til kunstnere, designere, hobbyister og alle interesserede i at skabe interaktive objekter eller miljøer. Læs mere .

For Raspberry Pi skal du sørge for at have Node.js installeret først. Der er en vejledning til installeret Node.js i denne artikel Sådan laver du et DIY-styret Wi-Fi-lys Sådan laver du et DIY-styret Wi-Fi-lys I denne vejledning skal du lære at oprette en Wi-Fi kontrollerbart lys, og styre det med Siri. Læs mere, hvis du har brug for det.

For det første skal du sørge for, at din Pi er opdateret, og har den byggeværdige pakke installeret.

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

Derefter skal du installere Node Package Manager, OnOff biblioteket og Blynk biblioteket ved at skrive dette ind i dit Terminal vindue.

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

Du kan tjekke alt, hvad der har fungeret ved at køre Blynk test scriptet:

 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 du har den nyeste version af Node.js installeret, før du geninstallerer NPM, OnOff og Blynk biblioteker.

Hurtig opsætning med NodeMCU

Dette første eksempel viser, hvor hurtigt det er at oprette simple systemer ved hjælp af Blynk. Det kræver ingen kodning, og når den er installeret, står den helt alene. Så længe bestyrelsen har adgang til din Wi-Fi-forbindelse, kan du få adgang til den fra hvor som helst 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 pin gennem en 220 ohm modstand.

nodemcu fritzing

Åbn dit NodeMCU-projekt i Blynk-appen. På højre side skal du vælge knappen Widget i menuen. Vælg din knap i dit projekt for at åbne dens egenskaber menu. Her kan du navngive det, og vælge hvilken pin på dit NodeMCU bord, det skal påvirke. Vælg pin D0 fra outputlisten, og skift tilstand for at gøre det til en tænd / sluk-knap, snarere end en kort trykafbryder.

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

Derefter skal du åbne Arduino IDE og vælge dit NodeMCU bord og port fra værktøjsmenuen. Hvis du ikke ser dit kort i denne menu, skal du muligvis installere ESP8266-bibliotekerne (denne vejledning skal hjælpe Mød Arduino Killer: ESP8266 Mød Arduino Killer: ESP8266 Hvad hvis jeg fortalte dig, at der er en Arduino-kompatibel dev board med indbygget Wi-Fi til mindre end $ 10? Nå er der. Læs mere).

Åbn nu ESP8266 standalone script Blynk, der findes i deres bibliotek, ved at navigere til Fil> Eksempler> Blynk> Boards_WiFi> ESP8266_Standalone . Udskift pladsholderen til godkendelsestoken med den, du modtog via e-mail, og indtast dine Wi-Fi-detaljer.

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

Gem skissen under et nyt navn, og upload det til dit bord. Nu, når du trykker på knappen i appen, skal LED'en tændes og slukkes. Hvis det ikke virker, skal du kontrollere, at du har trykket på afspilningsikonet i appen.

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

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

Blynk på Raspberry Pi

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

Blynk arbejder ved hjælp af Node.js, så den kode, vi skriver i dag, vil være i Javascript. Hvis du er en ny til sproget, bør dette være en god primer for at komme i gang Start kodning JavaScript lige nu med disse 5 fantastiske gratis ressourcer Start kodning 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ørføler er åben eller lukket, og sender en email og push notification til din mobiltelefon, når døren åbnes.

Du får brug for:

  • Dørmagnetomskifter (også kendt som reed switch)
  • 1x 1k? modstand
  • 1x 10k? modstand
  • 1x 220? modstand
  • 1x LED
  • Brødbræt og tilslutningsledninger

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

pi fritzing

Bemærk at Blynks bibliotek bruger GPIO-numrene på Pi's pins, så vi vil bruge dem gennem hele projektet. Tilslut 5V- og GND-stifterne til spændeskinnerne på brødbrættet. Tilslut GPIO pin 22 på Raspberry Pi til LED anoden, og forbind katoden til jordskinnen gennem 220? modstand. Forbind GPIO pin 17 til den ene side af 1k? modstand, og forbinde 10? modstand til den anden side og 5V-siden af ​​strømskinnen. Tilslut slutteligt din reed-switch til GND-siden af ​​strømforsyningen på den ene side og på den linje, hvor 1k? og 10k? modstande mødes på den anden. Denne opsætningsmodstandsopsætning vil medføre, at spændingen på pin 17 bliver læst højt, når kontakten åbnes.

Opret et nyt projekt i Blynk app, og vælg din Raspberry Pi bord. Fra widgetmenuen vælg en mærket værdi, e-mail og en besked-widget

Vælg den mærkede værdi, navngiv den, og vælg den virtuelle pin V0, da den er indtastningsstift. Du kan også ændre, hvordan oplysningerne vises. I dette tilfælde tilføj "Døren er" før / pin / i fanen Etiket. Vi kan forlade læsefrekvensværdien ved standardindstillingen, selvom du kan ændre dette for at sende data til din app til en anden sats.

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

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

projektmærkede værdi

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

 sudo nano blynkdoor.js 

Vi skal begynde med at importere Blynk biblioteket, tilføje vores autorisationsnøgle og oprette en forekomst af Blynk til brug i vores script.

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

Vi skal også importere OnOff-biblioteket og erklære variabler, som indstiller vores reed-switch og LED. Vi opretter også en variabel for den virtuelle pin, vi har oprettet 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 ur funktionen fra OnOff biblioteket til at se efter ændringer i vores reed switch. Dørkontakten er enten på 0 eller 1, og når denne værdi ændrer sig, 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 kunne se det i din Labeled Value-widget. 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 bruger virtualWrite, meddeler og email- 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 protected]", "Front Door", "The front door just opened."); blynk.virtualWrite(virtualPin, "Open"); console.log('Door Open'); }; }); 

Nu, når reed-omskifteren registrerer en værdiændring, sendes dataene til vores virtuelle pin, og i tilfælde af døråbningen til underretnings widgeten i appen samt skrivning til konsollen. Bemærk at de endelige bøjler er fra, hvor vi startede ur funktionen ovenfor.

Endelig skal vi nulstille stiften, når programmet afsluttes. Dette er det samme som GPIO.cleanup () du er formentlig bekendt med allerede.

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

Gem nu din kode og afslut. Kør dit script med node.

 sudo node blynkdoor.js 

Nu, når du flytter magneten væk fra reed-sensoren, skal du få en besked, der fortæller dig, at døren er åbnet, og din mærkede skærm skal ændres. Luk kontakten igen, og du vil se, at den mærkede skærm ændres igen.

Det er værd at bemærke, at Blynk-appen skal køre på din telefon for at kunne modtage push-underretningerne, selv om e-mailsne fungerer, om appen kører eller ej.

I den korte tid, der hidtil er brugt med Blynk, ser det ud til en meget nem service at bruge. På den enkleste måde kan folk uden kodningskendskab nemt opbygge DIY hjemmeautomatiseringssystemer. Med lidt ekstra kodningskendskab bliver den endnu mere kraftfuld, hvilket giver mulighed for meget mere komplekse systemer og flere begivenhedsudløsere fra enkeltknappresser i appen.

Dette projekt var en grundlæggende introduktion til Blynk, selvom det vi har dækket her, kunne nemt ændres til næsten ethvert hjem automatisering eller microcontroller projekt.

Har du brugt Blynk? Har du et vanvittigt komplekst system ved hjælp af den service, du gerne vil dele med os? Lad os vide i kommentarerne nedenfor!

Billedkredit: Giuseppe Caccavale via YouTube.com

In this article