Iniziare con Blynk: semplici dispositivi IoT fai-da-te

Iniziare con Blynk: semplici dispositivi IoT fai-da-te

Blynk [Broken URL Removed] è un servizio Internet of Things (IoT) progettato per rendere il controllo remoto e la lettura dei dati dei sensori dai tuoi dispositivi il più semplice e veloce possibile. In questo articolo tratteremo esattamente cos'è Blynk, come funziona e forniremo due brevi progetti di esempio su diversi usi del servizio con le schede di sviluppo NodeMCU e Raspberry Pi.





Non è mai stato così facile iniziare a sviluppare oggetti intelligenti utilizzando i microcontrollori e i dispositivi IoT sono cresciuti rapidamente in popolarità negli ultimi anni. Schede di sviluppo come Arduino o Raspberry Pi possono essere utilizzate per controllare qualsiasi cosa, dalle prese di corrente di casa alle decorazioni natalizie attivate dal movimento.





Un'area che può rappresentare un problema per i non iniziati è la codifica e il networking. Blynk mira a eliminare la necessità di una codifica estesa e semplificare l'accesso ai dispositivi da qualsiasi punto dello smartphone. È gratuito per gli hobbisti e gli sviluppatori, sebbene sia disponibile anche per l'uso commerciale a pagamento: le aziende possono utilizzare Blynk per creare le proprie app e i propri sistemi, quindi venderli con il proprio marchio.





Blynk utilizza il proprio server e la propria libreria per far funzionare il servizio, ma è l'app Blynk che sembra essere il suo principale punto di forza.

Entra nell'app Blynk

L'app Blynk è disponibile gratuitamente su Android e iOS. È il punto di partenza per i tuoi progetti, con un sistema di trascinamento della selezione semplice da usare per la creazione di controlli personalizzati per la tua configurazione IoT. Il flusso di lavoro è veloce: quando inizi un nuovo progetto ti viene chiesto di scegliere la tua scheda di sviluppo da un ampio elenco e anche il tuo metodo di connessione. L'app invia quindi un token di autorizzazione via e-mail per la connessione al dispositivo tramite il server Blynk.



come sapere se sei stato bloccato su instagram

Gli elementi di controllo sono chiamati Widget : vari tipi di metodi di input e display di output inclusi pulsanti, cursori, joystick, grafici e feedback di testo. Ci sono anche widget specifici per componenti, con controlli stilizzati per LED, display LCD e persino video in streaming live. Notevoli anche i widget che aggiungono funzionalità, come la pubblicazione automatica su Twitter e le notifiche personalizzate.

Sebbene l'app sia gratuita, limita il numero di widget che puoi utilizzare contemporaneamente assegnando loro un costo 'Energia'. L'app ti offre un saldo di 2.000 con cui giocare, con la possibilità di acquistarne altri se necessario.





Ho scoperto che il saldo iniziale fornito era più che sufficiente per i progetti di esempio elencati qui, anche se se la tua configurazione è più complicata potresti trovarti a corto di succo abbastanza rapidamente.

Ogni widget ha un menu di modifica che ti consente di cambiare il nome e il colore. Quindi scegli quale pin influenzare (che sia un pin sulla tua scheda o uno dei pin virtuali di Blynk) insieme all'intervallo di valori da inviare. Per le visualizzazioni di output come grafici e caselle di testo, puoi anche scegliere la frequenza con cui desideri che venga aggiornato, risparmiando potenzialmente larghezza di banda preziosa.





Blynk offre anche la possibilità di assegnare istruzioni a pin 'virtuali', che sono connessioni configurate dall'utente tra l'app e l'hardware. Un singolo pulsante nell'app può quindi essere utilizzato per attivare molti eventi diversi sul dispositivo. Vedremo come usarli più avanti nell'articolo.

L'app offre la possibilità di condividere il tuo progetto con altri. Viene generato un codice QR che può essere inviato via e-mail o scansionato direttamente e utilizzato da chiunque abbia anche l'app Blynk. La persona con cui condividi non può apportare modifiche al progetto, rendendolo un modo rapido e conveniente per condividere il controllo dei tuoi dispositivi. Vale la pena notare, tuttavia, che il progetto nell'app deve essere in esecuzione affinché altri possano accedere all'hardware.

Puoi anche condividere il progetto senza consentire l'accesso al tuo hardware, il che è un ottimo modo per insegnare alle persone come utilizzare l'app senza lasciare che accendano e spengano le luci!

Ho trovato la creazione di un'app molto veloce e intuitiva. Una volta creato, puoi iniziare a usarlo immediatamente premendo il simbolo di riproduzione nell'angolo in alto a destra. Se hai bisogno di apportare modifiche in un secondo momento, puoi semplicemente premere lo stesso pulsante per tornare in modalità di modifica.

Il server Blynk

Dopo aver creato un'app per controllare il tuo dispositivo, hai due opzioni su come comunicare con esso.

Il server cloud Blynk è veloce, reattivo e gratuito. Connettersi a un dispositivo Wi-Fi è facile come copiare il codice di autorizzazione generato nel tuo schizzo Arduino e fornire i dettagli Wi-Fi. Per Raspberry Pi, Blynk fornisce uno script di test che puoi eseguire con il tuo codice di autorizzazione con lo stesso effetto. Più avanti in questo articolo, creeremo il nostro script utilizzando la libreria Blynk per connetterci al servizio.

La seconda opzione è ospita il tuo Server Blynk. Blynk fornisce un server Java basato su Netty open source che può essere eseguito dal tuo computer o anche da un Raspberry Pi. Ciò ha vari vantaggi per alcuni utenti in termini di funzionalità e sicurezza, anche se per i nostri esempi qui ci concentreremo sull'utilizzo del server cloud Blynk fornito.

La Biblioteca Blynk

Il terzo e ultimo elemento di Blynk è il Libreria Blynk . Questa libreria funziona con un enorme elenco di schede di sviluppo per consentire la comunicazione tra l'app e il tuo hardware.

Nella sua forma più semplice, tutto ciò che serve è installare la libreria e caricare uno degli schizzi di esempio ben annotati forniti.

Blynk: configurazione iniziale

Installa l'app Blynk sul tuo smartphone e crea un account. Assicurati di utilizzare un indirizzo email a cui puoi effettivamente accedere poiché è lì che verranno inviati i token di autorizzazione. Ora crea un progetto, selezionando quale scheda utilizzerai e come ti connetterai ad essa. Entrambi gli esempi qui si connettono tramite Wi-Fi, sebbene siano possibili anche connessioni tramite Bluetooth, Ethernet e persino GSM.

Crea il tuo progetto. Questo invierà automaticamente un token di autorizzazione. Se non lo ricevi, puoi inviarlo nuovamente selezionando l'icona delle impostazioni del progetto (il piccolo dado), selezionando il tuo dispositivo e selezionando 'E-mail'.

Successivamente, installa le librerie Blynk dal sito Web Blynk. Per Arduino, installa la libreria copiando i file nel tuo Arduino > librerie cartella. Se non conosci Arduino, ecco un guida per iniziare .

Per Raspberry Pi, dovrai prima assicurarti di aver installato Node.js. C'è una guida per installare Node.js in questo articolo se ne hai bisogno.

Innanzitutto, assicurati che il tuo Pi sia aggiornato e che abbia installato il pacchetto build-essential.

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

Quindi installare il Gestore pacchetti nodo , il Acceso spento biblioteca, e il Battito di ciglia libreria digitandolo nella finestra di Terminale.

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

Puoi verificare che tutto abbia funzionato eseguendo lo script di test Blynk:

blynk.js [YourAuthorizationTokenHere]

Se tutto funziona, dovrebbe assomigliare a questo:

In caso di errori, assicurati che il tuo Pi sia aggiornato e che sia installata la versione più recente di Node.js, prima di reinstallare le librerie NPM, OnOff e Blynk.

Configurazione rapida con NodeMCU

Questo primo esempio mostra quanto sia veloce configurare sistemi semplici usando Blynk. Non richiede codifica e, una volta configurato, è completamente autonomo. Finché la scheda ha accesso alla tua connessione Wi-Fi, puoi accedervi da qualsiasi luogo utilizzando il tuo smartphone.

Per iniziare, imposta un semplice circuito su una breadboard. Collegare il pin D0 alla gamba positiva di un LED e di nuovo al pin GND attraverso un resistore da 220 Ohm.

Apri il tuo progetto NodeMCU nell'app Blynk. Sul lato destro, seleziona il Pulsante widget dal menu. Seleziona il tuo pulsante nel tuo progetto per aprire il suo menu delle proprietà. Qui puoi nominarlo e scegliere quale pin sulla tua scheda NodeMCU dovrebbe influenzare. Selezionare perno D0 dall'elenco di output e cambia modalità per renderlo un interruttore di accensione e spegnimento, piuttosto che un interruttore momentaneo.

Premi indietro (tutte le modifiche vengono salvate automaticamente), quindi premi l'icona di riproduzione nell'angolo in alto a destra per avviare l'app. Puoi premere lo stesso pulsante in qualsiasi momento per tornare alla modifica del progetto.

Quindi, apri l'IDE Arduino e scegli la scheda e la porta NodeMCU dal menu degli strumenti. Se non vedi la tua scheda in questo menu, potrebbe essere necessario installare le librerie ESP8266 (questa guida dovrebbe aiutare).

Ora apri lo script autonomo ESP8266 fornito da Blynk nella loro libreria navigando su File > Esempi > ​​Blynk > Schede_WiFi > ESP8266_Standalone . Sostituisci il segnaposto del token di autorizzazione con quello che hai ricevuto via email e inserisci i tuoi dati Wi-Fi.

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

Salva lo schizzo con un nuovo nome e caricalo sulla tua bacheca. Ora quando premi il pulsante nell'app, il LED dovrebbe accendersi e spegnersi. Se non funziona, controlla di aver premuto l'icona di riproduzione nell'app.

In casi semplici come questi, Blynk è incredibilmente veloce da configurare.

Vale anche la pena notare che poiché utilizza il server Blynk, puoi controllare la tua scheda da qualsiasi luogo, purché la scheda abbia accesso alla connessione Wi-Fi domestica e il tuo smartphone abbia accesso ai dati mobili.

Blynk sul Raspberry Pi

Puoi usare Blynk esattamente allo stesso modo dell'esempio sopra sul Raspberry Pi usando lo script di test Blynk, ma ci sono alcune funzionalità più profonde fornite dai pin virtuali di Blynk, che esamineremo ora.

Blynk funziona utilizzando Node.js, quindi il codice che scriveremo oggi sarà in Javascript. Se non conosci la lingua, questo dovrebbe essere un ottimo punto di partenza per iniziare.

Utilizzeremo la libreria Blynk per creare un'app che segnala se un sensore di porta è aperto o chiuso e invia un'e-mail e una notifica push al tuo cellulare quando la porta si apre.

Avrai bisogno:

  • Interruttore magnetico per porta (noto anche come interruttore reed)
  • 1x1k? resistore
  • 1x 10k? resistore
  • 1x220? resistore
  • 1x LED
  • Breadboard e cavi di collegamento

Imposta la tua breadboard in questo modo:

come fare una tabella in word

Nota che la libreria di Blynk utilizza i numeri GPIO dei pin del Pi, quindi li useremo in tutto questo progetto. Collegare i pin 5V e GND ai binari di alimentazione sulla breadboard. Collega il pin 22 del GPIO sul Raspberry Pi all'anodo del LED e collega il catodo al binario di terra attraverso il connettore 220? resistore. Collegare il pin 17 di GPIO a un lato dell'1k? resistore, e collegare il 10? resistore sull'altro lato e il lato 5V della barra di alimentazione. Infine, collega il tuo interruttore reed al lato GND della barra di alimentazione su un lato e sulla linea dove 1k? e 10k? le resistenze si incontrano dall'altra. Questa configurazione del resistore di pull-up farà leggere alta la tensione sul pin 17 quando l'interruttore si apre.

Crea un nuovo progetto nell'app Blynk e seleziona la tua scheda Raspberry Pi. Dal menu del widget seleziona un valore etichettato, e-mail e un widget di notifica

Seleziona il valore etichettato, assegnagli un nome e scegli pin virtuale V0 come pin di input. È inoltre possibile modificare la modalità di visualizzazione delle informazioni. In questo caso aggiungi 'La porta è ' prima di /pin/ nella scheda Etichetta. Possiamo lasciare il valore Frequenza di lettura all'impostazione predefinita, anche se puoi modificarlo per inviare dati alla tua app a una velocità diversa.

Vale la pena notare che in realtà non è necessario inserire un indirizzo e-mail nel widget e-mail poiché lo aggiungeremo al codice in seguito, anche se il widget deve essere presente affinché funzioni.

Quando sei soddisfatto dell'aspetto della tua app, premi il pulsante Riproduci nell'angolo in alto a destra.

Ora crea un nuovo script chiamato blynkdoor.js . Il codice completo è disponibile completamente annotato qui .

sudo nano blynkdoor.js

Dobbiamo iniziare importando la libreria Blynk, aggiungendo la nostra chiave di autorizzazione e creando un'istanza di Blynk da utilizzare nel nostro script.

var blynklib = require('/usr/local/lib/node_modules/blynk-library');
var AUTH ='PasteAuthorizationCodeHere'
var blynk = new blynklib.Blynk(AUTH);

Dobbiamo anche importare la libreria OnOff e dichiarare le variabili che configurano il nostro interruttore reed e il LED. Creeremo anche una variabile per il pin virtuale che abbiamo impostato sull'app Blynk.

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;

Ora useremo il guarda funzione dalla libreria OnOff per osservare i cambiamenti nel nostro interruttore reed. L'interruttore della porta è su 0 o 1 , e ogni volta che quel valore cambia, scriviamo quella modifica sul pin LED.

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

Possiamo usare il valore anche per inviare dati all'app Blynk. Se la porta è chiusa, vogliamo essere in grado di vederlo nel widget Valore etichettato. Se la porta si apre, vogliamo ricevere una notifica e un'e-mail che ce lo dica. Lo facciamo con un'istruzione if e usando virtualWrite , notificare , e e-mail funzioni dalla libreria Blynk. È possibile trovare la documentazione completa per Blynk qui .

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');
};
});

Ora ogni volta che l'interruttore reed registra un cambio di valore, i dati vengono inviati al nostro pin virtuale, e nel caso dell'apertura della porta al widget di notifica nell'app, oltre che alla scrittura sulla console. Nota che le parentesi graffe finali sono da dove abbiamo iniziato il guarda funzione sopra.

Infine, dobbiamo reimpostare il pin al termine del programma. Questo è lo stesso del GPIO.cleanup() probabilmente conosci già.

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

Ora salva il codice ed esci. Esegui il tuo script usando node.

sudo node blynkdoor.js

Ora, quando allontani il magnete dal sensore reed, dovresti ricevere una notifica che ti dice che la porta si è aperta e il display etichettato dovrebbe cambiare. Chiudi di nuovo l'interruttore e vedrai che il display etichettato cambia di nuovo.

Vale la pena notare che l'app Blynk deve essere in esecuzione sul telefono per ricevere le notifiche push, sebbene le e-mail funzionino indipendentemente dal fatto che l'app sia in esecuzione o meno.

Nel poco tempo trascorso finora con Blynk, sembra un servizio molto facile da usare. Nel modo più semplice, consente alle persone senza conoscenze di programmazione di costruire facilmente sistemi di automazione domestica fai-da-te. Con un po' di conoscenza in più di programmazione diventa ancora più potente, consentendo sistemi molto più complessi e trigger di più eventi dalla pressione di un singolo pulsante nell'app.

Questo progetto è stato un'introduzione di base a Blynk, anche se ciò che abbiamo trattato qui potrebbe essere facilmente modificato per quasi tutti i progetti di automazione domestica o microcontrollori.

Hai usato Blynk? Hai un sistema follemente complesso che utilizza il servizio che vorresti condividere con noi? Fateci sapere nei commenti qui sotto!

Credito immagine: Giuseppe Caccavale tramite YouTube.com

Condividere Condividere Tweet E-mail Canon vs Nikon: quale marca di fotocamere è migliore?

Canon e Nikon sono i due più grandi nomi nel settore delle fotocamere. Ma quale marca offre la migliore gamma di fotocamere e obiettivi?

Leggi Avanti
Argomenti correlati
  • Fai da te
  • Casa intelligente
  • Arduino
  • Lampone Pi
  • Domotica
  • Internet delle cose
  • Elettronica
Circa l'autore Ian Buckley(216 articoli pubblicati)

Ian Buckley è un giornalista freelance, musicista, performer e produttore di video che vive a Berlino, in Germania. Quando non scrive o sul palco, armeggia con l'elettronica o il codice fai-da-te nella speranza di diventare uno scienziato pazzo.

Altro da Ian Buckley

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per consigli tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti