Progetto IoT - Neuro-Care

Introduzione

Questo progetto si pone l’obiettivo di sviluppare una web app che possa offrire un supporto concreto nella gestione di queste patologie, mettendo a disposizione strumenti semplici ma efficaci per monitorare le abitudini quotidiane del paziente e rilevare eventuali cambiamenti significativi nel suo stile di vita. Il sistema si rivolge sia ai caregiver, che possono così avere un quadro più chiaro e aggiornato della situazione, sia ai medici, che possono accedere a dati utili per una valutazione clinica più approfondita. Il progetto si è sviluppato su due fronti principali. Da una parte, è stato implementato un sistema di acquisizione dati basato su un sensore IoT, ovvero lo smatwatch Google Pixel, pensato per raccogliere in modo non invasivo informazioni rilevanti legate al comportamento e allo stato fisico del paziente. Dall’altra, è stata progettata una piattaforma accessibile via web, dotata di dashboard intuitive e personalizzate, in grado di restituire una visione sintetica ma dettagliata dell’andamento quotidiano.

Tecnologie Utilizzate

Architettura del sistema

Architettura

Il backend, sviluppato con Java Spring Boot, gestisce la logica applicativa e l’interazione con il database MongoDB, dove vengono memorizzati i dati biometrici degli utenti. Il frontend, realizzato con React, consente l’interazione degli utenti (caregiver e dottori) tramite un’interfaccia web moderna e responsive. Le richieste tra frontend e backend vengono instradate tramite AWS API Gateway, che agisce da punto di accesso centralizzato e sicuro. I dati biometrici vengono acquisiti tramite l’applicazione Fitbit, che sincronizza i valori registrati dallo smartwatch e li rende disponibili via API. Inoltre, il protocollo MQTT viene utilizzato per supportare comunicazioni leggere ed efficienti tra dispositivi, facilitando l’invio rapido di dati in tempo reale.

Machine Learning

Per l’analisi dei dati, è stato implementato un algoritmo di classificazione basato su Random Forest, un modello supervisionato ampiamente utilizzato nel machine learning per la sua capacità di gestire dati rumorosi e altamente non lineari. È una tecnica che combina diversi alberi decisionali indipendenti tra loro per migliorare la capacità predittiva e la generalizzazione del modello complessivo. Il modello è stato sviluppato in Python, utilizzando la libreria scikit-learn.

Machine Learning Training Stats

Dashboard

La dashboard della pagina web rappresenta il centro operativo dell’applicazione, offrendo una panoramica intuitiva e aggiornata dei dati biometrici raccolti dallo smartwatch. Qui, caregiver e dottori possono monitorare facilmente i parametri vitali come battito cardiaco, ossigenazione del sangue (SpO₂), sonno, attività fisica e peso. La visualizzazione avviene tramite grafici chiari e notifiche immediate in caso di anomalie, permettendo un controllo tempestivo e personalizzato dello stato di salute dell’utente.

Dashboard App