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

Blynk är en tjänst för internet av saker (IoT) som är utformad för att göra fjärrkontroll och läsa sensordata från dina enheter så snabbt och enkelt som möjligt.

Blynk är en tjänst för internet av saker (IoT) som är utformad för att göra fjärrkontroll och läsa sensordata från dina enheter så snabbt och enkelt som möjligt.
Annons

Blynk är en tjänst för internet av saker (IoT) som är utformad för att göra fjärrkontroll och läsa 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 ge två korta exempelprojekt om olika användningsområden av tjänsten med NodeMCU och Raspberry Pi-utvecklingsbrädor.

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 de senaste åren. Utvecklingsbrädor som Arduino eller Raspberry Pi kan användas för att styra allt från eluttagen Hur man kontrollerar billiga RF-strömkällor från OpenHAB Hur man kontrollerar billiga RF-strömkällor från OpenHAB Har några billiga RF-baserade vägguttag men upptäckte att inga smarta hubbar fungerar med dem? Du kan länka dem till ditt DIY smarta hemsystem med endast cirka 10 dollar i delar. Läs mer i ditt hem för rörelseaktiverade juldekorationer Uppgradera din julkrans med en rörelsesaktiverad LED-matris Uppgradera din julkrans med en rörelsesaktiverad LED-matris Denna DIY Julkrans använder en Arduino- och LED-matris för att skapa en fantastisk ljusdisplay som Jag kommer imponera på dina vänner och familj. Läs mer .

Ett område som kan utgöra ett problem för de oinitierade ä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 från var som helst på din smartphone. Det är gratis att använda för hobbyister och utvecklare, men det är också tillgängligt för kommersiellt bruk till en avgift. Företag kan använda Blynk för att skapa egna appar och system och sälja dem med egen branding.

Blynk använder sin egen server och bibliotek för att få tjänsten att fungera, men det är Blynk-appen som verkar vara den största styrkan.

Ange Blynk App

Blynk-appen är tillgänglig gratis på Android och iOS. Det är utgångspunkten för dina projekt, med ett enkelt drag- och släppsystem för att bygga anpassade kontroller för din IoT-inställning. Arbetsflödet är snabbt: När du startar ett nytt projekt uppmanas du att välja din utvecklingsstyrelse från en omfattande lista, och även din metod för anslutning. Appen skickar sedan en behörighets token via e-post för att ansluta till din enhet via Blynk-servern.

Kontrollelement kallas Widgets : olika typer av inmatningsmetoder och utmatningsdisplayer inklusive knappar, reglage, en joystick, diagram och textåterkoppling. Det finns också komponentspecifika widgets, med stiliserade kontroller för LED, LCD-skärmar och till och med live-streamad video. Också anmärkningsvärda är widgets som lägger till funktioner, som automatisk inläggning till Twitter och anpassade meddelanden.

Medan appen är fri begränsar den hur många widgets du kan använda genast genom att ge dem en "energikostnad". Appen ger dig en balans på 2.000 att leka med, med möjlighet att köpa mer om det behövs.

Jag hittade att det startade saldot var mer än tillräckligt för de exemplarprojekt som listas här, men om installationen är mer komplicerad kan du hitta dig själv rinnande av juice ganska snabbt.

widgets och knapp blynk

Varje widget har en redigeringsmeny som låter dig ändra namn och färg. Därefter väljer du vilken stift som ska påverka (oavsett om det är en stift på din bräda eller en av Blynks virtuella stiften) tillsammans med det antal värden som ska skickas. För utmatningsindikatorer som diagram och textrutor kan du också välja hur ofta du vill att den ska uppdateras, vilket kan spara värdefull bandbredd.

Blynk har också möjlighet att tilldela instruktioner till "virtuella" stift, vilka är användardefinierade 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 beskriver hur du använder dem 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änds av någon som också har Blynk-appen. Den som du delar med kan inte göra ändringar i projektet, vilket gör det snabbt och bekvämt att dela kontroll över dina enheter. Det är dock värt att notera att ditt projekt i appen måste köras för att andra ska ha tillgång till hårdvaran.

Du kan också dela projektet utan att tillåta åtkomst till din maskinvara, vilket är ett bra sätt att lära dig hur du använder appen utan att låta dem tända och tända dina lampor!

Jag hittade att skapa en app väldigt snabb och intuitiv. När du har skapat 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.

Blynk Cloud Server är snabb, lyhörd och fri 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 ge dina Wi-Fi-detaljer. För Raspberry Pi ger Blynk ett testskript som du kan köra med din behörighetskod till samma effekt. Senare i den här artikeln skapar vi vårt eget skript med Blynk-biblioteket för att ansluta till tjänsten.

Det andra alternativet är att vara värd för din egen Blynk-server. Blynk ger en öppen källkod Netty-baserad Java-server 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 vad 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 Cloud-servern.

blynk webbplats

Blynk-biblioteket

Det tredje och sista elementet i Blynk är Blynk-biblioteket. Detta bibliotek fungerar med en stor lista över utvecklingsbrädor för att möjliggöra kommunikation mellan appen och din hårdvara.

På det enklaste sättet är allt som krävs för att installera biblioteket och ladda en av de väl antecknade exempel skisserna 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 där dina behörighetsbuller kommer att skickas. Skapa nu ett projekt, välj vilken styrelse du ska använda och hur du kommer att ansluta till den. Båda exemplen här ansluts via Wi-Fi, även om anslutningar via Bluetooth, Ethernet och även GSM är möjliga.

Skapa ditt projekt. Detta skickar automatiskt en behörighetstoken. Om du inte tar emot den kan du skicka den igen genom att välja ikonen för projektinställningar (den lilla muttern), 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. Komma igång med Arduino: En nybörjarguide Komma igång med Arduino: En nybörjarguide Arduino är en öppen prototypplattform för öppen källkod baserad på flexibel, lättanvänd hårdvara och programvara. Den är avsedd för artister, designers, hobbyister och alla som är intresserade av att skapa interaktiva objekt eller miljöer. Läs mer .

För Raspberry Pi måste du se till att du har Node.js installerat först. Det finns en guide till installerad Node.js i den här artikeln. Så här gör du ett DIY-styrt Wi-Fi-ljus Så här gör du ett DIY-styrt Wi-Fi-ljus I den här guiden kommer du att lära dig hur du skapar en Wi-Fi kontrollerbart ljus, och styra det med Siri. Läs mer om du behöver det.

Först och främst, se till att din Pi är aktuell, och har det byggande viktiga paketet installerat.

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

Installera sedan nodpaketets hanterare, OnOff- biblioteket och Blynk- biblioteket genom att skriva det här i ditt terminalfönster.

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

Du kan kolla allt som har fungerat genom att köra Blynk test scriptet:

 blynk.js [YourAuthorizationTokenHere] 

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

blynk pi blynk test script

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

Snabbinställning med NodeMCU

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

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

nodemcu fritzing

Öppna ditt NodeMCU-projekt i Blynk-appen. På höger sida, välj knappen Widget från menyn. Välj din knapp i ditt projekt för att öppna den är egenskapsmenyn. Här kan du namnge det och välja vilken stift på ditt NodeMCU-bräda det ska påverka. Välj stift D0 från utgångslistan och byt läge för att göra det till en strömbrytare, i stället för en kort tryckknapp.

Tryck tillbaka (alla ändringar sparas automatiskt) och tryck sedan på uppspelningsikonen längst upp till höger 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 din styrelse i den här menyn kan du behöva installera ESP8266-biblioteken (den här guiden ska hjälpa till. Träffa Arduino Killer: ESP8266 Möt Arduino Killer: ESP8266 Vad händer om jag sa till dig att det finns en Arduino-kompatibel dev med inbyggd Wi-Fi för mindre än $ 10? Jo, det finns. Läs mer).

Öppna nu ESP8266 standalone-skriptet Blynk tillhandahållet i deras bibliotek genom att navigera till Arkiv> Exempel> Blynk> Boards_WiFi> ESP8266_Standalone . Byt platshållare för godkännandekoden med den du mottog 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 det till din styrelse. Nu när du trycker på knappen i appen, ska lysdioden slås på och av. Om det inte fungerar, kontrollera att du har tryckt på spellikonet i appen.

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

Det är också värt att notera att eftersom det använder Blynk-servern kan du styra din styrelse från var som helst, så länge som styrelsen har tillgång till din Wi-Fi-anslutning på din hem och din smartphone har mobil dataåtkomst.

Blynk på Raspberry Pi

Du kan använda Blynk exakt på samma sätt som i det ovanstående exemplet på Raspberry Pi genom att använda Blynk test scriptet, men det finns några djupare funktioner som Blynks virtuella stift ger, som vi kommer att undersöka nu.

Blynk arbetar med Node.js, så koden vi skriver idag kommer att finnas i Javascript. Om du är ny på språket bör det här vara en bra primer för att komma igång. Börja kodning JavaScript just nu med dessa 5 fantastiska fria resurser Börja kodning JavaScript just nu med dessa 5 bra gratis resurser Läs mer.

Vi använder Blynk-biblioteket för att skapa en app som rapporterar om en dörrkännare är öppen eller stängd, och skickar ett mail och skickar meddelande till din mobiltelefon när dörren öppnas.

Du kommer behöva:

  • Dörrmagnetomkopplare (även känd som reed switch)
  • 1x 1k? motstånd
  • 1x 10k? motstånd
  • 1x 220? motstånd
  • 1x LED
  • Brödbräda och kopplingstrådar

Ställ upp ditt brödbräda så här:

pi fritzing

Observera att Blynks bibliotek använder GPIO-numren på Pi-stiften, så vi kommer att använda dem genom hela projektet. Anslut 5V och GND-stiften till elnätet på brödbrädet. Anslut GPIO-stift 22 på Raspberry Pi till LED-anoden och anslut katoden till jordskenan genom 220? motstånd. Anslut GPIO-pin 17 till en sida av 1k? motstånd och anslut 10? motstånd till andra sidan, och 5V-sidan av elnätet. Slutligen koppla din reed-brytare till GND-sidan på nätskenan på ena sidan och på linjen där 1k? och 10k? motstånd möts på den andra. Denna inställning av upplösningsmotståndet kommer att orsaka att spänningen på stift 17 läses högt när strömbrytaren öppnas.

Skapa ett nytt projekt i Blynk-appen och välj din Raspberry Pi-bräda. Från widgetmenyn välj ett märkt värde, e-post och en meddelande-widget

Välj det märkta värdet, namnge det och välj virtuell stift V0 eftersom det är ingångsstift. Du kan också ändra hur informationen visas. Lägg i så fall "Dörren är" före / pin / på fliken Etikett. Vi kan lämna läsfrekvensvärdet vid standardinställningen, men du kan ändra det här för att skicka data till din app till en annan takt.

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

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

projektmärkt värde

Skapa nu ett nytt skript som heter blynkdoor.js . Den fullständiga koden är tillgänglig, fullständigt annoterad 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 förekomst av Blynk att använda 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 ställer in vår reed switch och LED. Vi skapar också en variabel för den virtuella nålen som vi ställer 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 klockfunktionen från OnOff-biblioteket för att titta på förändringar i vår reed switch. Dörromkopplaren är antingen 0 eller 1, och när 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 din Labeled Value-widget. Om dörren öppnas vill vi få en anmälan och ett mail som berättar för oss. Vi gör detta med ett if-uttalande, och använder virtualWrite, meddela och e- postfunktioner 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 protected]", "Front Door", "The front door just opened."); blynk.virtualWrite(virtualPin, "Open"); console.log('Door Open'); }; }); 

Nu när reed-omkopplaren registrerar en värdeförändring skickas data till vår virtuella stift, och när det gäller dörröppningen till meddelandedisplayen i appen, samt skrivning till konsolen. Observera att de sista hakarna är från där vi startade klockfunktionen ovan.

Slutligen måste vi nollställa stiftet när programmet avslutas. Detta är detsamma som GPIO.cleanup () du är förmodligen 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 sensorns sensor, bör du få en anmälan som säger att dörren öppnas 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 kunna ta emot push-meddelanden, även om e-postmeddelandena fungerar om appen körs eller inte.

På den korta tiden som har spenderats så långt med Blynk, verkar det vara en mycket enkel tjänst att använda. På det enklaste sättet tillåter människor utan kodning kunskap att enkelt bygga DIY 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 lätt ändras för nästan alla hemautomatiserings- eller mikrokontrollerprojekt.

Har du använt Blynk? Har du ett galet komplext system med hjälp av den tjänst som du vill dela med oss? Låt oss veta i kommentarerna nedan!

Bildkredit: Giuseppe Caccavale via YouTube.com

In this article