Komme i gang med Blynk: Simple DIY IoT-enheter

Blynk er en Internett-tjeneste (IoT) -tjeneste designet for å gjøre fjernkontroll og lese sensordata fra enhetene så raskt og enkelt som mulig.

Blynk er en Internett-tjeneste (IoT) -tjeneste designet for å gjøre fjernkontroll og lese sensordata fra enhetene så raskt og enkelt som mulig.
Annonse

Blynk er en Internett-tjeneste (IoT) -tjeneste designet for å gjøre fjernkontroll og lese sensordata fra enhetene så raskt og enkelt som mulig. I denne artikkelen vil vi dekke nøyaktig hva Blynk er, hvordan det fungerer, og gi to korte eksempelprosjekter på ulike bruksområder av tjenesten med NodeMCU og Raspberry Pi utviklingsbrett.

Det har aldri vært enklere å begynne å utvikle smarte objekter ved hjelp av mikrokontroller, og IoT-enheter har raskt vokst i popularitet de siste årene. Utviklingsbrett som Arduino eller Raspberry Pi kan brukes til å kontrollere alt fra strømuttakene. Slik styrer du billige RF-strømkilder fra OpenHAB. Slik kontrollerer du billige RF-strømkilder fra OpenHAB. Har noen billige RF-baserte stikkontakter, men oppdaget at ingen smarte hjemmeknapper fungerer med de? Du kan koble dem til ditt DIY smart home system med bare rundt $ 10 i deler. Les mer i hjemmet ditt til bevegelsesaktiverte juledekorasjoner Oppgrader din julkrans med en bevegelsesaktivert LED-matrise Oppgrader din julkrans med en bevegelsesaktivert LED-matrise Denne DIY Julkransen bruker en Arduino- og LED-matrise for å produsere en fantastisk lysdisplay som vil imponere dine venner og familie. Les mer .

Et område som kan utgjøre et problem for de uinitierte er koding og nettverk. Blynk tar sikte på å fjerne behovet for omfattende koding, og gjør det enkelt å få tilgang til enhetene dine hvor som helst på smarttelefonen din. Det er gratis å bruke for hobbyister og utviklere, selv om det også er tilgjengelig for kommersielt bruk for et gebyr. Firmaer kan bruke Blynk til å lage egne apper og systemer og selge dem med egen merkevarebygging.

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

Skriv inn Blynk App

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

Kontrollelementer kalles Widgets : ulike typer inngangsmetoder og utgangsdisplayer, inkludert knapper, glidebrytere, et joystick, grafer og tilbakemelding på tekst. Det finnes også komponentspesifikke widgets, med stiliserte kontroller for LED, LCD-skjermer og til og med live streamet video. Også bemerkelsesverdig er widgets som legger til funksjoner, som automatisk innlegging til Twitter, og tilpassede varsler.

Mens appen er gratis, begrenser den hvor mange widgets du kan bruke på en gang ved å gi dem alle en "energi" -kostnad. Appen gir deg en balanse på 2000 til å leke med, med muligheten til å kjøpe mer om nødvendig.

Jeg fant ut at utgangsbalansen var mer enn nok for eksempelprosjektene som er oppført her, men hvis oppsettet ditt er mer komplisert, kan du finne deg selv å løpe tom for juice ganske raskt.

widgets og knapp blynk

Hver widget har en redigeringsmeny som lar deg endre navn og farge. Deretter velger du hvilken pinne som skal påvirke (om det er en pinne på bordet eller en av Blynks virtuelle pinner) sammen med rekkeverdier som skal sendes. For utgangsdisplayer som grafer og tekstbokser, kan du også velge hvor ofte du ønsker at den skal oppdateres, og muligens lagre verdifull båndbredde.

Blynk har også muligheten til å tildele instruksjoner til "virtuelle" pinner, som er brukerkonfigurerte forbindelser 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 mulighet 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 som du deler med, kan ikke gjøre endringer i prosjektet, noe som gjør det til en rask og enkel måte å dele kontroll over enhetene dine på. Det er imidlertid verdt å merke seg at prosjektet ditt i appen må kjøres 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 hvordan du bruker appen uten å la dem slå lysene på og av!

Jeg fant å lage en app veldig rask og intuitiv. Når du er opprettet, kan du begynne å bruke den umiddelbart ved å trykke på spillesymbolet øverst i høyre hjørne. Hvis du trenger å gjøre endringer senere, kan du bare trykke på samme knapp for å gå tilbake til redigeringsmodus.

The Blynk Server

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

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

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

blynk nettside

The Blynk Library

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

På sitt enkleste er alt som kreves for å installere biblioteket, og last inn en av de godt merkede eksemplar skissene som tilbys.

Blynk: Første oppsett

Installer Blynk-appen på smarttelefonen, og opprett en konto. Sørg for at du bruker en e-postadresse du faktisk kan få tilgang til, da det er hvor autorisasjonstokenene dine vil bli sendt. Nå opprett et prosjekt, velg hvilket bord du skal bruke og hvordan du vil koble til det. Begge eksemplene her kobles via Wi-Fi, men tilkoblinger via Bluetooth, Ethernet og til og med GSM er også mulige.

Lag ditt prosjekt. Dette vil automatisk sende en autorisasjons token. 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 Blynks nettsted. For Arduino, installer biblioteket ved å kopiere filene til Arduino> biblioteksmappen din . Hvis du er ny i Arduino, er det en guide for å komme i gang. Komme i gang med Arduino: En nybegynnersveiledning Komme i gang med Arduino: En nybegynnersveiledning Arduino er en åpen prototypeplan for åpen kildekode basert på fleksibel, brukervennlig maskinvare og programvare. Det er ment for kunstnere, designere, hobbyister, og alle som er interessert i å lage interaktive objekter eller miljøer. Les mer .

For Raspberry Pi, må du sørge for at du har Node.js installert først. Det er en veiledning for installert Node.js i denne artikkelen. Hvordan lage et DIY-kontrollert Wi-Fi-lampe. Hvordan lage et DIY-kontrollert Wi-Fi-lys I denne guiden skal du lære å lage en Wi-Fi kontrollerbart lys, og kontroller det med Siri. Les mer hvis du trenger det.

For det første, sørg for at Pi er oppdatert, og har installasjonspakken installert.

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

Deretter installerer du Node Package Manager, OnOff- biblioteket og Blynk- biblioteket 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 sjekke alt som har fungert ved å kjøre Blynk test script:

 blynk.js [YourAuthorizationTokenHere] 

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

blynk pi blynk test script

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

Hurtig oppsett med NodeMCU

Dette første eksempelet viser hvor raskt det er å sette opp enkle systemer ved hjelp av Blynk. Det krever ingen koding, og når installasjonen er fullstendig, står den alene. Så lenge styret har tilgang til Wi-Fi-tilkoblingen, kan du få tilgang til den fra hvor som helst med smarttelefonen.

Til å begynne, sett opp en enkel krets på et brødbrett. Koble pin D0 til positivt bein på en LED, og ​​tilbake til GND pin gjennom en 220 ohm motstand.

nodemcu fritzing

Åpne ditt NodeMCU-prosjekt i Blynk-appen. På høyre side velger du knappen Widget fra menyen. Velg din knapp i prosjektet for å åpne det i egenskapsmenyen. Her kan du navngi det, og velg hvilken pinne på NodeMCU-bordet det burde påvirke. Velg pin D0 fra utgangslisten, og bytt modus for å gjøre det til en på / av-bryter, i stedet for en kort trykkbryter.

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

Deretter åpner du Arduino IDE og velger ditt NodeMCU bord og port fra verktøymenyen. Hvis du ikke ser styret ditt i denne menyen, må du kanskje installere ESP8266-bibliotekene (denne veiledningen skal hjelpe Møt Arduino Killer: ESP8266 Møt Arduino Killer: ESP8266 Hva om jeg fortalte deg at det er en Arduino-kompatibel dev board med innebygd Wi-Fi for mindre enn $ 10? Vel, det er. Les mer).

Åpne nå ESP8266 frittstående skript Blynk levert i biblioteket ved å navigere til Fil> Eksempler> Blynk> Boards_WiFi> ESP8266_Standalone . Bytt plassholderen for autorisasjons token med den du mottok via e-post, og skriv inn Wi-Fi-detaljene dine.

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

Lagre skissen under et nytt navn, og last det opp til bordet ditt. Nå når du trykker på knappen i appen, må lysdioden slå på og av. Hvis det ikke fungerer, må du kontrollere at du har trykket på spillikonet i appen.

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

Det er også verdt å merke seg at siden dette bruker Blynk-serveren, kan du styre bordet ditt hvor som helst, så lenge styret har tilgang til Wi-Fi-tilkoblingen din, og smarttelefonen din har mobil data tilgang.

Blynk på Raspberry Pi

Du kan bruke Blynk på samme måte som i eksempelet ovenfor på Raspberry Pi ved hjelp av Blynk test script, men det er noen dypere funksjoner som Blynks virtuelle pinner gir, som vi vil se nærmere på nå.

Blynk jobber med Node.js, så koden vi skal skrive i dag, kommer til å være i Javascript. Hvis du er ny på språket, bør dette være en god primer for å komme i gang. Start Koding JavaScript akkurat nå med disse 5 flotte gratis ressursene. Start koding JavaScript akkurat nå med disse 5 flotte gratis ressursene Les mer.

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

Du vil trenge:

  • Dørmagnetbryter (også kjent som svingbryter)
  • 1x 1k? motstand
  • 1x 10k? motstand
  • 1x 220? motstand
  • 1x LED
  • Breadboard og hookup ledninger

Sett opp brødbrettet ditt slik:

pi fritzing

Legg merke til at Blynks bibliotek bruker GPIO-tallene til Pi-pinnene, så vi vil bruke dem gjennom hele prosjektet. Koble 5V- og GND-pinnene til strømskinner på brødbrettet. Koble GPIO pin 22 på Raspberry Pi til LED anoden, og koble katoden til bakken 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 strømskinnen. Til slutt kobler du reed-bryteren til GND-siden på strømskinnen 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å pin 17 leses høyt når bryteren åpnes.

Opprett et nytt prosjekt i Blynk-appen, og velg din Raspberry Pi-bord. Fra widget-menyen velg en merket verdi, e-post og en melding-widget

Velg den merkede verdien, navn den, og velg virtuell pin V0 som den er inngangspinne. Du kan også endre hvordan informasjonen vises. I dette tilfellet legger du til "Døren er" før / pin / i kategorien Etikett. Vi kan forlate lesefrekvensverdien ved standardinnstillingen, men du kan endre dette for å sende data til appen din med en annen hastighet.

Det er verdt å merke seg at du ikke trenger å skrive inn en e-postadresse i e-postdisplayet, siden vi legger den til koden senere, men widgeten må være til stede for at den skal fungere.

Når du er fornøyd med hvordan appen din ser ut, trykker du på Play-knappen øverst i høyre hjørne.

prosjektmerket verdi

Opprett nå et nytt skript kalt blynkdoor.js . Den fulle koden er tilgjengelig, fullt merket her.

 sudo nano blynkdoor.js 

Vi må begynne med å importere Blynk-biblioteket, legge til godkjenningsnøkkelen, og lage en forekomst av Blynk som skal brukes i vårt skript.

 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 erklære variabler som setter opp vår svingbryter og LED. Vi lager også en variabel for den virtuelle pinnen vi satt opp 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 klokkefunksjonen fra OnOff-biblioteket for å se etter endringer i vår reed-bryter. Dørbryteren er enten 0 eller 1, og når den verdien endres, skriver vi den endringen til LED-tappen.

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

Vi kan bruke verdien til å også sende data til Blynk-appen. Hvis døren er lukket, vil vi kunne se det i din Labeled Value-widget. Hvis døren åpnes, vil vi motta et varsel og e-post som forteller oss. Vi gjør dette med en if-setning, og bruker virtualWrite, varsle og e- postfunksjoner fra Blynk-biblioteket. Full dokumentasjon for Blynk finner du 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'); }; }); 

Nå når reed-bryteren registrerer en verdiendring, blir dataene sendt til vår virtuelle pinne, og i tilfelle døråpningen til varslingsdisplayet i appen, samt skriving til konsollen. Legg merke til at de endelige bøylene er fra der vi startet klokkefunksjonen ovenfor.

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

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

Lagre nå koden din og avslutt. Kjør skriptet ditt med node.

 sudo node blynkdoor.js 

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

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

På kort tid brukt så langt med Blynk, virker det som en veldig enkel tjeneste å bruke. På den enkleste måten kan folk uten kodende kunnskap enkelt bygge DIY hjemmeautomatiseringssystemer. Med litt ekstra kodingskunnskap blir det enda kraftigere, noe som gir mye mer komplekse systemer og flere hendelsesutløsere fra enkeltknappens presser i appen.

Dette prosjektet var en grunnleggende introduksjon til Blynk, selv om det vi har dekket her, kan enkelt endres for nesten alle hjem automatisering eller mikrokontroller prosjekt.

Har du brukt Blynk? Har du et gal komplekst system ved hjelp av tjenesten du vil dele med oss? Gi oss beskjed i kommentarene nedenfor!

Image Credit: Giuseppe Caccavale via YouTube.com

In this article