IoT con Arduino: una serratura a tag NFC

28/02/2018

IoT con Arduino: una serratura a tag NFC

28/02/2018

Internet of Things, o brevemente IoT, è un concetto molto utilizzato recentemente, ma il suo significato letterale è piuttosto ampio: si tratta di collegare oggetti, generalmente di uso comune, ad Internet per ampliarne lo spettro di utilizzo. Ma… in pratica?

Ho avuto occasione di partecipare ad un interessante corso pratico, organizzato da Lab Network, riguardo Arduino e IoT che mi ha permesso di provare con mano queste tecnologie applicandole ad una problematica comune, ovvero il controllo degli accessi.

IoT con Arduino

Immaginiamo di dover garantire l’accesso ad una particolare area, stanza, sala per un tempo limitato ad un gruppo di persone: suona familiare? Bene.

Con questa tecnologia possiamo fornire un badge agli utilizzatori e controllare da un semplice pannello del browser se e quando ciascuno di essi può entrare. Il sistema, collegandosi ad Internet, verifica se il proprietario è autorizzato e, solo in caso positivo, invia il comando di apertura alla serratura.

Il sistema è composto da due elementi fondamentali: il dispositivo “IoT” (Arduino + Ethernet, lettore NFC e elettro-serratura) e il servizio remoto per la gestione degli accessi (API).

API gestione accessi

Per prima cosa predisponiamo il sistema di gestione degli accessi.

Non scendiamo nel dettaglio del software per il controllo degli accessi in quanto fuori dallo scopo primario di questo articolo; basti pensare che può essere sostanzialmente qualsiasi sistema, esistente o da creato ex-novo, che sia in grado di comunicare tramite Internet.

Ai fini del prototipo possiamo simulare questo comportamento con poche righe di codice che, leggendo un parametro GET della richiesta, lo confrontano con un codice definito come valido. Se i due codici corrisponodono la richiesta sarà approvata, in caso contrario, respinta.

Non ci resta che caricare il servizio su un server raggiungibile tramite Internet e siamo pronti a procedere.

Dispositivo IoT

Possiamo quindi passare alla creazione del nostro dispositivo, per farlo abbiamo bisogno di alcuni componenti:

  • Arduino UNO + shield Ethernet;
  • Adafruit PN532 NFC/RFID reader;
  • Relè SRD-05VDC-SL-C;
  • Tag NFC;
  • Cavi, resistenze e led.

IoT con Arduino Materiale

Effettuiamo il cablaggio semplicemente rispettando i datasheet; perchè il codice proposto funzioni dobbiamo però stare ad alcune scelte riguardo i pin di output di Arduino:

pin A1 => relé
pin A2 => led rosso
pin A3 => led verde
pin A4 => led giallo

IoT con Arduino Progetto Completo

A questo punto possiamo scrivere il programma di gestione del dispositivo, per farlo utilizziamo l’IDE proposto da Arduino stessa, scriviamo il codice e connettiamo il dispositivo tramite USB per caricarlo dopo averlo compilato.

Per evitare di dilungarci vi invito a scaricare il codice completo dal sito web del corso, riporterò qui solo i passaggi logici più importanti.

In una prima fase dobbiamo:

  • importare le librerie,
  • configurare lo shield ethernet,
  • configurare lo shield nfc.

Quindi avviamo il setup e inizializziamo tutti i servizi.

A questo punto possiamo iniziare il ciclo vero e proprio, che sarà composto da tre sezioni fondamentali:

  • lettura dei dati dallo shield ethernet,
  • controllo del valore di risposta ed eventuale apertura della serratura,
  • invio del codice NFC qualora ve ne fosse uno.

Conclusioni

La semplice soluzione proposta dal corso è un’ottima base per permettere di capire come le tecnologie IoT possano avere un’applicazione pratica e funzionale anche se, chiaramente, non è sufficiente per una situazione reale (presenta diverse problematiche di sicurezza in primo luogo).

Ritengo il progetto interessante per chi vuole fondere le competenze a livello software con l’elettronica e realizzare un prodotto reale. Inoltre, dopo i dovuti miglioramenti a livello software, sarebbe facile spaziare dalla gestione di una serratura ad altri campi come, ad esempio, l’agricoltura (illuminazione, irrigazione), l’intrattenimento (musica, video), o la domotica.

Qui un breve video del prototipo funzionante:

Se ti serve consulenza per il tuo progetto IoT contattami.

Articoli recenti

Page Speed: S3 recursive image optimization

30/04/2019
I have been recently involved in a website optimization project for SEO purposes. One of its major steps was the (lossless) image optimization to improve performances and, of course, to make sure to be Google Page Speed friendly. Google Page Speed Insights PageSpeed Insights is a tool from Google which “analyzes the content of a […]

Trello + Zapier + Google Sheets = Time Tracking

28/03/2019
Trello, un tool di organizzazione con più di 10 milioni di utenti, è diventato uno strumento essenziale per la gestione dei miei progetti. Lo trovo un software fantastico, è molto flessibile e può essere adattato a molteplici esigenze. Inoltre è estremamente semplice da usare, tanto che spesso condivido le bacheche di progetto con il cliente […]

Blockchain backed assets management: Oblatum.

14/12/2018
Dealing with assets property certificates is, most of the times, cumbersome. In Italy when you buy a car you have to pay at least € 235 in property transfer. When you buy a house it starts from around € 5000. Even if you buy something not legally regulated but valuable (in terms of money) you need […]