Annuncio pubblicitario

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 cosa è Blynk, come funziona e forniremo due brevi progetti di esempio su diversi usi del servizio con schede di sviluppo NodeMCU e Raspberry Pi.

Non è mai stato così facile iniziare a sviluppare oggetti intelligenti utilizzando i microcontrollori e i dispositivi IoT hanno rapidamente guadagnato popolarità negli ultimi anni. Schede di sviluppo come Arduino o Raspberry Pi possono essere utilizzate per controllare tutto da prese di corrente Come controllare prese di corrente RF economiche da OpenHABAlcune prese di corrente a basso costo basate su RF hanno scoperto che nessun hub di casa intelligente funziona con quelli? Puoi collegarli al tuo sistema di casa intelligente fai-da-te con solo circa $ 10 in parti. Leggi di più a casa tua attivato dal movimento

decorazioni natalizie Aggiorna la tua ghirlanda di Natale con una matrice LED Motion ActivatedQuesta ghirlanda natalizia fai-da-te utilizza una matrice Arduino e LED per produrre uno straordinario display luminoso che impressionerà i tuoi amici e la tua famiglia. Leggi di più .

Un'area che può rappresentare un problema per i non iniziati è la codifica e il networking. Blynk mira a rimuovere la necessità di una codifica estesa e rendere facile l'accesso ai tuoi dispositivi da qualsiasi luogo sul tuo smartphone. È gratuito per gli hobbisti e gli sviluppatori, sebbene sia disponibile anche per l'uso commerciale a a pagamento: le aziende possono utilizzare Blynk per creare le proprie app e sistemi e venderle con le proprie branding.

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

Accedi all'app Blynk

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

Gli elementi di controllo vengono chiamati widget: vari tipi di metodi di input e display di output inclusi pulsanti, cursori, un joystick, grafici e feedback di testo. Esistono anche widget specifici per componente, 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.

Mentre l'app è gratuita, limita il numero di widget che è possibile utilizzare contemporaneamente assegnando a tutti un costo "Energia". L'app ti dà un saldo di 2.000 con cui giocare, con la possibilità di acquistarne di più se necessario.

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

widget e pulsante blynk

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

Blynk offre anche la possibilità di assegnare istruzioni ai pin "virtuali", che sono connessioni configurate dall'utente tra l'app e l'hardware. È quindi possibile utilizzare un singolo pulsante nell'app per attivare molti eventi diversi sul dispositivo. Tratteremo come utilizzarli 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 tramite e-mail o scansionato direttamente e utilizzato da chiunque disponga anche dell'app Blynk. Le persone con cui condividi non possono 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é gli altri abbiano accesso 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 far accendere e spegnere 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 è necessario apportare modifiche in un secondo momento, è sufficiente premere lo stesso pulsante per tornare alla modalità di modifica.

Il server Blynk

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

Il server cloud Blynk è veloce, reattivo e gratuito da usare. La connessione a un dispositivo Wi-Fi è semplice come copiare il codice di autorizzazione generato nello schizzo di Arduino e fornire i dettagli Wi-Fi. Per Raspberry Pi, Blynk fornisce uno script di prova che è possibile eseguire con il proprio codice di autorizzazione con lo stesso effetto. Più avanti in questo articolo, creeremo il nostro script usando 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 persino da un Raspberry Pi. Questo ha vari vantaggi per alcuni utenti in termini di funzionalità e sicurezza, sebbene per i nostri esempi qui ci concentreremo sull'uso del server cloud Blynk fornito.

sito web di blynk

La biblioteca di Blynk

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

Nella sua forma più semplice, è sufficiente installare la libreria e caricare uno degli schizzi di esempio ben annotati forniti.

Blynk: installazione 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 collegherai ad esso. 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 di nuovo selezionando l'icona delle impostazioni del progetto (il piccolo dado), selezionando il tuo dispositivo e selezionando "E-mail".

Quindi, installare le librerie Blynk dal sito Web di Blynk. Per Arduino, installa la libreria copiando i file nel tuo Arduino> librerie cartella. Se non conosci Arduino, ecco a guida per iniziare Introduzione a Arduino: una guida per principiantiArduino è una piattaforma di prototipazione elettronica open source basata su hardware e software flessibili e di facile utilizzo. È destinato ad artisti, designer, hobbisti e chiunque sia interessato a creare oggetti o ambienti interattivi. Leggi di più .

Per Raspberry Pi, devi prima assicurarti di aver installato Node.js. C'è una guida a Node.js installato in Questo articolo Come realizzare una luce Wi-Fi controllata da Siri fai-da-teIn questa guida imparerai come creare una luce controllabile Wi-Fi e controllarla con Siri. Leggi di più se ne hai bisogno.

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

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

Quindi installare il Gestione pacchetti nodo, il Acceso spento biblioteca e il Blynk libreria digitandolo nella finestra Terminale.

sudo npm installa -g npm. sudo npm installa -g onoff. sudo npm installa -g blynk-library. 

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

blynk.js [YourAuthorizationTokenHere] 

Se tutto funziona, dovrebbe apparire così:

blynk pi blynk script di test

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

Installazione rapida con NodeMCU

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

Per iniziare, imposta un semplice circuito su una breadboard. Pin di connessione D0 alla gamba positiva di un LED e al pin GND attraverso una resistenza da 220 Ohm.

nodemcu fritzing

Apri il tuo progetto NodeMCU nell'app Blynk. Sul lato destro, selezionare il Pulsante widget dal menu. Seleziona il pulsante nel progetto per aprire il menu delle proprietà. Qui puoi nominarlo e scegliere quale pin sulla scheda NodeMCU dovrebbe interessare. Selezionare perno D0 dall'elenco di output e cambia modalità per renderlo un interruttore di accensione e spegnimento, piuttosto che un interruttore a pulsante 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 questo stesso pulsante in qualsiasi momento per tornare alla modifica del tuo progetto.

Quindi, apri l'IDE Arduino e scegli la scheda e la porta NodeMCU dal menu Strumenti. Se non vedi la tua scheda in questo menu, potrebbe essere necessario installare le librerie ESP8266 (questa guida dovrebbe aiutare Incontra Arduino Killer: ESP8266E se ti dicessi che esiste una scheda di sviluppo compatibile con Arduino con Wi-Fi integrato per meno di $ 10? Bene, c'è. Leggi di più ).

Ora apri lo script standalone ESP8266 fornito da Blynk nella loro libreria navigando verso File> Esempi> Blynk> Boards_WiFi> ESP8266_Standalone. Sostituisci il segnaposto per il token di autorizzazione con quello che hai ricevuto via e-mail e inserisci i dettagli del tuo Wi-Fi.

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

Salvare lo schizzo con un nuovo nome e caricarlo sulla scheda. Ora quando si preme 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.

Blynk Nodemcu finito

Vale anche la pena notare che poiché utilizza il server Blynk, è possibile controllare la scheda da qualsiasi luogo, purché la scheda abbia accesso alla connessione Wi-Fi di casa e lo smartphone disponga di dati mobili accesso.

Blynk sul Raspberry Pi

Puoi usare Blynk esattamente come nell'esempio sopra sul Raspberry Pi usando il test Blynk script, ma ci sono alcune funzionalità più profonde fornite dai pin virtuali di Blynk, che esamineremo adesso.

Blynk funziona utilizzando Node.js, quindi il codice che scriveremo oggi sarà in Javascript. Se non conosci la lingua, questo dovrebbe essere un ottimo primer per iniziare Inizia subito a scrivere codice JavaScript con queste 5 fantastiche risorse gratuite Leggi di più .

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

Avrai bisogno:

  • Interruttore del magnete della porta (noto anche come interruttore reed)
  • 1x 1k? resistore
  • 1x 10k? resistore
  • 1x 220? resistore
  • 1x LED
  • Breadboard e cavi di collegamento

Imposta la tua breadboard in questo modo:

pi fritzing

Nota che la libreria di Blynk utilizza i numeri GPIO dei pin del Pi, quindi li useremo durante questo progetto. Collegare i pin 5V e GND alle barre di alimentazione sulla breadboard. Collegare il pin 22 GPIO sul Raspberry Pi all'anodo LED e collegare il catodo alla guida di terra attraverso il 220? resistore. Collegare il pin GPIO 17 a un lato dell'1k? resistenza e collegare il 10? resistenza sull'altro lato e sul lato 5V della barra di alimentazione. Infine, collega il tuo reed switch al lato GND della power rail su un lato e sulla linea in cui l'1k? e 10k? i resistori si incontrano dall'altro. Questa configurazione della resistenza di pull-up farà sì che la tensione sul pin 17 sia alta quando si apre l'interruttore.

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

Selezionare il valore con etichetta, denominarlo e scegliere pin virtuale V0 come è pin di input. È inoltre possibile modificare la modalità di visualizzazione delle informazioni. In questo caso, aggiungere "La porta è" prima di / pin / nella scheda Etichetta. Possiamo lasciare il valore della Frequenza di lettura all'impostazione predefinita, sebbene sia possibile modificarlo per inviare i 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 nel codice in un secondo momento, 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.

valore etichettato progetto

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 = request ('/ 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 impostano il nostro interruttore reed e il LED. Creeremo anche una variabile per il pin virtuale che abbiamo impostato sull'app Blynk.

var Gpio = request ('onoff'). Gpio, reed = new Gpio (17, 'in', 'both'), // registra le modifiche 'entrambi' quando l'interruttore è aperto e chiuso. led = new Gpio (22, 'out'); var virtualPin = 0; 

Ora useremo il orologio dalla libreria OnOff per controllare le modifiche nel nostro interruttore reed. L'interruttore della porta è su 0 o 1e ogni volta che quel valore cambia, scriviamo quella modifica sul pin LED.

reed.watch (funzione (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, desideriamo ricevere una notifica e un'e-mail che ci informi. Lo facciamo con un'istruzione if e usando virtualWrite, notificare, e e-mail funzioni dalla libreria Blynk. La documentazione completa per Blynk è disponibile Qui.

 if (valore == 0) {blynk.virtualWrite (virtualPin, "Closed"); console.log ('Porta chiusa'); }; if (value == 1) {blynk.notify ("La porta si è appena aperta!"); blynk.email ("[email protected]", "Porta d'ingresso", "La porta d'ingresso si è appena aperta."); blynk.virtualWrite (virtualPin, "Open"); console.log ('Door Open'); }; }); 

Ora, ogni volta che l'interruttore reed registra una variazione di valore, i dati vengono inviati al nostro pin virtuale e dentro il caso della porta che si apre sul widget di notifica nell'app, oltre a scrivere sulla console. Nota che le parentesi graffe finali provengono da dove abbiamo iniziato orologio funzione sopra.

Infine, è necessario reimpostare il pin al termine del programma. Questo è lo stesso del GPIO.cleanup () probabilmente hai già familiarità con.

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

Ora salva il tuo codice ed esci. Esegui lo script utilizzando il nodo.

sudo node blynkdoor.js. 

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

pi working gif

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 breve tempo trascorso finora con Blynk, sembra un servizio molto semplice da usare. Semplicemente, consente alle persone senza conoscenze di programmazione di costruire facilmente sistemi di automazione domestica fai-da-te. Con un po 'di conoscenza di codifica aggiuntiva diventa ancora più potente, consentendo sistemi molto più complessi e trigger di eventi multipli dalla pressione di un singolo pulsante nell'app.

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

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

Credito immagine: Giuseppe Caccavale tramite YouTube.com

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