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. 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” koste. 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 fort.
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 rekkevidden av verdier som skal sendes. For utgangsdisplayer som grafer og tekstbokser, kan du også velge hvor ofte du ønsker at den skal oppdateres, muligens lagre dyrebar båndbredde.
Blynk har også muligheten til å tilordne instruksjoner til “virtuell” pins, 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, 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 Blynk Cloud Server.
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 din Arduino> biblioteker mappe. Hvis du er ny for Arduino, er det en veiledning for å komme i gang. Kom i gang med Arduino: En nybegynnersveiledning Komme i gang med Arduino: En nybegynnersguide. Arduino er en open source elektronikk prototyping plattform 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-lys. 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 oppdatering sudo apt-få oppgradering sudo apt-get install build-essential
Deretter installerer du Node Package Manager, de På av bibliotek og Blynk bibliotek ved å skrive dette inn i Terminal-vinduet.
sudo npm installere -g npm sudo npm installere -g onoff sudo npm installere -g blynk-bibliotek
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:
Hvis du får noen 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 biblioteker 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 til pin D0 til det positive benet på en LED, og tilbake til GND-pinnen gjennom en 220 ohm motstand.
Åpne ditt NodeMCU-prosjekt i Blynk-appen. På høyre side velger du Knapp 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. Å velge 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 [] = "Ditt Passord";
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 kontrollere styret 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 eksemplet 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 nå med disse 5 flotte gratis ressursene Les mer .
Vi vil bruke Blynk biblioteket til å lage en app som rapporterer om en dørføler er åpen eller lukket, og sender en e-post og trykk 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:
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 det er input pin. Du kan også endre hvordan informasjonen vises. I dette tilfellet legg 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 kunne fungere.
Når du er fornøyd med hvordan appen din ser ut, trykker du på Play-knappen øverst i høyre hjørne.
Opprett nå et nytt skript som heter 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 for bruk i vårt skript.
var blynklib = krever ('/ usr / local / lib / node_modules / blynk-bibliotek'); var AUTH = 'PasteAuthorizationCodeHere' var blynk = ny 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 = krever ('onoff'). Gpio, reed = ny Gpio (17, 'in', 'both'), // registrere endringer 'begge' når bryteren åpnes og lukkes ledd = ny Gpio '); var virtualPin = 0;
Nå skal vi bruke se Funksjon fra OnOff-biblioteket for å se etter endringer i vår svingbryter. Dørbryteren er enten på 0 eller 1, og når den verdien endrer seg, skriver vi den endringen til LED-pinnen.
reed.watch (funksjon (feil, verdi) led.writeSync (verdi);
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, gi beskjed, og e-post Funksjoner fra Blynk biblioteket. Full dokumentasjon for Blynk finner du her.
hvis (verdi == 0) blynk.virtualWrite (virtualPin, "Closed"); console.log ('Door Closed'); ; hvis (verdi == 1) blynk.notify ("Døren åpnet nettopp!"); blynk.email ("[email protected]", "Front Door", "Frontdekselet nettopp åpnet."); 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 se funksjonen ovenfor.
Til slutt må vi nullstille pinnen når programmet avsluttes. Dette er det samme som GPIO.cleanup () du er sikkert kjent med allerede.
process.on ('SIGINT', funksjon () 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 enkeltknappspresser i appen.
Dette prosjektet var en grunnleggende introduksjon til Blynk, selv om det vi har dekket her, kan lett bli endret 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
Utforsk mer om: Arduino, Elektronikk, Hjemmautomatisering, Internett-ting, Raspberry Pi.