Sensore biometrico di impronte digitali e Home Assistant
di Antonio Mario Longo
24 Novembre 2020
L'angolo dei lettori
In questa rubrica abbiamo già conosciuto Maurizio Arci con i suoi bellissimi progetti, e oggi c'è ne ripropone un altro degno del suo ingegno: un lettore di impronte capacitivo da integrare in Home Assistant per magari aumentare la sicurezza nei nostri appartamenti, con qualche sistema di antifurto integrato nel nostro HUB.
Occorrente per il progetto:
Hardware:
- Lettore di impronte digitali capacitivo modello R503, R502-A o R502-AW: https://amzn.to/3mdQMiN
- Wemos D1 Mini: https://amzn.to/3frellx
- Opzionalmente un Modulo 220 AC - 5v DC o un carica batterie da smartphone: https://amzn.to/35VUS9o
Software:
- ide Arduino (https://downloads.arduino.cc/arduino-nightly-windows.zip)
- Libreria modificata Adafruit Fingerprint
- Libreria: PubSubClient
- Libreria: Arduino JSON
- Home Assistant
- Browser_Mod ( https://github.com/thomasloven/hass-browser_mod )
- Custom Component Saver ( reperibile su Hacs)
- Custom Button Card ( https://github.com/custom-cards/button-card )
- Gap-Card (reperibile su Hacs)
- Mod-Card (https://github.com/thomasloven/lovelace-card-mod)
Mettiamoci subito all'opera, iniziando con il collegamento del Wemos D1 Mini seguendo questo schema:
Corrispondenza colori sensore:
- Rosso: Vcc
- Nero: Gnd
- Giallo: Tx
- Verde: Rx
- Blu e Bianco: Non usati
Dopo aver collegato il tutto con i vari cavetti con lo schema sopra indicato passiamo alla parte Software.
Istallate Arduino Ide e la libreria per la gestione dell'esp8266 (qui potrete trovare la guida https://www.vincenzocaputo.com/arduino/come-installare-ladd-on-esp8266-nellide-di-arduino-64 ).
Una volta completato dovrete aggiungere le librerie PubSubClient e Arduino Json dalla sezione gestione librerie.
- Scaricate il contenuto dalla seguente repository https://github.com/madmicio/Fingerprints-reader-R503---R502-esp8266-mqtt-Home-Assistant
- Copiate la cartella Adafruit_Fingerprint_Sensor_Library allinterno della cartella Libreries presente nel percorso Documenti/Arduino
- Copiate la cartella fingerprints-mqtt presente nello sketch che troveremo anch'essa in Documenti/Arduino
- Aprite ed editate il file fingerprints-mqtt.ino come di seguito con istruzioni laterali annesse:
- Terminata la modifica caricate e compilate lo sketch sulla vostra board Wemos D1 Mini, ottenendo questa Schermata:
- Scollegare dal Pc la Board e ricollegatela in modo tale da farla connettere alla nostra rete Wifi e al broker.
- Recatevi sempre in Arduino Ide nella scheda Strumenti e successivamente Monitor Seriale e dovreste trovarvi una schermata che vi indicherà che il Wemos si è connesso alla vostra rete Wifi e gli è stato assegnato un Ip, e contemporaneamente che il dispositivo si sarà connesso al broker MQTT
- Fate una prova di lettura del sensore, posando il polpastrello del dito sul sensore di impronta. Ovviamente non avendo registrato nessuna impronta il led del sensore si illuminerà di rosso, proprio ad indicare che c'è non è registrata nessun'impronta e che quindi quella immessa non è stata riconosciuta. Otterremo invece nel monitor seriale i seguenti messaggi che ci indicano quanto sopra descritto:
Configurazione in Home Assistant
- Collegatevi ad Home Assistant con Samba o Ftp
- Recatevi nel Percorso Config/Packages e copiate al suo interno il file chiamato fingerprint_packages.yaml che potrete scaricare da qui https://raw.githubusercontent.com/madmicio/Fingerprints-reader-R503---R502-esp8266-mqtt-Home-Assistant/main/home_assistant/fingerprints_package.yaml
- Il file al suo interno conterrà tutte le impostazioni tra sensori, script e input text necessari per registrare la propria impronta digitale, per poi poterla identificare in Home Assistant.
- Terminata la copia Riavviate Home Assistant
Configurare l'interfaccia grafica del sensore:
Metodo 1: Configurazione con Popup
Questa configurazione, richiede l'istallazione di alcuni componenti presenti su Hacs o su Github (ad inizio articolo abbiamo visto dove reperirli) quali:
- Browser_mod
- Saver
- Custom_button_card
- Gap_card
- Mod_card
Dopo Aver istallato gli addon sopra menzionati dovrete copiare il codice Yaml presente al seguente indirizzo
https://raw.githubusercontent.com/madmicio/Fingerprints-reader-R503---R502-esp8266-mqtt-Home-Assistant/main/home_assistant/lovelace.yaml nella vostra configurazione di Lovelace, in modo tale da avere un risultato simile:
Metodo 2: Configurazione Standard senza Popup
Il secondo metodo rispetto al primo presenta una configurazione più minimale, ma non meno utile. Infatti questa tipologia ha solo bisogno solo del componente SAVER.
Il codice da copiare nella card Lovelace è presente a questo indirizzo:https://raw.githubusercontent.com/madmicio/Fingerprints-reader-R503---R502-esp8266-mqtt-Home-Assistant/main/home_assistant/lovelace_standard.
Un ringraziamento va a Maurizio Arci per il suo progetto, che a sua volta ricorda l'aiuto degli sviluppatori di Everithing Smart Home e a Piotr Machowski che hanno permesso la realizzazione dello scketch e delle sue librerie, parti grafiche del progetto e per lo sviluppo del componente Saver.
La card si presenterà alternativamente in questo modo:
In attesa della prossima guida, vi invito a contribuire numerosi alla rubrica "l'angolo dei lettori".
Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.