Annons

Blynk [Broken URL Removed] är en Internet of Things-tjänst (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 tillhandahålla två korta exempelprojekt om olika användningar av 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 vuxit i popularitet under de senaste åren. Utvecklingstavlor som Arduino eller Raspberry Pi kan användas för att kontrollera allt från eluttag Hur man styr billiga RF-uttag från OpenHABHar du några billiga RF-baserade eluttag men upptäckte att inga smarta hemnavmar fungerar med dessa? Du kan länka dem till ditt DIY smarta hemssystem med bara cirka 10 dollar i delar. Läs mer i ditt hem för rörelse-aktiverad julpynt Uppgradera din julkrans med en rörelseaktiverad LED-matrisDenna DIY-julkrans använder en Arduino- och LED-matris för att producera en fantastisk lysdisplay som kommer att imponera på dina vänner och familj.

instagram viewer
Läs mer .

Ett område som kan utgöra ett problem för de oinitierade är kodning och nätverk. Blynk strävar efter 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 hobbyister och utvecklare, men det är också tillgängligt att använda kommersiellt för en avgift - företag kan använda Blynk för att skapa sina egna appar och system och sedan sälja dem med sina egna 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 främsta styrkan.

Gå till Blynk-appen

Blynk-appen är gratis tillgänglig på Android och iOS. Det är utgångspunkten för dina projekt, med ett enkelt och använd släpp-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 din utvecklingsskiva från en omfattande lista och även din anslutningsmetod. Appen skickar sedan ett auktoriseringstoken via e-post för anslutning till din enhet via Blynk-servern.

Kontrollelement kallas widgets: olika typer av inmatningsmetoder och utgångsskärmar inklusive knappar, reglage, en joystick, grafer och textåterkoppling. Det finns också komponentspecifika widgetar, med stiliserade kontroller för lysdioder, LCD-skärmar och till och med live-streamad 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 det hur många widgetar du kan använda på en gång genom att ge dem alla en "Energi" -kostnad. Appen ger dig en balans på 2 000 att spela med, med möjlighet att köpa mer om det behövs.

Jag upptäckte att startbalansen som tillhandahölls var mer än tillräckligt för exemplen som anges här, men om din installation är mer komplicerad kanske du kommer att få slut på juice helt snabbt.

widgets och knapp blynk

Varje widget har en redigeringsmeny som gör att du kan ändra namn och färg. Du väljer sedan vilken stift som ska påverkas (oavsett om det är en stift på brädet eller en av Blynks virtuella stift) tillsammans med värdet som ska skickas. För utgångsskärmar som grafer 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ö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 beskriver 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 kontrollen ö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 hårdvara, vilket är ett utmärkt sätt att lära människor att använda appen utan att låta dem slå på och stänga av lamporna!

Jag tyckte att det var mycket snabbt och intuitivt att skapa en app. När du har skapat kan du börja använda den omedelbart 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äge.

Blynk-servern

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

Blynk-molnservern ä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 tillhandahåller Blynk ett testskript som du kan köra med din auktoriseringskod med samma effekt. Senare i den här artikeln 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 Blynk-server. Blynk tillhandahåller en open source 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 Blynk molnserver försedd.

blynk webbplats

Blynk-biblioteket

Det tredje och sista elementet i Blynk är Blynk bibliotek. Detta bibliotek arbetar med en enorm lista med utvecklingsplaner för att tillåta kommunikation mellan appen och din hårdvara.

På det enklaste är allt som krävs att installera biblioteket och ladda en av de medföljande exempelskisserna.

Blynk: Inledande installation

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 godkännandetoken kommer att skickas. Skapa nu ett projekt, välj vilket kort du ska använda och hur du ansluter 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 ett auktoriserings-token. Om du inte får 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".

Därefter installerar du Blynk-biblioteken från Blynk-webbplatsen. För Arduino, installera biblioteket genom att kopiera filerna till ditt Arduino> bibliotek mapp. Om du är ny med Arduino är här en guide för att komma igång Komma igång med Arduino: En nybörjarguideArduino är en open-source elektronikprototypplattform baserad på flexibel, lättanvänd hårdvara och mjukvara. Den är avsedd för konstnärer, 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 installerat Node.js först. Det finns en guide för att installera Node.js i Denna artikel Hur man gör ett DIY Siri-kontrollerat Wi-Fi-ljusI den här guiden kommer du att lära dig hur du skapar ett Wi-Fi-kontrollerbart ljus och kontrollerar det med Siri. Läs mer om du behöver det.

För det första, se till att din Pi är uppdaterad och att det nödvändiga paketet är installerat.

sudo apt-get-uppdatering. sudo apt-get upgrade. sudo apt-get install build-essential. 

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

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

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

blynk.js [YourAuthorizationTokenHere] 

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

blynk pi blynk testskript

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.

Snabbinställning 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 installationen är helt fristående. Så länge styrelsen har tillgång till din Wi-Fi-anslutning kan du komma åt den var som helst med din smartphone.

För att börja, ställer du in en enkel krets på en brödskiva. Anslut stift D0 till det positiva benet på en LED och tillbaka till GND-stiftet genom ett 220 Ohm-motstånd.

nodemcu fritzing

Öppna ditt NodeMCU-projekt i Blynk-appen. Välj höger sida Knapp widget från menyn. Välj din knapp i ditt projekt för att öppna dess egenskaper-meny. Här kan du namnge det och välja vilken stift på ditt NodeMCU-kort som det ska påverka. Välj stift D0 från utgångslistan och omkopplarläge för att göra det till en av och på-brytare, snarare än en momentan tryckbrytare.

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 redigering av ditt projekt.

Öppna sedan Arduino IDE och välj ditt NodeMCU-kort och port från verktygsmenyn. Om du inte ser ditt bräde i den här menyn, kan du behöva installera ESP8266-biblioteken (denna guide bör hjälpa Möt Arduino Killer: ESP8266Vad händer om jag sa till dig att det finns en Arduino-kompatibel dev-kort med inbyggd Wi-Fi för mindre än $ 10? Det finns det. Läs mer ).

Öppna nu det fristående skriptet ESP8266 som Blynk levererade i deras bibliotek genom att navigera till Fil> Exempel> Blynk> Boards_WiFi> ESP8266_Standalone. Byt ut platshållaren för auktoriseringstoken med den du fått via e-post och ange dina Wi-Fi-detaljer.

char autor [] = "YourAuthToken"; char ssid [] = "YourNetworkName"; char pass [] = "YourPassword"; 

Spara skissen under ett nytt namn och ladda upp den till ditt bräde. När du trycker på knappen i appen bör lysdioden slås på och av. Om det inte fungerar, kontrollera att du har tryckt på uppspelningsikonen i appen.

I enkla fall som dessa är Blynk otroligt snabb att installera.

blynk nodemcu avslutad

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

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-testet skript, men det finns några djupare funktioner som Blynks virtuella stift ger, som vi kommer att undersöka nu.

Blynk fungerar med Node.js, så koden vi skriver idag kommer att finnas i Javascript. Om du är ny på språket, detta bör vara en bra grund för att komma igång Börja koda JavaScript just nu med dessa 5 stora gratis resurser Läs mer .

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 pushmeddelande 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
  • Breadboard- och anslutningskablar

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

pi fritzing

Observera att Blynks bibliotek använder GPIO-numren på Pi-stiften, så vi kommer att använda dem under hela detta projekt. Anslut 5V- och GND-stiften till elskenorna på brädskivan. Anslut GPIO-stift 22 på Raspberry Pi till LED-anoden och anslut katoden till jordskenan genom 220? motstånd. Anslut GPIO-stift 17 till en sida av 1k? motstånd, och anslut 10? motstånd mot andra sidan, och 5V-sidan av kraftskenan. Slutligen ansluter du vassomkopplaren till GND-sidan på kraftskenan på ena sidan och på linjen där 1k? och 10k? motstånd möts å andra sidan. Denna inställning av uppdragsmotståndet får spänningen på stift 17 att läsa högt när omkopplaren öppnas.

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

Välj märkt värde, namnge det och välj virtuell stift V0 som det är inmatningsnålen. Du kan också ändra hur informationen visas. I detta fall lägg till ”Dörren är” före / stift / på fliken Etikett. Vi kan lämna läsfrekvensvärdet som standardinställning, men du kan ändra detta för att skicka data till din app med en annan takt.

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

När du är nöjd med hur din app ser ut trycker du på knappen Spela uppe till höger.

projekt märkt värde

Skapa nu ett nytt skript som heter blynkdoor.js. Den fullständiga koden är tillgänglig helt kommenterad här.

sudo nano blynkdoor.js. 

Vi måste börja med att importera Blynk-biblioteket, lägga till vår auktoriseringsnyckel och skapa en instans av Blynk som ska användas i vårt skript.

var blynklib = kräva ('/ usr / local / lib / node_modules / blynk-bibliotek'); var AUTH = 'PasteAuthorizationCodeHere' var blynk = new blynklib. Blynk (AUTH); 

Vi måste också importera OnOff-biblioteket och förklara variabler som ställer in vår reed-switch och LED. Vi skapar också en variabel för den virtuella stiftet som vi skapade i Blynk-appen.

var Gpio = kräva ('onoff'). Gpio, reed = ny Gpio (17, 'in', 'båda'), // registret ändras 'båda' när omkopplaren öppnas och stängs. led = ny Gpio (22, 'ut'); var virtualPin = 0; 

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

reed.watch (funktion (fel, värde) {led.writeSync (värde); 

Vi kan använda värdet för att också 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å ett meddelande och e-post som berättar för oss. Vi gör detta med ett if-uttalande och med virtualWrite, anmäla, och e-post funktioner från Blynk-biblioteket. Den fullständiga dokumentationen för Blynk finns här.

 if (värde == 0) {blynk.virtualWrite (virtualPin, "Closed"); console.log ('Dörr stängd'); }; if (värde == 1) {blynk.notify ("Dörren öppnade just!"); blynk.email ("[email protected]", "Front Door", "The front door just opens."); blynk.virtualWrite (virtualPin, "Open"); console.log ('Door Open'); }; }); 

Nu när vassomkopplaren registrerar en värdeförändring skickas data till vår virtuella stift och in fallet med dörren som öppnas till aviseringswidgeten i appen samt att skriva till konsolen. Observera att de sista hängslen är där vi började Kolla på funktion ovan.

Slutligen måste vi återställa stiftet när programmet slutar. Detta är samma sak som GPIO.cleanup () du är förmodligen redan bekant med.

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

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

sudo node blynkdoor.js. 

När du flyttar magneten bort från vassensorn bör du få ett meddelande om att dörren öppnades och din märkta skärm ska ändras. Stäng omkopplaren igen så ser du att den märkta skärmen ändras igen.

pi arbetar gif

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-postmeddelanden fungerar oavsett om appen körs eller inte.

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

Detta projekt var en grundläggande introduktion till Blynk, även om det vi har täckt här lätt skulle kunna ändras för nästan alla hemmeautomatiseringar eller mikrokontrollerprojekt.

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

Bildkredit: Giuseppe Caccavale via YouTube.com

Ian Buckley är frilansjournalist, musiker, artist och videoproducent bosatt i Berlin, Tyskland. När han inte skriver eller på scenen tänker han på DIY-elektronik eller kod i hopp om att bli en gal forskare.