Progetto IoT con Arduino WiFi e Blynk 2.0 – Attiviamo un’elettroserratura

In questo articolo vedremo come realizzare un progetto IoT, gestione di un elettroserratura, con l’utilizzo dell’applicazione Blynk 2.0
Blynk è un’applicazione che consente agli utenti di creare rapidamente prototipi di progetti IoT senza necessità di programmazione complessa. Sono disponibili due piattaforme Mobile appsWeb Console
La scheda utilizzata è la Arduino UNO R4 WiFi.

Progetto IoT con Arduino WiFi e Blynk 2.0 - Attiviamo un'elettroserratura
Citazione dell’articolo nelle sezioni Arduino, Progetti del blog di Elettronica In

Che cos’è Blink 2.0?

Prima d’iniziare a montare il nostro circuito vediamo che cos’è Blynk 2.0.
Blynk 2.0 è un’applicazione che consente agli utenti di creare rapidamente prototipi di progetti IoT (Internet of Things) senza necessità di programmazione complessa. Sono disponibili due piattaforme Mobile appsWeb Console
La versione Blynk 2.0 è un’evoluzione significativa rispetto alla versione Blynk 0.1, con una maggiore attenzione alla scalabilità, alla sicurezza e all’usabilità.
Potete vedere un progetto realizzato con la versione Blynk 0.1 (ora non più attiva) in questo articolo Applicazione IOT con WeMos D1 Mini e App Blynk

Principali caratteristiche

Ecco alcune delle caratteristiche principali e come si utilizza:

  1. Interfaccia Intuitiva: Blynk 2.0 ha un’interfaccia utente intuitiva che consente agli utenti di trascinare e rilasciare widget per creare facilmente interfacce utente personalizzate per i loro dispositivi IoT.
  2. Widget Personalizzabili: Offre una vasta gamma di widget predefiniti come bottoni, slider, grafici, display di testo, e molti altri. Questi widget possono essere personalizzati per adattarsi alle esigenze specifiche del tuo progetto.
  3. Connessione ai Dispositivi IoT: Blynk 2.0 supporta una varietà di dispositivi IoT popolari come Arduino, ESP32, Raspberry Pi, e molti altri. È possibile connettere facilmente questi dispositivi all’applicazione per monitorare e controllare i sensori, attuatori e altre funzionalità.
  4. Facile Configurazione e Integrazione: La configurazione è semplificata grazie all’uso di codice QR generati automaticamente per ogni progetto. Questi codici QR permettono di connettere rapidamente l’applicazione al dispositivo IoT senza necessità di configurazioni manuali complesse.
  5. Accesso Remoto: Gli utenti possono accedere e controllare i loro dispositivi da remoto attraverso Internet, permettendo di monitorare e gestire i dispositivi IoT da qualsiasi parte del mondo.
  6. Sicurezza: Blynk 2.0 implementa misure di sicurezza avanzate per proteggere i dati e le comunicazioni tra l’applicazione e i dispositivi IoT, assicurando che le informazioni sensibili siano trattate in modo sicuro.

Per utilizzare Blynk 2.0, è necessario scaricare l’applicazione mobile disponibile per iOS e Android, creare un account e seguire i passaggi per iniziare un nuovo progetto. Una volta creato il progetto, è possibile aggiungere i widget desiderati, configurare la connessione al dispositivo IoT utilizzando il codice QR e iniziare a controllare e monitorare il sistema IoT direttamente dall’applicazione.

Circuito per il test

Sotto è riportato lo schema dei collegamenti :

  • D2- Gestione MOS Module
  • Collegamento a GND per il MOS  Module
  • Collegamento della tensione a 12V-24V al MOS module

Progetto IoT con Arduino WiFi e Blynk 2.0 - schema collegamento elettroserratura

Sotto la foto del test

Progetto IoT con Arduino WiFi e Blynk 2.0 - foto collegamento elettroserratura

Requisiti Hardware

  1. Una scheda Arduino UNO R4 WiFi, in questo caso è necessaria in quanto è richiesto un collegamento WiFi.
  2. Un’elettroserratura
  3. Il circuito di pilotaggio, nel nostro caso rappresentato da un modulo con un MOSFET IRF520
  4. Una fonte di alimentazione per l’elettroserratura (12-24V a seconda del modello) e l’alimentazione per la scheda Arduino

Una scheda Arduino UNO R4 WiFi

Elettroserratura

Modulo IRF3205

Cavetti di collegamento

Connettore Spinotto 2 poli 5,5×2,1mm attacco jack femmina con morsetti a vite

 

Descrizione dei principali componenti utilizzati

L’elettoserratura

L’elettroserratura che può essere utilizzata ad esempio per la chiusura di cassetti, piccoli armadietti, ecc. è rappresentata da un solenoidi a trazione lineare. Più avanti travate una descrizione.

Progetto IoT con Arduino WiFi e Blynk 2.0 - elettroserratura

Il modello utilizzato per il progetto è disponibile in due versioni con le stesse misure (54x37x28mm) peso 150 grammi.

Progetto IoT con Arduino WiFi e Blynk 2.0 - misure elettroserratura

Quello che cambia è la tensione di alimentazione  12 V CC – 1,2 A  oppure 24 V CC – 0,8 A.
Lunghezza cavo è di circa 370 mm.
La corsa dell’attuatore è di 10 mm. Il tempo di sblocco: 1 secondo, con una nota, quella di non mantenere l’alimentazione per più di 8 secondi. per surriscaldare il nucleo. La temperatura di lavoro è compresa tra  da -10 ~ +60°C.

Modifica dell’orientamento del chiavistello

Il chiavistello può essere orientato in quatto posizioni, sotto è riportata la procedura da seguire

Progetto IoT con Arduino WiFi e Blynk 2.0 - elettroserratura orientamento

Progetto IoT con Arduino WiFi e Blynk 2.0 - elettroserratura, modifica

  1. Svitare le viti del coperchio dell’elettroserratura e rimuoverlo ;
  2. Utilizzare un piccolo cacciavite a lama piatta per estrarre l’anello elastico della linguetta;
  3. Dopo aver estratto l’anello elastico, estrarre la linguetta di blocco e ruotarla nella direzione corretta;
  4. Dopo aver regolato la direzione, far scattare l’anello elastico nello slot della scheda, quindi rimettere il coperchio della serratura.

I solenoidi a trazione lineare

Il modello di elettroserratura testata ha un corpo in metallo e al suo interno troviamo un solenoide a trazione lineare.
Quest’ultimi  sono dispositivi elettromeccanici che generano un campo magnetico uniforme quando viene applicata una corrente elettrica.
Sono composti da una bobina di filo avvolto intorno un nucleo in metallo mobile. Sono diversi dai solenoidi rotativi perché esercitano una semplice forza di spinta o trazione invece di una forza di rotazione.

Progetto IoT con Arduino WiFi e Blynk 2.0 - solenoide

I solenoidi trovano impiego in un’ampia gamma di applicazioni, grazie alla loro capacità di creare un campo magnetico controllabile con l’applicazione di corrente elettrica.
Per esempio sono comunemente utilizzati in attuatori elettrici, dove la loro azione di commutazione trasforma il segnale elettrico in movimento meccanico.
Altre applicazioni che includono valvole solenoidi, utilizzate per controllare il flusso di liquidi o gas in sistemi di tubazioni, e relè, oppure dove fungono da interruttori controllati magneticamente.

Descrizione modulo IRF520 MOSFET

Questo piccolo modulo è una scheda breakout  “MOS Module” su cui è presente un MOSFET IRF520 che funziona come uno switch cioè interruttore, con esso è possibile sostituire per esempio l’utilizzo di un relè.
Il modulo MOS Module è fornito di terminali a vite per interfacciarsi al carico e alla fonte di alimentazione esterna. Un indicatore LED fornisce un’indicazione visiva di quando il carico viene cambiato.
Potete leggere l’articolo completo a questo link Modulo IRF520 MOSFET Switch
Caratteristiche:

  • Dimensioni modulo: 33,4 * 25,6 mm
  • Tensione di pilotaggio: 3,3-5V
  • Controllo: digitale.
  • Tensione di carico in uscita: da 0 a 24V
  • Corrente di carico in uscita: 2A con pilotaggio di 5V.

modulo IRF520 MOSFET

Il componente principale è il MOSFET IRF520 (vedere datasheet). La parola MOSFET è l’acronimo del termine inglese Metal-Oxide-Semiconductor Field-Effect Transistor, ovvero semiconduttore metallo-ossido-transistor ad effetto di campo.

modulo IRF520 MOSFET

Nel circuito oltre al MOSFET IRF520 Q1 con funzione  di switch, è poi presente la resistenza di Pull Down R1 da 1kΩ, questa assicura che il gate sia a zero quando non viene pilotato.
La resistenza R2 ha la funzione di limitatrice per la correte di alimentazione del Led L1 che segnala l’attivazione del MOSFET.

modulo IRF520 MOSFET-easyeda

Lo schema elettrico del modulo compreso di PCB, è stato realizzato con il programma EasyEDA e può essere scaricato a questo link Per informazioni sul programma EasyEDA,  leggete questo articolo.

Creazione applicazione IoT

Vedremo ora quali sono i passi per la creazione dell’applicazione che servirà per la gestione dell’elettroserratura.
La procedura prevede anche la fase di registrazione sul sito Blynk. che è necessaria per la configurazione di blynk.cloud, seguirà poi la fase per la creazione del template per un’applicazione IoT per il controllo del MOS Module.

Collegamento al servizio blynk.cloud

Collegarsi all’indirizzo: https://blynk.cloud/ . Se non avete un account, fate clic su “Create new account” e procedete alla registrazione gratuita per effettuare il primo accesso

Elettroserratura - Progetto IoT con Arduino WiFi e Blynk 2.0

Il servizio è gratuito, vi sono sono alcuni limiti al numero di dispositivi connessi ed alcune funzionalità. Deciderete poi voi se sarà il caso di attivare un piano a pagamento.  Inserite la vostra e-mail e la vostra password e accedete al servizio

Elettroserratura - Progetto IoT con Arduino WiFi e Blynk 2.0

Creazione del template

Una volta entrati nel servizio, sarete reindirizzati alla pagina per la creazione di un nuovo template.
Questo permette di disegnare il modello di applicazione IoT mediante dei widget che la piattaforma mette a disposizione, indipendente dalle schede di controllo, dopo di che saremo noi in una fase successiva ad applicare il modello sulla tecnologia (scheda di controllo) che disponiamo.

Per chi già in passato ha utilizzato Blynk capirà che tutto ciò diventa estremamente comodo, in quanto possiamo disegnare più modelli di applicazione IoT e poi applicarli alla bisogna sulla specifica scheda che disponiamo, o ancora costruire un template specifico e poi applicarlo su schede di diverso tipo.
L’interfaccia online può essere personalizzata in più parti, ma lascio a voi le personalizzazioni.
Per cui passiamo alla Developer Zone -> My Template e facciamo clic su “+ New Template

Elettroserratura - Progetto IoT con Arduino WiFi e Blynk 2.0

Si aprirà una scheda

Elettroserratura - Progetto IoT con Arduino WiFi e Blynk 2.0

Su di esso si trovano alcuni campi:

  • NAME: il nome da assegnare al template, nel mio caso ho inserito “Gestione serratura
  • HARDWARE: macro aree di appartenenza dell’hardware su cui sarà applicato il template, nel mio caso ho scelto “Arduino
  • CONNECTION TYPE: io ho impostato WiFi per la tipologia di appartenenza ma il menù a tendina permette di scegliere tra Ethernet, WiFi, USB, GSM
  • DESCRIPTION: breve descrizione del template, non è strettamente necessario

fare poi clic su Done

Sezione Info

Al clic su Done verrà mostrata la sezione Info del template

Elettroserratura - Progetto IoT con Arduino WiFi e Blynk 2.0

In questa pagina di impostazione è prevista la possibilità di modifica per applicazioni avanzate che possono essere omesse.

Sezione Datastreams

Con Datastreams si intende il flusso dei dati.

Elettroserratura - Progetto IoT con Arduino WiFi e Blynk 2.0

Se fate clic su  “Edit“ apparirà la possibilità di creare un nuovo Datastreams

Per cui cliccate si ” + New Datastream” e potrete scegliere tra varie opzioni:

Per il nostro progetto selezioniamo “Virtual Pin”, a questo punto si aprirà la seguente finestra di impostazione:

Elettroserratura - Progetto IoT con Arduino WiFi e Blynk 2.0

  • NAME: è il nome che assegniamo al pin virtuale, nel mio caso ho indicato Apertura serratura
  • PIN: è l’identificativo del Pin virtuale, avendo utilizzato il Pin D2 utilizzerò V2, avete comunque disponibili 255 pin virtuali, considerate che stiamo parlando di una scheda virtuale
  • DATA TYPE: è il tipo di dato che transita sul pin virtuale, può essere, integer, double, string, nel nostro caso scegliete integer perché dobbiamo identificare gli stati ON e OFF mediante gli interi 1 e 0.
  • MIN – MAX: lasciate il valore preimpostato dal sistema, 0 e 1 sono i valori minimo e massimo che si vanno a gestire
  • DEFAULT VALUE: lasciamolo impostato a 0
  • Enable history data: per avere eventualmente lo storico delle attivazioni
  • ADVANCED SETTINGS:  lasciate i dati di default

fate clic su “Save” per creare il datastream.

Sezione Metadata

I metadata non sono altro che informazioni aggiuntive che possiamo aggiungere al nostro progetto: nome del dispositivo, del proprietario del progetto, luogo in cui è allocato il dispositivo ed altro.  In questo caso lasciate la configurazione di default.

Sezione Web Dashboard

La Web Dashboard può essere assimilata al luogo in cui creiamo e gestiamo ogni Widget che fa parte della console di gestione e controllo dell’App IoT.

Con la nuova versione di Blynk 2.0 abbiamo due Dashboard: quella web, indicata nell’immagine sopra e quella dell’App sul vostro Smartphone, entrambe possono essere configurate separatamente per controllare i nostri dispositivi.
All’interno del Widget Box sono disponibili numerosi Widget, l’elenco completo e istruzione di come impostarli a questo link.
Per la gestione della elettroserratura sarà sufficiente aggiungere uno Switch trascinandolo dall’area di sinistra all’interno dell’area centrale della Dashboard

Ora se vi spostate con il mouse sul Widget “Switch” appariranno delle icone, dovrete cliccare sulla rotella

Comparirà un pannello con alcuni campi da compilare:

  • TITLE : Assegnare un nome allo Switch, nel nostro caso “Apertura serratura”
  • Datastreem: Selezionate ed associare il datastream creato, nel nostro caso: Apertura serratura (V2) che troverete facendo clic sul menù a tendina

Lasciate invariati gli altri parametri e fare clic su “Save”.

Abbiamo così creato il nostro tasto virtuale e vedrete sull’interruttore l’indicazione del pin su cui agisce il dispositivo.
Vediamo ora di provare la nostra applicazione  in versione Web Console, per fare questo dovremo creare lo sketch, sul nostro Arduino UNO R4 WiFi. Vediamo come fare.

Creazione dello Sketch

Caricamento della libreria

La prima operazione sarà quella di caricare l’apposita libreria.
Accediamo quindi al GESTORE LIBRERIE e inseriamo del campo ricerca “blynk“.
Maggiori informazioni su come caricare le librerie nel mio articolo Arduino – Tutorial, come installare una libreria
Una volta trovata clicchiamo sul tasti INSTALLA.

Sketch di gestione dell’elettroserratura

Sotto è riportato lo Sketch utilizzato per la gestione della nostra elettroserratura

Spiegazione del Codice
  1. Le prime tre line definiscono delle informazioni che sono fornite dall’applicazione Blynk, vedremo più avanti come
  2. L’istruzione BLYNK_PRINT Serial permette di stampare messaggi sulla seriale
  3. Si aggiungono poi tre librerie per la gestione WiFi della scheda
  4. Si definiscono le credenziali di accesso alla vostra rete
  5. Nella sezione void setup() si inizializza la seriale, si imposta il pin Mod, si inizializza Blynk con il BLYNK_AUTH_TOKEN e i dati della nostra rete ssid, pass.
  6. Infine nella sezione void loop() si manda in esecuzione Blynk tramite il comando Blynk.run()
  7. Con il comando BLYNK_CONNECTED() verifica se l’hardware è connesso al server Blynk e nel caso aggiorna il pin virtuale V2  con l’istruzione Blynk.syncVirtual(V2)
  8. Segue poi la lista dei comandi necessari per far si che ogni volta che cambia lo stato del pin virtuale V2, nel nostra caso la pressione del tasto visuale, questa si attivi l’uscita, attenda due secondi e si riporti nuovamente a livello basso, disattivando l’elettroserratura.
Ottenimento delle  informazioni relative alla nostra applicazione

Come abbiamo visto oltre alle informazioni della nostra rete, sono necessarie delle informazioni che sono uniche per la nostra applicazione.

Per fare questo torniamo alla nostra applicazione Blink in quanto dobbiamo ancora creare la nostra Device.

Creazione di una Device

Sulla pagina Home, andiamo sotto la sezione DEVICE, e clicchiamo su New Device

Si aprirà una scheda, cliccate sulla fonte, nel nostro caso dal template

Dalla nuova scheda sceglieremo  il template “Gestione serratura” e clicchiamo su Create

Ora il sistema ci avvertirà che la nuova Device è stata creata e sono disponibili le informazioni che dovremo inserire nel nostri sketch, sarà sufficiente cliccare su Copy to clipboard

Gestione dell’elettoserratura dalla web console

Possiamo quindi incollare i dati ottenuti nel nostro programma. Colleghiamo la nostra scheda, verifichiamo se sia impostata su “Arduino UNO R4  WiFi” e che sia impostata la corretta porta “COM“.

Compiliamo e trasferiamo il programma. Se non ci sono errori, aprendo il monitor seriale , ci appariranno dei messaggi.
Tra questi troviamo a quale rete si è connesso con quale indirizzo IP. Segue poi l’indicazione che il programma si è connesso anche al cloud di Blink, e che è pronto ricevere i comandi.

Potrete vedere che la scheda è Online. Se cliccherete sul pulsante  potrete vedere  che l’elettoserratura si attiva e che dopo 2 secondi tornerà alla stato di riposo.
Il monitor seriale ci indicherà l’attivazione o disattivazione del dispositivo di apertura.

Creazione dell’interfaccia sul vostro smartphone

Caricamento dell’APP

Vediamo ora come creare la nostra applicazione sullo smartphone. La prima cosa da fare, se non l’avete ancora fatto e di scaricare l’app dal Play Store.
La funzione principale della modalità sviluppatore nell’app mobile è quella di creare e modificare l’interfaccia utente (GUI) della dashboard mobile per il modello di dispositivo specificato.
Il pannello di controllo è costruito da Widget, elementi modulari dell’interfaccia utente che possono essere posizionati sul pannello. Ogni Widget ha una funzione speciale (un pulsante, uno slider, un grafico, ecc.). Ogni Widget ha le sue impostazioni basate sulla sua funzionalità. 

Una volta caricata e installata, apritela. Vi apparirà la schermata dove effettuare il Log In.

I dati di accesso sono gli stessi che avete utilizzato per la versione Web Dashboard.

Creazione dell’interfaccia

Una volta avuto l’accesso vi verranno mostrati già i vostri progetti, nel nostro caso quello di Gestione serratura

se lo richiamate si aprirà la la sezione per creare la nostra applicazione, vi segnalerà che al momento non avete ancora inserito nessun widget .

Inserimento dei widget

In alto a destra trovate il pulsante Customize, che permette di personalizzare l’interfaccia, ma potete saltare questo passaggio. Premete invece il tasto “+” che trovate sotto di colore verde.

si aprirà il Widget Box, dove potrete scegliere il box che vi serve, nel nostro caso “Button

Se lo toccate, questo automaticamente si posizionerà sul vostro pannello

Impostazione delle caratteristiche del widget

Se toccate il pulsante, dato che siamo ancora in fase di edit, si apriranno le sue caratteristiche

La prima cosa da fare sarà quella di selezionare il Datastream, se premete “+” vi sarà mostrato già quello che è disponibile e vi basterà selezionarlo

sotto trovate la sezione Settings, in cui potrete scegliere la modalità di funzionamento del tasto

  • Push Imposta sullo stato ON quando premuto, quindi torna allo stato OFF quando rilasciato
  • Switch. Alterna tra lo stato ON/OFF ogni volta che viene premuto

le altre due modalità non solo selezionabili in quanto non solo attive nella versione Free

Nel nostro caso lasceremo la modalità Push

Se selezionate il comando “Design, potrete accedere alla sezione in cui è possibile per esempio inserire un testo sopra il tasto per identificarle la funzione, con possibilità di cambiate la sua dimensione, l’allineamento il colore

Utilizzo dell’App realizzata

Terminate le impostazioni, tornerete nella pagina principale. Se lo Sketch è in esecuzione sulla vostra scheda Arduino UNO R4  WiFi, vedrete  che a lato del titolo dell’applicazione il “pallino”  diventerà verde, per segnalare che la device è on line.

Per cui se toccate il pulsante  potrete vedere  che l’elettoserratura si attiva e che dopo 2 secondi tornerà alla stato di riposo
Se  il pallino è grigio significa che la device è offline e toccate il tasto, nella parte passa apparirà la scritta “Device in offline”.
Se volete fare altre modifiche, sarà sufficiente premere il tasto verde con la chiave inglese.

Elettroserratura - Progetto IoT con Arduino WiFi e Blynk 2.0

Altro progetto per azionamento elettroserratura

Altra applicazione che permette l’attivazione dell’ elettroserratura tramite tastiera utilizzata per l’immissione della giusta password. Vedere articolo Attivazione elettroserratura da tastiera

gestione elettro serratura tastiera

Dove trovare i componenti

I principali componenti possono essere acquistati presso il sito di Futura elettronica, i loro codici sono:

Elettroserratura blister - Progetto IoT con Arduino WiFi e Blynk 2.0