Whistle Key – Il portachiavi intelligente

Concept

Quante volte ti è capitato di perdere le chiavi, magari dimenticandole sul tavolo del bar? Quanto tempo hai perso cercando delle chiavi che non erano al loro posto? Con il WhistleKey potrai ritrovare le tue chiavi in un batter d’occhio, ma non solo! Saranno loro a farsi trovare nel caso in cui le dimenticassi. Il progetto consiste nello sviluppo di un sistema di controllo dalle dimensioni tali da poter essere incluso in un normale portachiavi. Se si produce un fischio o se il portachiavi rimane lontano dal proprietario per più di 10 minuti (circa), il portachiavi lampeggerà (grazie ai due LED integrati nella XCM2GO) e riprodurrà un suono facilitandone l’individuazione.

Riconoscimento fischio

Software

Le soluzioni più indicate per il riconoscimento del fischio sono due: l'autocorrelazione e l’analisi dello spettrogramma. Entrambe sono implementabili sulla XMC 2Go; l’analisi dello spettrogramma è il metodo più attendibile per la rilevazione di un fischio ben definito ma è anche il più esoso in termini di costi di calcolo. La XMC 2Go permette di eseguire il sampling del segnale analogico fino ai 40 kHz senza problemi, e il processore ha abbastanza RAM per eseguire l'algoritmo con una risoluzione di 40~70 Hz. Gli algoritmi più comuni per ottenere una trasformata di Fourier del segnale, operazione necessaria per poter analizzare le frequenze del fischio che dovremmo riconoscere, sono l’algoritmo di Cooley-Tukey e quello di Hartley che, per i nostri scopi, si equivalgono.

Una volta ottenuto lo spettro delle frequenze, si deve eseguire un algoritmo di pitch detection (algoritmo che individua la frequenza fondamentale di un dato suono). Il più indicato è il maximum likelihood, che effettua una semplice comparazione fra lo spettro di un campione presente in memoria (il fishio originale che dobbiamo memorizzare in fase di programmazione all’interno della XMC 2Go) ed il suono captato dal microfono. Questo metodo offre un ottimo compromesso fra consumi (in termini di energia e quindi durata della batteria), reattività (tempo necessario al portachiavi per “riconoscere” il fischio del padrone e riprodurre il suono) e affidabilità (non suonare quando il microfono capta suoni diversi dal fischio e reagire quando si capta il fischio, considerando anche una buona approssimazione).

Hardware

Per la cattura del segnale audio dovremo inserire un microfono opportunamente amplificato. Il MAX4466 è un microfono elettrolitico di dimensioni ridotte che offre anche una eccellente amplificazione (per i nostri scopi).

Rilevazione “allontanamento”

Software

La programmazione del modulo Bluetooth è elementare in quanto su internet si trovano molte librerie Open Source per la comunicazione; sono, inoltre, disponibili numerose app adatte ad interfacciarsi con il modulo Bluetooth scelto (spiegheremo in seguito nel dettaglio a cosa serviranno). La nostra scheda cercherà ogni 5 minuti (intervallo scelto per ottimizzare la durata della batteria) i dispositivi Bluetooth nelle vicinanze e, qualora non trovasse il nostro cellulare, avvierà un timer impostato a 5 minuti trascorsi i quali attiverà il segnale sonoro e visivo. Volendo sviluppare un WhistleKey minimale non è necessario installare alcuna app sul proprio cellulare: è necessario programmare la XCM2GO in modo che salvi il nome dei primi N dispositivi Bluetooth che vede nel momento della sua prima accensione. Ovviamente nelle vicinanze del portachiavi ci dovranno essere solo i nostri telefoni con il Bluetooth acceso, qualora non si possa essere sicuri di ciò basta inserire un controllo sulla potenza del segnale di comunicazione ricevuto, in modo da registrare solo il dispositivo con il segnale più alto (perciò sarà necessario tenere il portachiavi vicino al cellulare durante la fase di inizializzazione).

Utilizzando, ad esempio, l’applicazione Nordic's Android nRF UART sarà inoltre possibile controllare a distanza il portachiavi facendolo suonare a comando, verificando la carica residua della batteria, oppure controllando eventuali altre funzioni (la XCM2GO utilizzata per il WhistleKey ha 5 pin liberi che possono essere usati per aggiungere altre funzioni al portachiavi)

Hardware

Per la rilevazione dello “allontanamento dal proprietario” abbiamo pensato al modulo Bluetooth BLE nRF8001 che ha il pregio di essere piccolo, con un basso consumo energetico, un ampio raggio (nell’ordine dei metri) e di essere compatibile con cellulari iphone e android.

Riproduzione avviso sonoro e visivo

Software

In base al buzzer scelto è consigliabile impostare il tono che abbia la maggior potenza del segnale sonoro ed impostare la riproduzione in modo che sia intermittente. I LED andranno accesi anch’essi ad intermittenza impostando l’intervallo di accensione fra i 500 ed i 200 ms (in modo da ottenere la massima visibilità).

N.B.: è importante che il microfono venga disattivato durante la riproduzione del segnale sonoro.

Hardware

Per la riproduzione del segnale sonoro è possibile utilizzare un altoparlante o un semplice buzzer attaccato direttamente ad un pin. Questa ultima soluzione garantisce un segnale sonoro molto potente ed un consumo minimo di energia. Per quanto riguarda la produzione di un segnale visivo, i LED incorporati nella XCM2GO sono più che sufficienti a generare una buona luminosità.

Alimentazione

Hardware

La soluzione migliore per realizzare un WhistleKey di dimensioni molto ridotte consiste nell’utilizzare 4 pile a bottone da 1.2 V (Varta MBU20 NiMH) in modo da raggiungere i 4.8v che consentono sia di alimentare senza problemi il sistema sia di garantire un design molto compatto. Tuttavia questa soluzione è anche quella con minore autonomia, è possibile scegliere vari tipi di batterie con dimensioni e amperaggi diversi, i voltaggi di riferimento sono 1.2, 2.4 e 4.8 V. Utilizzando la soluzione più compatta l’autonomia ottenuta è di circa 20 ore, ma è facilmente ricaricabile tramite la microUSB integrata nella XCM2GO. Sarebbe possibile utilizzare anche una piccola cella al litio ma questa avrà bisogno oltre che di uno step-up anche di un circuito dedicato per la ricarica e ciò inficerebbe di molto la compattezza ma garantirebbe una elevata autonomia.

3 Comments

  1. Giorgio Sadolfo 21 agosto 2014
  2. Piero Boccadoro 4 giugno 2014
  3. gfranco78 4 giugno 2014

Leave a Reply