Annonse
Blynk [Broken URL Removed] er en Internet of Things (IoT) -tjeneste designet for å gjøre fjernkontroll og lese sensordata fra enhetene dine 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 om forskjellige bruksområder for tjenesten med NodeMCU og Raspberry Pi utviklingsbrett.
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 Hvordan kontrollere billige RF-stikkontakter fra OpenHABHar du noen billige RF-baserte stikkontakter, men oppdaget at ingen smarthussnav fungerer med disse? Du kan koble dem til ditt DIY smarthemmesystem med bare rundt $ 10 i deler. Les mer i ditt hjem til bevegelsesaktivert Jule dekorasjoner Oppgrader din julekrans med en bevegelsesaktivert LED-matriseDenne DIY-julekransen 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 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 amatører og utviklere, men det er også tilgjengelig for kommersiell bruk for en gebyr - selskaper kan bruke Blynk til å lage sine egne apper og systemer og deretter selge dem med sine egne merkevarebygging.
Blynk bruker sin egen server og bibliotek for å få tjenesten til å fungere, men det er Blynk-appen som ser ut til å være den viktigste styrken.
Gå inn på Blynk-appen
Blynk-appen er tilgjengelig gratis på Android og iOS. Det er utgangspunktet for prosjektene dine, og har et enkelt å bruke dra-og-slipp-system for å lage tilpassede kontroller for IoT-oppsettet. Arbeidsflyten er rask: når du starter et nytt prosjekt, blir du bedt om å velge utviklingsstyret fra en omfattende liste, og også din tilkoblingsmetode. Appen sender deretter en autorisasjonstoken via e-post for tilkobling til enheten din via Blynk-serveren.
Kontrollelementer kalles widgets: forskjellige typer inndatametoder og output-skjermer inkludert knapper, skyvekontroller, en joystick, grafer og tekstfeedback. Det er også komponentspesifikke widgeter, med stiliserte kontroller for LED-er, LCD-skjermer og til og med live-streamet video. Det er også bemerkelsesverdige widgets som legger til funksjoner, for eksempel automatisk posting 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 muligheten til å kjøpe mer om nødvendig.
Jeg fant ut at startbalansen som ble gitt var mer enn nok for eksemplene som ble oppført her, men hvis oppsettet er mer komplisert, kan det hende at du går tom for juice raskt.
Hver widget har en redigeringsmeny som lar deg endre navn og farge. Du velger deretter hvilken pinne du vil påvirke (enten det er en pinne på brettet ditt eller en av Blynks virtuelle pinner) sammen med verdiene som skal sendes. For utdata som grafer og tekstbokser, kan du også velge hvor ofte du vil at den skal oppdateres, og potensielt sparer dyrebar båndbredde.
Blynk har også muligheten til å tilordne instruksjoner til "virtuelle" pinner, 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 beskriver hvordan du bruker disse senere i artikkelen.
Appen gir muligheten til å dele prosjektet ditt med andre. Det genereres en QR-kode 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 kontrollen over enhetene dine. 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 flott måte å lære folk hvordan du bruker appen uten å la dem slå av og på lysene dine!
Jeg syntes å lage en app veldig rask og intuitiv. Når du har opprettet det, kan du begynne å bruke det umiddelbart ved å trykke på spillsymbolet øverst til høyre. Hvis du trenger å gjøre endringer senere, kan du ganske enkelt 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 kan kommunisere med den.
Blynk-skyserveren er rask, responsiv og gratis å bruke. Det er like enkelt å koble til en Wi-Fi-enhet som å kopiere den genererte autorisasjonskoden til Arduino-skissen din, og gi Wi-Fi-detaljene dine. For Raspberry Pi gir Blynk et testskript som du kan kjøre med autorisasjonskoden din med samme effekt. Senere i denne artikkelen vil vi lage vårt eget skript ved å bruke Blynk-biblioteket for å koble til tjenesten.
Det andre alternativet er å vert din egen Blynk-server. Blynk tilbyr en åpen kildekode-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 eksemplene våre her vil vi konsentrere oss om å bruke Blynk skyserver sørget for.
Blynk-biblioteket
Det tredje og siste elementet i Blynk er Blynk bibliotek. Dette biblioteket jobber 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 merkede eksempleskissene som følger med.
Blynk: Opprinnelig oppsett
Installer Blynk-appen på smarttelefonen din, og opprett en konto. Forsikre deg om at du bruker en e-postadresse du faktisk har tilgang til, da det er der autorisasjonstokenene dine blir sendt. Nå oppretter et prosjekt, velg hvilket brett du skal bruke og hvordan du skal koble deg til det. Begge eksempler her kobles til via Wi-Fi, selv om tilkoblinger via Bluetooth, Ethernet og til og med GSM også er mulig.
Lag ditt prosjekt. Dette vil automatisk sende et autorisasjons-token. Hvis du ikke mottar den, kan du sende den på nytt ved å velge prosjektinnstillingsikonet (den lille nøtten), velge enheten og velge "E-post".
Deretter installerer du Blynk-bibliotekene fra Blynk-nettstedet. For Arduino, installer biblioteket ved å kopiere filene til ditt Arduino> biblioteker mappe. Hvis du er ny på Arduino, her er en guide for å komme i gang Komme i gang med Arduino: En nybegynnerguideArduino er en åpen kildekode-prototypeplattform for elektronikk basert på fleksibel, brukervennlig maskinvare og programvare. Den er beregnet på 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 installert Node.js først. Det er en guide til installert Node.js i denne artikkelen Hvordan lage et DIY Siri-kontrollert Wi-Fi-lysI denne guiden skal du lære hvordan du lager et Wi-Fi-kontrollerbart lys, og kontrollerer det med Siri. Les mer skulle du trenge det.
For det første, sørg for at Pi-en er oppdatert, og at den nødvendige pakken er installert.
sudo apt-get oppdatering. sudo apt-get oppgradering. sudo apt-get install build-essential.
Installer deretter Node Package Manager, den På av bibliotek, og Blynk biblioteket ved å skrive dette inn i terminalvinduet.
sudo npm installere -g npm. sudo npm installere -g onoff. sudo npm installer -g blynk-bibliotek.
Du kan sjekke at alt har fungert ved å kjøre Blynk-testskriptet:
blynk.js [YourAuthorizationTokenHere]
Forutsatt at alt fungerer, skal det se slik ut:
Hvis du får feil, må du forsikre deg om at Pi er oppdatert, og at du har den nyeste versjonen av Node.js installert, før du installerer NPM-, OnOff- og Blynk-bibliotekene på nytt.
Rask oppsett med NodeMCU
Dette første eksemplet viser hvor raskt det er å sette opp enkle systemer ved bruk av Blynk. Det krever ingen koding, og når konfigureringen er fullstendig alene. Så lenge styret har tilgang til Wi-Fi-tilkoblingen din, kan du få tilgang til den hvor som helst ved å bruke smarttelefonen.
For å begynne, sett opp en enkel krets på en brødplate. Koble pinnen D0 til det positive benet på 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 ditt for å åpne egenskapsmenyen. Her kan du navngi det, og velge hvilken pinne på NodeMCU-brettet det skal påvirke. Å velge pinne D0 fra utgangslisten og brytermodus for å gjøre det til en av og på bryter, i stedet for en øyeblikkelig trykkbryter.
Trykk tilbake (alle endringer lagres automatisk), og trykk deretter på avspillingsikonet øverst til høyre for å starte appen din. Du kan når som helst trykke på den samme knappen for å gå tilbake til redigering av prosjektet ditt.
Deretter åpner du Arduino IDE og velger NodeMCU-kort og port fra verktøymenyen. Hvis du ikke ser brettet ditt i denne menyen, kan det hende du må installere ESP8266-bibliotekene (denne guiden skal hjelpe Møt Arduino Killer: ESP8266Hva om jeg fortalte deg at det er et Arduino-kompatibelt dev-brett med innebygd Wi-Fi for under 10 dollar? Det er det. Les mer ).
Åpne nå det frittstående ESP8266-skriptet som Blynk leverte i biblioteket ved å navigere til Fil> Eksempler> Blynk> Boards_WiFi> ESP8266_Standalone. Bytt ut plassholderen for autorisasjonstokenet med den du har mottatt via e-post, og skriv inn Wi-Fi-detaljene dine.
char autor [] = "YourAuthToken"; char ssid [] = "YourNetworkName"; char pass [] = "Ditt passord";
Lagre skissen under et nytt navn, og last den opp til brettet ditt. Når du trykker på knappen i appen, skal lysdioden slå seg av og på. Hvis det ikke fungerer, sjekk at du har trykket på avspillingsikonet i appen.
I enkle tilfeller som disse er Blynk utrolig rask å sette opp.
Det er også verdt å merke seg at siden denne bruker Blynk-serveren, kan du kontrollere brettet ditt hvor som helst, så lenge styret har tilgang til din Wi-Fi-forbindelse hjemme, og smarttelefonen din har mobildata adgang.
Blynk på bringebær Pi
Du kan bruke Blynk nøyaktig på samme måte som i eksemplet ovenfor på Raspberry Pi ved å bruke Blynk-testen manus, men det er noen dypere funksjonaliteter 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 vil være i Javascript. Hvis du er en ny på språket, dette bør være en god grunner for å komme i gang Begynn å kode JavaScript akkurat nå med disse 5 fantastiske gratis ressursene Les mer .
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 pushvarsling til mobiltelefonen din når døren åpnes.
Du vil trenge:
- Dørmagnetbryter (også kjent som vassbryter)
- 1x 1k? motstand
- 1x 10k? motstand
- 1x 220? motstand
- 1x LED
- Breadboard og hookup ledninger
Sett opp brødbordet ditt slik:
Legg merke til at Blynks bibliotek bruker GPIO-numrene til Pi-pinnene, så vi vil bruke dem gjennom hele dette prosjektet. Koble 5V- og GND-pinnene til strømskinnene på brødplaten. Koble GPIO-pinne 22 på Raspberry Pi til LED-anoden, og koble katoden til jordskinnen gjennom 220? motstand. Koble GPIO-pinne 17 til den ene siden av 1k? motstand, og koble sammen 10? motstand mot den andre siden, og 5V-siden av kraftskinnen. Til slutt, koble reed-bryteren til GND-siden av strømskinnen på den ene siden, og på linjen der 1k? og 10 000? motstander møtes på den andre. Dette opptrekksmotstandskonfigurasjonen vil føre til at spenningen på pinnen 17 leser høyt når bryteren åpnes.
Lag et nytt prosjekt i Blynk-appen, og velg ditt Raspberry Pi-brett. Fra widgetmenyen velger du en merket verdi, e-post og en varslingswidget
Velg merket verdi, navngi den og velg virtuell pinne V0 som det er input pin. Du kan også endre hvordan informasjonen vises. I dette tilfellet legger du til "Døren er" før / fest / i kategorien Etikett. Vi kan legge igjen lesefrekvensverdien som standardinnstilling, 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 å oppgi en e-postadresse i e-postwidgeten, da vi legger den til i koden senere, selv om 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å Spill-knappen øverst til høyre.
Nå oppretter et nytt skript kalt blynkdoor.js. Den fullstendige koden er fullstendig merket her.
sudo nano blynkdoor.js.
Vi må starte med å importere Blynk-biblioteket, legge til autorisasjonsnøkkelen og lage en forekomst av Blynk som skal brukes i skriptet vårt.
var blynklib = krever ('/ usr / local / lib / node_modules / blynk-bibliotek'); var AUTH = 'PasteAuthorizationCodeHere' var blynk = new blynklib. Blynk (AUTH);
Vi må også importere OnOff-biblioteket, og erklære variabler som setter opp vassbryteren og lysdioden. Vi oppretter også en variabel for den virtuelle pinnen vi satte opp på Blynk-appen.
var Gpio = krever ('onoff'). Gpio, reed = new Gpio (17, 'in', 'begge'), // register endrer 'begge' når bryteren åpnes og lukkes. led = ny Gpio (22, 'ut'); var virtualPin = 0;
Nå skal vi bruke se funksjon fra OnOff-biblioteket for å se på endringer i vassbryteren vår. Dørbryteren er enten kl 0 eller 1, og når den verdien endres, 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 widgeten Labeled Value. Hvis døren åpnes, ønsker vi å motta en melding og e-post som forteller oss. Vi gjør dette med en if-uttalelse, og bruker virtualWrite, gi beskjed, og e-post funksjoner fra Blynk bibliotek. Den fullstendige dokumentasjonen for Blynk finner du her.
if (verdi == 0) {blynk.virtualWrite (virtualPin, "Closed"); console.log ('Døren er lukket'); }; if (verdi == 1) {blynk.notify ("Døren har nettopp åpnet!"); blynk.email ("[email protected]", "Inngangsdøren", "Inngangsdøren nettopp åpnet."); blynk.virtualWrite (virtualPin, "Open"); console.log ('Door Open'); }; });
Når reed-bryteren nå registrerer en verdiendring, blir dataene sendt til vår virtuelle pin, og inn saken om døren som åpnes til varslingswidgeten i appen, i tillegg til å skrive til konsollen. Merk at de endelige seler er fra der vi startet se funksjon over.
Til slutt må vi tilbakestille pinnen når programmet avsluttes. Dette er det samme som GPIO.cleanup () du er sannsynligvis kjent med allerede.
process.on ('SIGINT', funksjon () {led.unexport (); reed.unexport (); });
Lagre koden og avslutt. Kjør skriptet ditt ved hjelp av node.
sudo node blynkdoor.js.
Når du nå flytter magneten bort fra vasssensoren, bør du få et varsel som forteller deg at døren åpnes, og den merkede skjermen din skal endre seg. Lukk bryteren igjen, så ser du at det merkede displayet endres igjen.
Det er verdt å merke seg at Blynk-appen må kjøres på telefonen din for å motta pushvarsler, selv om e-postene fungerer uansett om appen kjører eller ikke.
På den korte tiden du har brukt så langt med Blynk, virker det som en veldig enkel tjeneste å bruke. På det enkleste gjør det mulig for personer uten kodingskunnskap å enkelt lage DIY hjemmeautomatiseringssystemer. Med litt ekstra kodingskunnskap blir den enda kraftigere, noe som gir mulighet for mye mer komplekse systemer og flere hendelsesutløsere fra ett-knappetrykk i appen.
Dette prosjektet var en grunnleggende introduksjon til Blynk, selv om det vi har dekket her lett kunne endres for nesten ethvert hjemmeautomatiserings- eller mikrokontrollerprosjekt.
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
Ian Buckley er frilansjournalist, musiker, utøver og videoprodusent bosatt i Berlin, Tyskland. Når han ikke skriver eller på scenen, tisser han med DIY-elektronikk eller kode i håp om å bli en gal forsker.