Blynk: come creare un progetto IoT in 5 minuti

Blynk è la più popolare piattaforma per connettere i dispositivi IoT al cloud, progettare app per controllarli, analizzare i dati di telemetria e gestire prodotti distribuiti su larga scala. Blynk è stato progettato appositamente per l'Internet of Things ed offre la possibilità di controllare l'hardware da remoto, visualizzare i dati dei sensori, memorizzarli e fare molte altre cose. Sebbene esistano altri servizi per il controllo dell'hardware in rete (ThingSpeak, IFTTT), Blynk è tra le più user-friendly, è gratuita ed anche open source. In questo articolo descriveremo attraverso l'implementazione di  alcuni esempi pratici, la semplicità d'uso e le ampie potenzialità della piattaforma Blynk.

Introduzione

Blynk è una piattaforma che consente di creare rapidamente interfacce per il controllo e il monitoraggio dei progetti hardware dal proprio dispositivo iOS e Android. L'applicazione Blynk consente di creare una dashboard del progetto e disporre pulsanti, cursori, grafici e altri widget sullo schermo. Utilizzando i widget è possibile attivare e disattivare i pin, visualizzare i dati dai sensori e molto altro.

Ci sono tre componenti principali che costituiscono la piattaforma Blynk:

  • Blynk App - è l'applicazione per smartphone che consente di creare interfacce per i progetti utilizzando i vari widget forniti.
  • Blynk Server - è il servizio responsabile di tutte le comunicazioni tra lo smartphone e l'hardware. Si può utilizzare il Blynk Cloud o eseguire il proprio server Blynk privato in locale. È open source, può facilmente gestire migliaia di dispositivi e può anche essere lanciato su un Raspberry Pi.
  • Librerie Blynk - consentono la comunicazione con il server per tutte le piattaforme hardware più diffuse ed elaborano tutti i comandi in entrata e in uscita.

Uno scenario applicativo della piattaforma potrebbe essere quello rappresentato in Figura 1. Ogni volta che si preme un pulsante nell'App Blynk, un messaggio viaggia nello spazio Blynk Cloud, dove viene instradato verso l'hardware di destinazione. Funziona allo stesso modo nella direzione opposta e tutto accade in un batter d'occhio.

Figura 1: rappresentazione schematica di uno scenario applicativo della piattaforma Blynk

Caratteristiche

Le principali caratteristiche della piattaforma Blynk sono:

  • API e interfaccia utente simili per tutti i dispositivi e hardware supportati
  • Connessione al cloud tramite: Wi-Fi, Bluetooth e BLE, Ethernet, USB (seriale), GSM
  • Set di widget facili da usare
  • Manipolazione diretta dei pin senza scrittura di codice
  • Facile da integrare e aggiungere nuove funzionalità utilizzando pin virtuali
  • Monitoraggio dei dati storici tramite widget SuperChart
  • Comunicazione da dispositivo a dispositivo tramite Bridge Widget
  • Invio di e-mail, tweet, notifiche, etc.

La Libreria Blynk, una volta installata nell'IDE Arduino, dà accesso a sketch di esempio che coprono le funzionalità base di Blynk.

Requisiti per l'uso

Per iniziare ad utilizzare la piattaforma, sono necessarie solo un paio di cose:

  1. Hardware - Blynk funziona su Internet. Ciò significa che l'hardware scelto dovrebbe essere in grado di connettersi a Internet. Alcune delle schede, come Arduino Uno, avranno bisogno di uno Shield Ethernet o Wi-Fi per poter comunicare, mentre altre sono già abilitate come l'ESP8266. La cosa interessante è che l'elenco di hardware supportati da Blynk è enorme e in continua espansione.
  2. Smartphone - L'App Blynk è un generatore di interfacce ben progettato. Funziona sia su iOS che su Android.

Il miglior modo per descrivere la piattaforma è attraverso l'implementazione di alcuni esempi pratici che mettano in mostra la semplicità e la rapidità con cui è possibile realizzare delle applicazioni IoT.

Gli esempi che vengono proposti in questo articolo, utilizzano come hardware il modulo Wi-Fi ESP8266 montato sulla scheda ESP-01. Il setup per poter programmare il modulo ESP8266 mediante connessione seriale con Arduino Uno, è stato discusso in un precedente articolo a cui rimandiamo il lettore.

Esempio 1

Nel primo esempio realizziamo un'applicazione in grado di accendere un LED connesso al nostro hardware, tramite un comando di accensione impartito dall'applicazione per smartphone di Blynk.

La scheda ESP-01 è già fornita di un LED integrato di colore blu. Andremo quindi a comandare questo LED.

Configurazione dell'App Blynk

Per prima cosa scarichiamo l'App Blynk dallo store. Terminata l'installazione, aprendo l'app dovremo creare un nuovo account Blynk. Un account è necessario per salvare i progetti e accedervi da più dispositivi da qualsiasi luogo. Dopo aver effettuato correttamente l'accesso all'account, passiamo alla creazione di un nuovo progetto, facendo click su "New Project" (Figura 2a).

Inseriamo il nome del progetto nell'apposito spazio (Figura 2b) e selezioniamo il dispositivo hardware da utilizzare, tra quelli disponibili nel menu a tendina. Nel nostro caso si tratta del modulo ESP8266. A seconda del dispositivo selezionato potremo scegliere anche il tipo di connessione: Wi-Fi, Ethernet, etc.

Infine, facendo click su "Create" (Figura 2b) avremo creato il progetto. Quando si crea un nuovo progetto, viene creato anche un token di autenticazione. Il token di autenticazione viene inviato automaticamente alla email inserita in fase di creazione dell'account. Il token di autenticazione è un identificatore univoco necessario per connettere il proprio hardware allo smartphone in uso.

Figura 2: (a) schermata iniziale dell'App Blynk, (b) schermata di creazione di un nuovo progetto, (c) area di disegno del progetto creato

L'area di disegno del progetto è però inizialmente vuota (Figura 2c). Dobbiamo quindi aggiungere un pulsante per controllare il LED. Per farlo basta toccare un punto qualsiasi dell'area di progetto per aprire la lista dei widget dalla quale scegliere il pulsante.

I widget hanno un costo variabile di una risorsa chiamata "energia". Il totale di "energia" inizialmente disponibile per ogni utente ammonta a 2000 unità. Ponendo un widget nell'area di disegno ci viene sottratta la quantità di "energia" relativa a quel widget. Cancellando il widget dall'area di disegno, il costo in "energia" ci viene restituito. Esistono però dei casi, come condividere il nostro progetto con altri, in cui la quantità di "energia" spesa non viene più restituita. Spendendo del denaro è possibile aumentare la propria "energia" acquistandola direttamente in app.

Ogni widget ha le proprie impostazioni, toccando il widget è possibile accedere ad esse. Nel pulsante andiamo ad impostare l'output, selezionando tra i pin digitali il "GP2" cioè quello collegato al LED integrato nella scheda ESP-01. L'elenco dei pin della lista riflette i pin fisici definiti nell'hardware.

Tornando indietro alla schermata di disegno, si può selezionare il simbolo in alto a destra a forma di triangolo (Figura 2c). In questo modo si passa dalla modalità EDIT alla modalità PLAY, dove si può interagire con l'hardware. In modalità PLAY non sono permesse modifiche, quindi per effettuarle occorre tornare alla modalità EDIT facendo clic sul simbolo a forma di quadrato in alto a destra.

Configurazione dell'hardware

Passiamo ora a descrivere la configurazione dell'hardware. Installiamo la libreria "Blynk" all'interno dell'IDE Arduino, tramite il menu "Strumenti" e quindi facendo clic su "Gestore librerie". Nell'apposito spazio inseriamo il nome della libreria "Blynk" e quindi installiamola.

Una volta installata la libreria "Blynk", facendo click su "Esempi", saranno presenti alcuni sketch dimostrativi. Apriamo quello denominato "ESP8266_WiFi" e modifichiamo i parametri relativi a:

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2141 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici e potrai fare il download in formato PDF eBook e Mobi per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend