Komma igång med Blynk: Enkla DIY IoT -enheter

Komma igång med Blynk: Enkla DIY IoT -enheter

Blynk [Broken URL Removed] är en Internet of Things (IoT) -tjänst som är utformad för att göra fjärrkontroll och avläsning av sensordata från dina enheter så snabbt och enkelt som möjligt. I den här artikeln kommer vi att täcka exakt vad Blynk är, hur det fungerar och tillhandahålla två korta exempelprojekt om olika användningsområden för tjänsten med NodeMCU och Raspberry Pi utvecklingskort.





Det har aldrig varit lättare att börja utveckla smarta objekt med hjälp av mikrokontroller, och IoT -enheter har snabbt ökat i popularitet under de senaste åren. Utvecklingsbrädor som Arduino eller Raspberry Pi kan användas för att styra allt från eluttagen i ditt hem till rörelseaktiverade juldekorationer.





Ett område som kan utgöra ett problem för de oinvigde är kodning och nätverk. Blynk syftar till att ta bort behovet av omfattande kodning och göra det enkelt att komma åt dina enheter var som helst på din smartphone. Det är gratis att använda för amatörer och utvecklare, men det är också tillgängligt att använda kommersiellt mot en avgift - företag kan använda Blynk för att skapa sina egna appar och system och sedan sälja dem med sitt eget varumärke.





Blynk använder sin egen server och bibliotek för att få tjänsten att fungera, men det är Blynk -appen som verkar vara dess främsta styrka.

Ange Blynk -appen

Blynk -appen finns gratis på Android och iOS. Det är utgångspunkten för dina projekt, med ett enkelt att använda dra och släpp -system för att bygga anpassade kontroller för din IoT -installation. Arbetsflödet är snabbt: när du startar ett nytt projekt uppmanas du att välja ditt utvecklingskort från en omfattande lista och även din anslutningsmetod. Appen skickar sedan en auktoriseringstoken via e -post för anslutning till din enhet via Blynk -servern.



hur får jag porträttläge på iphone 7

Kontrollelement kallas Widgets : olika typer av inmatningsmetoder och utmatningsdisplayer inklusive knappar, reglage, en joystick, grafer och textåterkoppling. Det finns också komponentspecifika widgets med stiliserade kontroller för lysdioder, LCD -skärmar och till och med livestreamad video. Också anmärkningsvärda är widgets som lägger till funktioner, som automatisk postning på Twitter och anpassade aviseringar.

Även om appen är gratis, begränsar den hur många widgets du kan använda samtidigt genom att ge dem alla en 'energikostnad'. Appen ger dig en balans på 2 000 att spela med, med möjlighet att köpa mer om det behövs.





Jag fann att startbalansen var mer än tillräckligt för de exempelprojekt som listas här, men om din installation är mer komplicerad kan det hända att du tar slut på juice ganska snabbt.

Varje widget har en redigeringsmeny som låter dig ändra namn och färg. Du väljer sedan vilken pin som ska påverkas (oavsett om det är en pin på ditt bräda eller en av Blynks virtuella pins) tillsammans med värden som ska skickas. För utmatningsdisplayer som grafer och textrutor kan du också välja hur ofta du vill att den ska uppdateras, vilket potentiellt kan spara värdefull bandbredd.





Blynk har också möjligheten att tilldela instruktioner till 'virtuella' stift, som är användarkonfigurerade anslutningar mellan appen och hårdvaran. En enda knapp i appen kan därför användas för att utlösa många olika händelser på enheten. Vi kommer att täcka hur du använder dessa senare i artikeln.

Appen ger möjlighet att dela ditt projekt med andra. En QR -kod genereras som kan skickas via e -post eller skannas direkt och användas av alla som också har Blynk -appen. Den du delar med kan inte göra ändringar i projektet, vilket gör det till ett snabbt och bekvämt sätt att dela kontroll över dina enheter. Det är dock värt att notera att ditt projekt i appen måste vara igång för att andra ska ha åtkomst till hårdvaran.

Du kan också dela projektet utan att tillåta åtkomst till din hårdvara, vilket är ett bra sätt att lära människor att använda appen utan att låta dem tända och stänga av lamporna!

Jag tyckte att det var väldigt snabbt och intuitivt att skapa en app. När du har skapat den kan du börja använda den direkt genom att trycka på spelsymbolen i det övre högra hörnet. Om du behöver göra ändringar senare kan du helt enkelt trycka på samma knapp för att gå tillbaka till redigeringsläget.

Blynk -servern

När du har skapat en app för att styra din enhet har du två alternativ för hur du kommunicerar med den.

Blynks molnserver är snabb, lyhörd och gratis att använda. Att ansluta till en Wi-Fi-enhet är lika enkelt som att kopiera din genererade behörighetskod till din Arduino-skiss och tillhandahålla dina Wi-Fi-detaljer. För Raspberry Pi tillhandahåller Blynk ett testskript som du kan köra med din auktoriseringskod med samma effekt. Senare i denna artikel kommer vi att skapa vårt eget skript med hjälp av Blynk -biblioteket för att ansluta till tjänsten.

Det andra alternativet är att värd din egen Blink server. Blynk tillhandahåller en Netty -baserad Java -server med öppen källkod som kan köras från din dator eller till och med en Raspberry Pi. Detta har olika fördelar för vissa användare när det gäller funktionalitet och säkerhet, men för våra exempel här kommer vi att koncentrera oss på att använda den tillhandahållna Blynk -molnservern.

The Blynk Library

Det tredje och sista elementet i Blynk är Blynk bibliotek . Detta bibliotek fungerar med en enorm lista över utvecklingsbrädor för att möjliggöra kommunikation mellan appen och din maskinvara.

På det enklaste är allt som krävs att installera biblioteket och ladda en av de välkommenterade exempelskisserna som tillhandahålls.

Blynk: Initial Setup

Installera Blynk -appen på din smartphone och skapa ett konto. Se till att du använder en e -postadress som du faktiskt kan komma åt eftersom det är dit dina auktoriseringstoken skickas. Skapa nu ett projekt, välj vilket kort du ska använda och hur du ska ansluta till det. Båda exemplen här ansluter via Wi-Fi, även om anslutningar via Bluetooth, Ethernet och till och med GSM också är möjliga.

Skapa ditt projekt. Detta skickar automatiskt en auktoriseringstoken. Om du inte tar emot det kan du skicka det igen genom att välja ikonen för projektinställningar (den lilla mutter), välja din enhet och välja 'E-post'.

Installera sedan Blynk -biblioteken från Blynks webbplats. För Arduino, installera biblioteket genom att kopiera filerna till din Arduino> bibliotek mapp. Om du är ny på Arduino, här är en guide för att komma igång .

För Raspberry Pi måste du se till att du har Node.js installerat först. Det finns en guide för installerade Node.js i den här artikeln om du skulle behöva det.

Först och främst, se till att din Pi är uppdaterad och att paketet är nödvändigt.

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

Installera sedan Node Package Manager , OnOff bibliotek och Blinka biblioteket genom att skriva detta i ditt Terminal -fönster.

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

Du kan kontrollera att allt har fungerat genom att köra Blynk -testskriptet:

blynk.js [YourAuthorizationTokenHere]

Förutsatt att allt fungerar ska det se ut så här:

Om du får några fel, se till att din Pi är uppdaterad och att du har den senaste versionen av Node.js installerad innan du installerar om NPM-, OnOff- och Blynk -biblioteken.

Snabb installation med NodeMCU

Detta första exempel visar hur snabbt det är att installera enkla system med Blynk. Det kräver ingen kodning, och när det väl är installerat är det helt fristående. Så länge kortet har tillgång till din Wi-Fi-anslutning kan du komma åt det var som helst med din smartphone.

Börja med att skapa en enkel krets på en brödbräda. Anslut stift D0 till det positiva benet på en LED, och tillbaka till GND -stiftet genom ett 220 Ohm motstånd.

Öppna ditt NodeMCU -projekt i Blynk -appen. På höger sida väljer du Knapp widget från menyn. Välj din knapp i ditt projekt för att öppna menyn Egenskaper. Här kan du namnge det och välja vilken pin på ditt NodeMCU -kort det ska påverka. Välj stift D0 från utgångslistan och omkopplingsläge för att göra det till en av- och på -omkopplare, snarare än en tillfällig tryckknapp.

Tryck tillbaka (alla ändringar sparas automatiskt) och tryck sedan på uppspelningsikonen i det övre högra hörnet för att starta din app. Du kan när som helst trycka på samma knapp för att gå tillbaka till redigeringen av ditt projekt.

Öppna sedan Arduino IDE och välj ditt NodeMCU -kort och port från verktygsmenyn. Om du inte ser ditt kort i den här menyn kan du behöva installera ESP8266 -biblioteken (den här guiden ska hjälpa).

Öppna nu det fristående ESP8266 -skriptet Blynk som tillhandahålls i biblioteket genom att navigera till Arkiv> Exempel> Blynk> Boards_WiFi> ESP8266_Standalone . Ersätt platshållaren för auktoriseringstoken med den du fick via e-post och ange dina Wi-Fi-detaljer.

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

Spara skissen under ett nytt namn och ladda upp den till ditt bräde. Nu när du trycker på knappen i appen ska lysdioden tändas och släckas. Om det inte fungerar kontrollerar du att du har tryckt på uppspelningsikonen i appen.

I enkla fall som dessa är Blynk otroligt snabb att sätta upp.

Det är också värt att notera att eftersom detta använder Blynk-servern kan du styra ditt kort var som helst, så länge kortet har tillgång till din Wi-Fi-anslutning hemma och din smartphone har mobildataåtkomst.

Blynk på Raspberry Pi

Du kan använda Blynk exakt på samma sätt som i exemplet ovan på Raspberry Pi genom att använda Blynk -testskriptet, men det finns några djupare funktioner som Blynks virtuella pins tillhandahåller, som vi kommer att titta närmare på nu.

Blynk arbetar med Node.js, så koden som vi skriver idag kommer att finnas i Javascript. Om du är ny på språket bör detta vara en bra grund för att komma igång.

Vi kommer att använda Blynk -biblioteket för att skapa en app som rapporterar om en dörrsensor är öppen eller stängd och skickar ett e -postmeddelande och push -meddelande till din mobiltelefon när dörren öppnas.

Du kommer behöva:

  • Dörrmagnetbrytare (även känd som vassströmbrytare)
  • 1x 1k? motstånd
  • 1x 10k? motstånd
  • 1x 220? motstånd
  • 1x LED
  • Brödbräda och anslutningskablar

Ställ in din brödbräda så här:

vad händer med data på en solid state -enhet när strömmen går förlorad?

Observera att Blynks bibliotek använder GPIO -numren på Pi -stiften, så vi kommer att använda dem under hela det här projektet. Anslut 5V- och GND -stiften till kraftskenorna på panelen. Anslut GPIO -stift 22 på Raspberry Pi till LED -anoden och anslut katoden till jordskenan genom 220? motstånd. Anslut GPIO -stift 17 till ena sidan av 1k? motståndet, och anslut 10? motståndet till andra sidan och 5V -sidan av kraftskenan. Slutligen, anslut din reed -switch till GND -sidan av kraftskenan på ena sidan och på linjen där 1k? och 10k? motstånd möts på den andra. Denna uppdragsmotståndsinställning gör att spänningen på stift 17 blir hög när strömbrytaren öppnas.

Skapa ett nytt projekt i Blynk -appen och välj ditt Raspberry Pi -kort. På widgetmenyn väljer du ett märkt värde, e -post och en meddelande -widget

Välj det märkta värdet, namnge det och välj virtuell pin V0 eftersom det är inmatningsstift. Du kan också ändra hur informationen visas. I det här fallet lägg till 'Dörren är' före / fäst / på fliken Etikett. Vi kan lämna läsfrekvensvärdet till standardinställningen, men du kan ändra detta för att skicka data till din app i en annan takt.

Det är värt att notera att du faktiskt inte behöver ange en e -postadress i e -postwidgeten eftersom vi lägger till den i koden senare, även om widgeten måste vara närvarande för att den ska fungera.

När du är nöjd med hur din app ser ut trycker du på knappen Spela i det övre högra hörnet.

Skapa nu ett nytt skript som heter blynkdoor.js . Hela koden är tillgänglig fullständigt kommenterad här .

sudo nano blynkdoor.js

Vi måste börja med att importera Blynk -biblioteket, lägga till vår behörighetsnyckel och skapa en instans av Blynk som ska användas 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åste också importera OnOff -biblioteket och deklarera variabler som konfigurerar vår reed -switch och LED. Vi kommer också att skapa en variabel för den virtuella pin som vi ställde in 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 ska vi använda Kolla på funktion från OnOff -biblioteket för att titta efter förändringar i vår reed -switch. Dörrkontakten är antingen kl 0 eller 1 , och när det värdet ändras skriver vi den ändringen till LED -stiftet.

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

Vi kan använda värdet för att även skicka data till Blynk -appen. Om dörren är stängd vill vi kunna se det i widgeten Märkt värde. Om dörren öppnas vill vi få ett meddelande och ett e -postmeddelande. Vi gör detta med ett if -uttalande och med hjälp av virtualWrite , meddela , och e-post funktioner från Blynk -biblioteket. Den fullständiga dokumentationen för Blynk finns här .

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ärhelst reed -omkopplaren registrerar en värdeförändring, skickas data till vår virtuella pin, och när dörren öppnas till aviseringswidgeten i appen, samt skriver till konsolen. Observera att de sista hängslen är från där vi började Kolla på funktion ovan.

Slutligen måste vi återställa stiftet när programmet slutar. Detta är detsamma som GPIO.cleanup () du är säkert bekant med redan.

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

Spara nu din kod och avsluta. Kör ditt skript med nod.

sudo node blynkdoor.js

Nu när du flyttar magneten bort från vassensorn bör du få ett meddelande som säger att dörren öppnades och din märkta display ska ändras. Stäng omkopplaren igen så ser du att den märkta displayen ändras igen.

Det är värt att notera att Blynk -appen måste köras på din telefon för att få push -meddelanden, även om e -postmeddelandena fungerar oavsett om appen körs eller inte.

På den korta tid som hittills spenderats med Blynk verkar det vara en mycket enkel tjänst att använda. På det enklaste sättet gör det möjligt för människor utan kodningskunskap att enkelt bygga hemautomatiseringssystem. Med lite extra kodningskunskap blir det ännu kraftfullare, vilket möjliggör mycket mer komplexa system och flera händelseutlösare från enstaka knapptryckningar i appen.

Detta projekt var en grundläggande introduktion till Blynk, men det vi har täckt här kan enkelt modifieras för nästan alla hemautomatiserings- eller mikrokontrollerprojekt.

Har du använt Blynk? Har du ett galet komplext system som använder tjänsten som du vill dela med oss? Låt oss veta i kommentarerna nedan!

Bildkredit: Giuseppe Caccavale via YouTube.com

Dela med sig Dela med sig Tweet E-post Canon vs Nikon: Vilket kameramärke är bättre?

Canon och Nikon är de två största namnen i kameraindustrin. Men vilket märke erbjuder den bättre sortimentet av kameror och objektiv?

Läs Nästa
Relaterade ämnen
  • DIY
  • Smart hem
  • Arduino
  • Raspberry Pi
  • Hemautomation
  • Sakernas internet
  • Elektronik
Om författaren Ian Buckley(216 artiklar publicerade)

Ian Buckley är frilansjournalist, musiker, artist och videoproducent som bor i Berlin, Tyskland. När han inte skriver eller på scenen, pysslar han med DIY -elektronik eller kod i hopp om att bli en galet forskare.

Mer från Ian Buckley

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera