IronEar, il sensore audio privacy-first che riconosce 500 suoni in locale

IronEar è un sensore audio open source privacy-first che riconosce oltre 500 tipi di suoni grazie a un’AI che gira a bordo. L’audio non lascia mai il dispositivo, quindi non finisce su nessun server. Il nodo è pensato per la casa e si integra con Home Assistant via MQTT. Inoltre può comunicare via LoRa quando il Wi-Fi non è disponibile. Offre così un’alternativa alle telecamere per la sorveglianza domestica, perché riconosce i suoni importanti senza compromettere la privacy.

Il cuore del progetto è un modulo Espressif ESP32-S3-WROOM-1 con 16 MB di flash e 8 MB di PSRAM. Questa dotazione di memoria serve a tenere in locale il modello di classificazione e i buffer audio. La radio LoRa si appoggia a un Semtech SX1262, mentre un Quectel LC76G completa la dotazione del nodo. Il risultato è un sensore autonomo, che non dipende dalla rete di casa per funzionare.

Tre microfoni MEMS e il modello TinyEar per la classificazione

La captazione del suono è affidata a tre microfoni MEMS Infineon IM73D122, disposti in un array triangolare. Questa geometria permette al nodo di leggere il suono da più punti e di gestire meglio le direzioni di arrivo. Il riconoscimento, invece, è gestito da TinyEar, un port del modello di classificazione audio YAMNet di Google. La classificazione avviene localmente circa una volta al secondo, senza registrare audio né inviarlo a un server.

Scheda elettronica interna del sensore IronEar con i componenti a vista
L’hardware interno di IronEar

Il funzionamento si riassume in pochi passaggi:

  • I tre microfoni MEMS captano il suono dell’ambiente.
  • TinyEar classifica il suono in locale circa una volta al secondo.
  • Il risultato diventa un evento di sensore, senza audio salvato.
  • Il nodo lo pubblica su MQTT verso Home Assistant.
  • Se il Wi-Fi manca, il modulo SX1262 lo manda su canale Meshtastic.

La funzione di scene learning aggiunge un livello utile in casa. L’utente registra per alcuni minuti le caratteristiche sonore di un ambiente e il nodo impara a riconoscere poi quella particolare scena acustica. Perciò non serve solo a distinguere un suono secco, ma anche a capire lo stato di un ambiente nel tempo. Chi vuole rifare il progetto trova nella campagna su Crowd Supply il punto di partenza per capire cosa serve e come è organizzato il nodo.

MQTT su Home Assistant e canale privato Meshtastic

Per l’uso domestico IronEar si collega a Home Assistant tramite MQTT. Così un suono rilevato può essere trattato come qualsiasi altro input di sensore, ad esempio per accendere una luce o inviare una notifica. Inoltre la stessa struttura di eventi vale per tutti i suoni riconosciuti, quindi le automazioni si scrivono una volta sola.

Quando il Wi-Fi non è disponibile, IronEar usa un modulo LoRa basato su Semtech SX1262 e comunica su un canale privato Meshtastic. Questa è la parte che rende il nodo interessante anche fuori casa, per esempio in un garage o in una dependance. Infatti il sensore non dipende dalla copertura della rete locale e mantiene una via di comunicazione a basso consumo. Il tutto senza mai far uscire l’audio dal dispositivo.

I numeri aiutano a inquadrare il progetto. Il modulo ESP32-S3-WROOM-1 mette a disposizione 16 MB di flash e 8 MB di PSRAM. I microfoni MEMS Infineon IM73D122 sono tre, disposti in array triangolare. IronEar riconosce più di 500 diversi tipi di suoni e la classificazione avviene localmente circa una volta al secondo. Sono dati che spiegano perché il nodo possa lavorare da solo, senza cloud e senza registrare nulla.

Per chi vuole rifare il progetto, la parte software si appoggia a TinyEar e a YAMNet per la classificazione, a MQTT e Home Assistant per l’integrazione e a Meshtastic per il canale LoRa. L’hardware ruota intorno a ESP32-S3-WROOM-1, IM73D122, SX1262 e LC76G. La campagna su Crowd Supply raccoglie il progetto e i dettagli per chi vuole costruirlo o seguirlo.


Fonte: https://www.crowdsupply.com/ironear-technologies/ironear

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Menu