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 apps e Web Console
La scheda utilizzata è la Arduino UNO R4 WiFi.
Citazione dell’articolo nelle sezioni Arduino, Progetti del blog di Elettronica In
Indice
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 apps e Web 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:
- 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.
- 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.
- 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à.
- 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.
- 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.
- 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
Sotto la foto del test
Requisiti Hardware
- Una scheda Arduino UNO R4 WiFi, in questo caso è necessaria in quanto è richiesto un collegamento WiFi.
- Un’elettroserratura
- Il circuito di pilotaggio, nel nostro caso rappresentato da un modulo con un MOSFET IRF520
- 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 |
![]() | ![]() 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.
Il modello utilizzato per il progetto è disponibile in due versioni con le stesse misure (54x37x28mm) peso 150 grammi.
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
- Svitare le viti del coperchio dell’elettroserratura e rimuoverlo ;
- Utilizzare un piccolo cacciavite a lama piatta per estrarre l’anello elastico della linguetta;
- Dopo aver estratto l’anello elastico, estrarre la linguetta di blocco e ruotarla nella direzione corretta;
- 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.
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.
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.
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.
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
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
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”
Si aprirà una scheda
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
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.
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:
- 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | /* Inserire qui le informazioni da Blynk Device Info */ #define BLYNK_TEMPLATE_ID "TMPxxxxx" // L'ID del vostro Template #define BLYNK_TEMPLATE_NAME "xxxxx" // il nome del vostro Template #define BLYNK_AUTH_TOKEN "xxxxxx" //il vostro AutkToken #define BLYNK_PRINT Serial // Include le librerie necessarie per la scheda e Blynk #include <SPI.h> #include <WiFiS3.h> #include <BlynkSimpleWifi.h> // Definisce le credenziali WiFi char ssid[] = "xxxxx"; //Il nome della vostra rete char pass[] = "xxxxx"; //La PW della vostra rete // Definisci il pin del relè e le variabili correlate const int mos_module_Pin = 2; int switchStatus = 0; void setup() { Serial.begin(115200); delay(3000); Serial.println("Comando serratura"); pinMode(mos_module_Pin, OUTPUT); //Imposta il pin 2 come output Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass); } void loop() { Blynk.run(); // Run Blynk } // Questa funzione viene chiamata ogni volta //che il dispositivo è connesso a Blynk.Cloud BLYNK_CONNECTED(){ // aggiorna il pin virtuale V2 all'ultimo valore memorizzato sul server. Blynk.syncVirtual(V2); } // Funzione viene chiamata ogni volta che cambia lo stato del Virtual V2 BLYNK_WRITE(V2) { // Imposta il valore in arrivo dal pin V2 su una variabile switchStatus = param.asInt(); if (switchStatus == 1) { Serial.println("Apertura porta attivata!"); digitalWrite(mos_module_Pin, HIGH); delay(2000); // Mantiene l'elettroserratura attiva per 2 secondi digitalWrite(mos_module_Pin, LOW); } else { Serial.println("Apertura porta disattivata."); digitalWrite(mos_module_Pin,LOW); } } |
Spiegazione del Codice
- Le prime tre line definiscono delle informazioni che sono fornite dall’applicazione Blynk, vedremo più avanti come
- L’istruzione
BLYNK_PRINT Serial
permette di stampare messaggi sulla seriale - Si aggiungono poi tre librerie per la gestione WiFi della scheda
- Si definiscono le credenziali di accesso alla vostra rete
- Nella sezione
void setup()
si inizializza la seriale, si imposta ilpin Mod
, si inizializza Blynk con ilBLYNK_AUTH_TOKEN
e i dati della nostra retessid, pass
. - Infine nella sezione
void loop()
si manda in esecuzione Blynk tramite il comandoBlynk.run()
- Con il comando
BLYNK_CONNECTED()
verifica se l’hardware è connesso al server Blynk e nel caso aggiorna il pin virtuale V2 con l’istruzioneBlynk.syncVirtual(V2)
- 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.
1 2 3 | #define BLYNK_TEMPLATE_ID "TMPxxxxx" // L'ID del vostro Template #define BLYNK_TEMPLATE_NAME "xxxxx" // il nome del vostro Template #define BLYNK_AUTH_TOKEN "xxxxxx" // il vostro AutkToken |
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.
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
Dove trovare i componenti
I principali componenti possono essere acquistati presso il sito di Futura elettronica, i loro codici sono:
- Scheda Arduino UNO R4 Wi-Fi codice 7300-ARDUINOUNOR4W
- Mini elettroserratura 12 Vdc, codice 2846-ELLOCK12V
- Mini elettroserratura 24 Vdc, codice 2846-ELLOCK24V