Komma igång med Blynk Simple DIY IoT-enheter

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

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 på 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, även om det också är tillgängligt för kommersiellt bruk till en avgift. Företag kan använda Blynk för att skapa egna appar och system, så sälja dem med egen branding.

Blynk använder sin egen server och bibliotek för att kunna göra tjänsten, 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 heter 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 alla en “Energi” kosta. Appen ger dig en balans på 2.000 att leka med, med möjlighet att köpa mer om det behövs.

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

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 utmatningsdisplayer 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å förmågan att tilldela instruktioner till “virtuell” 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 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 Blynk cloud-server som tillhandahålls.

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-få uppdatering sudo apt-få uppgradering sudo apt-get install build-essential 

Installera sedan Node Package Manager, de På av bibliotek och Blynk biblioteket genom att skriva detta in i ditt terminalfönster.

sudo npm installera -g npm sudo npm installera -g onoff sudo npm installera -g blynk-bibliotek 

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:

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 pin 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 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 avstängningsbrytare, snarare än en kortvarig tryckbrytare.

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 som tillhandahålls 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 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 titta in 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. Starta kodning av JavaScript nu med dessa 5 bra gratis resurser Börja kodning JavaScript just nu med dessa 5 bra gratis resurser Läs mer .

Vi kommer att använda Blynk biblioteket för att skapa en app som rapporterar om en dörrgivare ä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:

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 som det är ingångsstiftet. Du kan också ändra hur informationen visas. Lägg i det här fallet till “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.

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 instans av Blynk för att använda i vårt manus.

var blynklib = kräver ('/ usr / local / lib / node_modules / blynk-bibliotek'); var AUTH = 'PasteAuthorizationCodeHere' var blynk = ny 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 = kräver ('onoff'). Gpio, reed = ny Gpio (17, 'in', båda)), // registrera ändringar 'båda' när växeln öppnas och stängs ledt = ny Gpio '); var virtuellPin = 0; 

Nu ska vi använda Kolla på funktionen från OnOff-biblioteket för att titta på förändringar i vår reed switch. Dörrbrytaren är antingen på 0 eller 1, och när värdet ändras skriver vi den ändringen till LED-stiftet.

reed.watch (funktion (fel, värde) 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, anmäla, och e-post funktioner från Blynk biblioteket. Den fullständiga dokumentationen för Blynk finns här.

 om (värde == 0) blynk.virtualWrite (virtualPin, "Closed"); console.log ('Door Closed'); ; om (värde == 1) blynk.notify ("Dörren öppnades precis!"); blynk.email ("[email protected]", "Front Door", "Framdörren öppnade precis."); 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 Kolla på funktion 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', funktion () led.unexport (); reed.unexport ();); 

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

sudo noden 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-meddelandena, trots att 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. Det enklaste gör det möjligt för personer utan kodning 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 enkelt ändras för nästan alla hemautomatiseringar 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

Utforska mer om: Arduino, Elektronik, Hemautomation, Internet av saker, Raspberry Pi.