Komme i gang med Blynk: Enkle DIY IoT -enheter

Komme i gang med Blynk: Enkle DIY IoT -enheter

Blynk [Broken URL Removed] er en Internet of Things (IoT) -tjeneste designet for å gjøre fjernkontroll og lesing av sensordata fra enhetene dine så raske og enkle som mulig. I denne artikkelen vil vi dekke nøyaktig hva Blynk er, hvordan det fungerer, og gi to korte eksempelprosjekter om forskjellige bruksområder av tjenesten med NodeMCU og Raspberry Pi utviklingstavler.





Det har aldri vært enklere å begynne å utvikle smarte objekter ved hjelp av mikrokontrollere, og IoT -enheter har raskt vokst i popularitet de siste årene. Utviklingstavler som Arduino eller Raspberry Pi kan brukes til å kontrollere alt fra stikkontakter i hjemmet ditt til bevegelsesaktivert julepynt.





Et område som kan utgjøre et problem for de uinnvidde er koding og nettverk. Blynk har som mål å fjerne behovet for omfattende koding, og gjøre det enkelt å få tilgang til enhetene dine hvor som helst på smarttelefonen. Det er gratis å bruke for hobbyfolk og utviklere, men det er også tilgjengelig for kommersiell bruk mot et gebyr - selskaper kan bruke Blynk til å lage sine egne apper og systemer og deretter selge dem med sin egen merkevare.





Blynk bruker sin egen server og bibliotek for å få tjenesten til å fungere, men det er Blynk -appen som ser ut til å være hovedstyrken.

Gå inn i Blynk -appen

Blynk -appen er gratis tilgjengelig på Android og iOS. Det er utgangspunktet for prosjektene dine, med et brukervennlig dra -og -slipp -system for å bygge tilpassede kontroller for IoT -oppsettet. Arbeidsflyten er rask: Når du starter et nytt prosjekt, blir du bedt om å velge utviklingsbordet fra en omfattende liste, og også tilkoblingsmetoden. Appen sender deretter et autorisasjonstoken via e -post for å koble til enheten din via Blynk -serveren.



hvordan spille playstation 2 -spill på pc

Kontrollelementer kalles Widgets : forskjellige typer inndatametoder og utdataskjermer, inkludert knapper, glidebrytere, en joystick, grafer og tilbakemelding fra tekst. Det er også komponentspesifikke widgets, med stiliserte kontroller for lysdioder, LCD -skjermer og til og med live streamet video. Det er også bemerkelsesverdig at widgets som legger til funksjoner, som automatisk innlegg på Twitter og tilpassede varsler.

Selv om appen er gratis, begrenser den hvor mange widgets du kan bruke samtidig ved å gi dem alle en 'Energi' kostnad. Appen gir deg en balanse på 2000 å spille med, med mulighet for å kjøpe mer om nødvendig.





Jeg fant ut at startbalansen som ble gitt var mer enn nok for eksempelprosjektene som er oppført her, men hvis oppsettet ditt er mer komplisert, kan det hende du går tom for juice ganske raskt.

Hver widget har en redigeringsmeny som lar deg endre navn og farge. Du velger deretter hvilken pin du vil påvirke (enten det er en pin på brettet ditt eller en av Blynks virtuelle pins) sammen med verdiområdet som skal sendes. For utdata som grafikk og tekstbokser kan du også velge hvor ofte du vil at den skal oppdateres, noe som potensielt sparer dyrebar båndbredde.





Blynk har også muligheten til å tildele instruksjoner til 'virtuelle' pins, som er brukerkonfigurerte tilkoblinger mellom appen og maskinvaren. En enkelt knapp i appen kan derfor brukes til å utløse mange forskjellige hendelser på enheten. Vi vil dekke hvordan du bruker disse senere i artikkelen.

Appen gir muligheten til å dele prosjektet ditt med andre. En QR -kode genereres som kan sendes via e -post eller skannes direkte, og brukes av alle som også har Blynk -appen. Den du deler med kan ikke gjøre endringer i prosjektet, noe som gjør det til en rask og praktisk måte å dele kontroll over enhetene dine på. Det er imidlertid verdt å merke seg at prosjektet i appen må kjøre for at andre skal ha tilgang til maskinvaren.

Du kan også dele prosjektet uten å gi tilgang til maskinvaren din, noe som er en fin måte å lære folk å bruke appen på uten å la dem slå lysene dine på og av!

Jeg syntes det var veldig raskt og intuitivt å lage en app. Når den er opprettet, kan du begynne å bruke den umiddelbart ved å trykke på avspillingssymbolet øverst til høyre. Hvis du trenger å gjøre endringer senere, kan du bare trykke på den samme knappen for å gå tilbake til redigeringsmodus.

Blynk -serveren

Når du har opprettet en app for å kontrollere enheten din, har du to alternativer for hvordan du kommuniserer med den.

Blynk -skyserveren er rask, responsiv og gratis å bruke. Å koble til en Wi-Fi-enhet er like enkelt som å kopiere den genererte autorisasjonskoden til Arduino-skissen din, og gi Wi-Fi-detaljer. For Raspberry Pi gir Blynk et testskript som du kan kjøre med autorisasjonskoden din til samme effekt. Senere i denne artikkelen vil vi lage vårt eget skript ved hjelp av Blynk -biblioteket for å koble til tjenesten.

Det andre alternativet er å vert din egen Blynk server. Blynk tilbyr en åpen kildekode Netty -basert Java -server som kan kjøres fra datamaskinen din, eller til og med en Raspberry Pi. Dette har forskjellige fordeler for noen brukere når det gjelder funksjonalitet og sikkerhet, men for våre eksempler her vil vi konsentrere oss om å bruke Blynk -skyserveren som tilbys.

The Blynk Library

Det tredje og siste elementet i Blynk er Blynk bibliotek . Dette biblioteket fungerer med en enorm liste over utviklingstavler for å tillate kommunikasjon mellom appen og maskinvaren din.

På det enkleste er alt som kreves å installere biblioteket og laste inn en av de godt kommenterte eksempelskissene som følger med.

Blynk: Første oppsett

Installer Blynk -appen på smarttelefonen din, og opprett en konto. Sørg for at du bruker en e -postadresse du faktisk har tilgang til, da det er dit autorisasjonstokenene blir sendt. Lag nå et prosjekt, velg hvilket brett du vil bruke og hvordan du vil koble til det. Begge eksemplene her kobles til via Wi-Fi, selv om tilkoblinger via Bluetooth, Ethernet og til og med GSM også er mulige.

Lag prosjektet ditt. Dette sender automatisk et autorisasjonstoken. Hvis du ikke mottar det, kan du sende det på nytt ved å velge prosjektinnstillingsikonet (den lille mutteren), velge enheten og velge 'E-post'.

Deretter installerer du Blynk -bibliotekene fra Blynk -nettstedet. For Arduino, installer biblioteket ved å kopiere filene til din Arduino> biblioteker mappe. Hvis du er ny på Arduino, her er en guide for å komme i gang .

For Raspberry Pi må du sørge for at du har Node.js installert først. Det er en guide for installert Node.js i denne artikkelen hvis du trenger det.

For det første, sørg for at Pi er oppdatert, og at den essensielle pakken er installert.

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

Installer deretter Nodepakkebehandling , På av biblioteket, og Blinke bibliotek ved å skrive dette inn i Terminal -vinduet.

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

Du kan kontrollere at alt har fungert ved å kjøre Blynk -testskriptet:

blynk.js [YourAuthorizationTokenHere]

Forutsatt at alt fungerer, bør det se slik ut:

Hvis du får feil, må du kontrollere at Pi er oppdatert, og at du har den siste versjonen av Node.js installert før du installerer NPM-, OnOff- og Blynk -bibliotekene på nytt.

Hurtigoppsett med NodeMCU

Dette første eksemplet viser hvor raskt det er å sette opp enkle systemer ved hjelp av Blynk. Det krever ingen koding, og når det er satt opp, er det helt frittstående. Så lenge kortet har tilgang til Wi-Fi-tilkoblingen din, kan du få tilgang til den fra hvor som helst ved hjelp av smarttelefonen.

For å begynne, sett opp en enkel krets på et brødbrett. Koble til pin D0 til det positive benet til en LED, og ​​tilbake til GND -pinnen gjennom en 220 Ohm motstand.

Åpne NodeMCU -prosjektet ditt i Blynk -appen. På høyre side velger du Knapp widget fra menyen. Velg knappen i prosjektet for å åpne eiendommemenyen. Her kan du navngi den og velge hvilken pin på NodeMCU -kortet den skal påvirke. Plukke ut pin D0 fra utgangslisten og byttemodus for å gjøre den til en av og på -bryter, i stedet for en kort trykkbryter.

Trykk tilbake (alle endringer lagres automatisk), og trykk deretter på avspillingsikonet øverst til høyre for å starte appen. Du kan når som helst trykke på den samme knappen for å gå tilbake til redigering av prosjektet.

Deretter åpner du Arduino IDE og velger NodeMCU -kortet og porten fra verktøymemenyen. Hvis du ikke ser kortet i denne menyen, må du kanskje installere ESP8266 -bibliotekene (denne veiledningen skal hjelpe).

Åpne nå det frittstående ESP8266 -skriptet Blynk levert i biblioteket ved å navigere til Fil> Eksempler> Blynk> Boards_WiFi> ESP8266_Standalone . Erstatt plassholderen for autorisasjonstokenet med det du mottok via e-post, og skriv inn Wi-Fi-informasjonen din.

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

Lagre skissen under et nytt navn, og last den opp til brettet ditt. Når du trykker på knappen i appen, skal LED -en slås på og av. Hvis det ikke fungerer, må du kontrollere at du har trykket på avspillingsikonet i appen.

I enkle saker som disse er Blynk utrolig rask å sette opp.

Det er også verdt å merke seg at siden dette bruker Blynk-serveren, kan du kontrollere brettet ditt hvor som helst, så lenge kortet har tilgang til Wi-Fi-tilkoblingen hjemme og smarttelefonen har mobildatatilgang.

Blynk på Raspberry Pi

Du kan bruke Blynk nøyaktig på samme måte som i eksemplet ovenfor på Raspberry Pi ved å bruke Blynk -testskriptet, men det er noen dypere funksjoner som Blynks virtuelle pins gir, som vi skal se nærmere på nå.

Blynk jobber med Node.js, så koden vi skal skrive i dag vil være i Javascript. Hvis du er ny på språket, bør dette være en god grunnprimering for å komme i gang.

Vi vil bruke Blynk -biblioteket til å lage en app som rapporterer om en dørsensor er åpen eller lukket, og sender en e -post og push -varsel til mobiltelefonen din når døren åpnes.

Du vil trenge:

  • Dørmagnetbryter (også kjent som sivbryter)
  • 1x 1k? motstand
  • 1x 10k? motstand
  • 1x 220? motstand
  • 1x LED
  • Brødbrett og tilkoblingskabler

Sett opp brødbrettet slik:

hvordan ringe uten anrops -ID

Vær oppmerksom på at Blynks bibliotek bruker GPIO -numrene til Pi -pinnene, så vi vil bruke dem gjennom dette prosjektet. Koble 5V- og GND -pinnene til strømskinnene på brødbrettet. Koble GPIO -pinne 22 på Raspberry Pi til LED -anoden, og koble katoden til bakkeskinnen gjennom 220? motstand. Koble GPIO pin 17 til den ene siden av 1k? motstand, og koble 10? motstand til den andre siden, og 5V -siden av kraftskinnen. Til slutt kobler du sivbryteren til GND -siden av kraftskinnen på den ene siden, og på linjen der 1k? og 10k? motstander møtes på den andre. Denne opptrekksmotstandsoppsettet vil føre til at spenningen på pinne 17 blir høy når bryteren åpnes.

Lag et nytt prosjekt i Blynk -appen, og velg Raspberry Pi -kortet ditt. Velg en merket verdi, e -post og en varslingswidget fra widgetmenyen

Velg den merkede verdien, gi den et navn, og velg virtuell pin V0 som det er input -pin. Du kan også endre hvordan informasjonen vises. I dette tilfellet legger du til 'Døren er' før / pin / i kategorien Etikett. Vi kan la verdien for lesefrekvens være på standardinnstillingen, selv om du kan endre dette for å sende data til appen din med en annen hastighet.

Det er verdt å merke seg at du faktisk ikke trenger å skrive inn en e -postadresse i e -postmodulen, da vi legger den til i koden senere, selv om widgeten må være tilstede for at den skal fungere.

Når du er fornøyd med hvordan appen din ser ut, trykker du på Spill -knappen øverst til høyre.

Lag nå et nytt skript kalt blynkdoor.js . Hele koden er tilgjengelig fullstendig kommentert her .

sudo nano blynkdoor.js

Vi må starte med å importere Blynk -biblioteket, legge til autorisasjonsnøkkelen vår og lage en forekomst av Blynk som skal brukes i skriptet vårt.

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

Vi må også importere OnOff -biblioteket og deklarere variabler som setter opp vår sivbryter og LED. Vi vil også lage en variabel for den virtuelle pinnen vi konfigurerte 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;

Nå skal vi bruke se funksjon fra OnOff -biblioteket for å se etter endringer i sivbryteren vår. Dørbryteren er enten kl 0 eller 1 , og når denne verdien endres, skriver vi den endringen til LED -pinnen.

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

Vi kan bruke verdien til også å sende data til Blynk -appen. Hvis døren er lukket, ønsker vi å kunne se det i widgeten Merket verdi. Hvis døren åpnes, vil vi motta en melding og e -post som forteller oss. Vi gjør dette med en if -setning og bruk virtualWrite , gi beskjed , og e -post funksjoner fra Blynk -biblioteket. Du finner hele dokumentasjonen for Blynk 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 -bryteren registrerer en verdiendring, blir dataene sendt til vår virtuelle pin, og i tilfelle døren åpnes til varslingswidgeten i appen, samt skriving til konsollen. Vær oppmerksom på at de siste selene er fra der vi startet se funksjon ovenfor.

Til slutt må vi tilbakestille pinnen når programmet avsluttes. Dette er det samme som GPIO.cleanup () du er sikkert kjent med allerede.

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

Lagre koden nå og avslutt. Kjør skriptet ditt ved hjelp av node.

sudo node blynkdoor.js

Når du flytter magneten vekk fra sivsensoren, bør du få et varsel som forteller deg at døren ble åpnet, og den merkede skjermen bør endres. Lukk bryteren igjen, og du vil se at den merkede skjermen endres igjen.

Det er verdt å merke seg at Blynk -appen må kjøre på telefonen din for å motta push -varslene, selv om e -postene fungerer enten appen kjører eller ikke.

På den korte tiden som har vært med Blynk så langt, virker det som en veldig enkel tjeneste å bruke. På det enkleste lar folk uten kodingskunnskap enkelt bygge DIY hjemmeautomatiseringssystemer. Med litt ekstra kodingskunnskap blir det enda kraftigere, noe som gir mulighet for mye mer komplekse systemer og flere hendelsesutløsere fra enkeltknappetrykk i appen.

Dette prosjektet var en grunnleggende introduksjon til Blynk, selv om det vi har dekket her lett kan endres for nesten alle hjemmeautomatiserings- eller mikrokontrollerprosjekter.

Har du brukt Blynk? Har du et vanvittig komplekst system som bruker tjenesten du vil dele med oss? Gi oss beskjed i kommentarene nedenfor!

Bildekreditt: Giuseppe Caccavale via YouTube.com

Dele Dele kvitring E -post Canon vs Nikon: Hvilket kameramerk er bedre?

Canon og Nikon er de to største navnene i kamerabransjen. Men hvilket merke tilbyr den bedre serien med kameraer og objektiver?

Les neste
Relaterte temaer
  • DIY
  • Smart hjem
  • Arduino
  • Bringebær Pi
  • Hjemmeautomatisering
  • Internett av ting
  • Elektronikk
Om forfatteren Ian Buckley(216 artikler publisert)

Ian Buckley er frilansjournalist, musiker, utøver og videoprodusent bosatt i Berlin, Tyskland. Når han ikke skriver eller står på scenen, pusler han med DIY elektronikk eller kode i håp om å bli en gal forsker.

Mer fra Ian Buckley

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere