Présentation BandAid 2 Assistance à l`errance nocturne et détection

Transcription

Présentation BandAid 2 Assistance à l`errance nocturne et détection
Présentation BandAid 2
Assistance à l’errance nocturne et
détection des émotions
Michaël Beaulieu
Jonathan Gagné
Bruno-Pier Touchette
Benoit Jeunehomme
Plan sommaire
Description du contexte d’utilisation du projet
• Comparaison entre les données GSR du Biograph Infinity & Microsoft Band
Répartition des tâches
Architecture de l’application
• Client Android et bracelet Microsoft Band
• Serveur web
Développements à venir
Détection des signes précurseurs de la maladie
d’Alzheimer
Les patients atteints peuvent développer des comportements typiques :
•
•
Agitations nocturnes
Perte d’autonomie
Le bracelet Microsoft Band permet de lire des capteurs en tout moment
pendant qu’il est porté.
L’analyse des données est donc possible afin d’intervenir au besoin.
Analyse des émotions et assistance dans les cas
d’errance nocturne
L’objectif du projet est d’exploiter les différents capteurs disponibles du
Microsoft Band.
•
•
•
•
GSR (Résistance galvanique de la peau) et température de la peau :
Détecter les fluctuations dans le niveau de stress
Fréquence cardiaque et intervalle RR : Analyser le rythme cardiaque du patient
Accéléromètre et gyroscope : Détecter les mouvements et positions du patient
GPS (Téléphone) : Déterminer la position physique de l’individu
Comparaison avec le Biograph
Résistance galvanique
par secondes
• Le Microsoft Band effectue 5
lectures par secondes
600
500
kohms
• Résultats comparable
• Le Biograph effectue 32 lectures
700
400
300
200
100
0
0
10
20
30
40
50
60
70
80
90
100 110 120 130 140 150 160
secondes
Microsoft Band
Biograph
Linéaire (Microsoft Band)
Linéaire (Biograph)
Répartition des tâches
•
•
•
•
•
•
•
•
•
Expérimentation avec WUA (2 semaines)
Serveur Node.js (3 semaines)
Client Web et graphiques temps réel (3 semaines)
Service Bluetooth (2 semaines)
Refactoring du service Android (4 semaines)
Test de compatibilité (2 semaines)
Comparaison données GSR et BioGraph (2 semaines)
Service de storage de données locales sur Android (3 semaines)
Gestion de projet (3 semaines)
Obstacles rencontrés
Décision des technologies à utiliser au début du projet
•
WUA (C#) vs Node.js
Mises à jour du SDK de Microsoft
Capteur GSR
Architecture à modifier côté Android
Architecture de l’application BandAid
Le système est constitué de deux grandes composantes :
1.
2.
Application Android communiquant avec le bracelet et son SDK
•
•
•
•
•
Service de gestion du bracelet
Enveloppe simplifiant les communications avec le SDK de Microsoft
Service d’entreposage des données localement
Service d’émission des données vers le serveur distant
Activités de gestion des capteurs et affichage de graphique en temps réel
Service web Node.JS recueillant les données des lectures
•
•
•
Réception des données sur les patients
Stockage des données sous MongoDB
Présentation de graphique en temps réel
Architecture de l’application Android
Interfaces de l’application Android
Interfaces de l’application Android
Architecture du service web
Gestion des lectures provenant des capteurs du
bracelet
Le bracelet soumet des données à intervalle régulier, mais différent pour
chaque bracelet.
•
(Ex. Accéléromètre au 32 ms vs Rythme cardiaque au secondes)
L’utilisation des Observables (Rx.Java) permet contrôler le flux des données.
On ne veut pas nécessairement les accélérations au 32ms, mais avoir un
échantillon à intervalle régulier (modifiable par l’activité).
Processus de d’abonnements aux événements
du bracelet et stockage des données
Contraintes associées à la gestion des données
La consommation des données du bracelet et son stockage doivent être plus courts que
l’intervalle entre les soumissions des données en tampon.
•
•
•
•
Il est impératif que le stockage soit rapide pour ne pas bloquer les événements des
Observables sous Rx.
La récupération des données ne doit pas dépasser l’intervalle du minuteur qui exporte les
données.
Plus les données sont soumises rapidement, plus le graphique web sera fluide.
La latence réseau ne peut pas être contrôlée par notre application. Il y a donc une variable
qui doit être considérée.
Gestion du niveau de signal Bluetooth
La gestion du niveau de signal Bluetooth permet la détection de
l’affaiblissement du signal et d’avertir le patient sur le bracelet.
•
•
•
L’intensité limite diffère selon l’appareil et doit donc être réglé manuellement.
Bluetooth Low Energy non fonctionnel sous Lolipop (Android 5)
L’intensité varie rapidement, donc les notifications de signal faible sont reçues
régulièrement à une distance limite.
Gestion des notifications
Le processus de notification se fait en 3 temps.
•
•
•
•
Utilisation de Google Cloud Messaging
Récupération du jeton depuis Google
Enregistrement du jeton sur le serveur
Réception d’un message en provenance du serveur
Contraintes du service web Node.js
Afin de respecter les charges d’un système réel, nous nous sommes assurés:
•
Que le serveur puisse répondre à toutes les requêtes
•
•
•
•
Venant de l’android (POST)
Venant de l’application Web cliente (GET)
Que l’application Web cliente puisse afficher les données reçues en temps réel
Avoir un délai respectable pour l’envoi de notifications (Google Cloud Messaging)
Développements à venir
Gestion des profils qui lie les patients aux bracelets
Gestion des préférences de notifications
Analyse des données
•
•
•
Détection de chute
Détection de changement d’humeur (GSR)
Détection de la position (GPS)
Intéraction avec les différents agents de l’appartement intelligent
Actions plus complexes à partir des notifications
Et bien d’autres…
Conclusion
Malgré les obstacles rencontrés tout au long de la session, nous sommes parvenus à
développer un système centralisant les lectures de différents bracelets.
•
•
•
•
•
Les performances du service de gestion de base de données locale satisfont les attentes.
La détection du signal Bluetooth fonctionne dans les délais prescrits.
Le service web Node.js peut être chargé de requête de plusieurs applications en même
temps et répondre dans des délais qui excède les besoins réels du contexte d’utilisation.
Les notifications entre l’application web et le bracelet sont possibles et fonctionnels.
Les futurs intégrations au système seront plus simple avec les changements structuraux
apportés à l’application Android.

Documents pareils