Table des matières:

Postshirt : Détection de posture portable en temps réel : 9 étapes
Postshirt : Détection de posture portable en temps réel : 9 étapes

Vidéo: Postshirt : Détection de posture portable en temps réel : 9 étapes

Vidéo: Postshirt : Détection de posture portable en temps réel : 9 étapes
Vidéo: Azure Security ins & outs (DexMach) 2024, Juillet
Anonim
Image
Image
Postshirt: Détection de posture portable en temps réel
Postshirt: Détection de posture portable en temps réel

Postshirt est un système de détection de posture sans fil en temps réel qui transmet et classe les données d'accéléromètre d'un Adafruit Feather à une application Android via Bluetooth. Le système complet peut détecter en temps réel si l'utilisateur a une mauvaise posture et crée une notification push lorsque l'utilisateur commence à s'affaisser, la détection fonctionne également en marchant.

Fournitures

Électronique

1 téléphone intelligent Android

1 x plume d'Adafruit

1 x batterie lithium-ion polymère - 3.7v 100mAh (en option pour une utilisation sans fil)

2 x accéléromètres à trois axes ADXL335

Matériaux

Brancher le fil

Rouleau de scotch

Étape 1: Installez les IDE et les bibliothèques nécessaires

Plume d'Adafruit

Installez d'abord l'IDE Arduino, puis suivez les étapes pour installer la bibliothèque Adafruit nRF51 BLE

Cahier Jupyter

Installez d'abord Jupyter Notebook, puis les bibliothèques requises suivantes

  • https://scikit-learn.org/stable/
  • https://github.com/nok/sklearn-porter

Android

Installer Android Studio

Code de projet

Téléchargez tout le code du projet depuis GitHub

Étape 2: câbler les accéléromètres à la plume

Câblez les accéléromètres à la plume
Câblez les accéléromètres à la plume
Câblez les accéléromètres à la plume
Câblez les accéléromètres à la plume

Pour lire les données des ADXL335, connectez le fil de raccordement aux broches Vin, masse, Xout, Yout et Zout. Pour les deux accéléromètres, connectez les autres extrémités des fils Vin à la broche 3V du Feather et les autres extrémités des broches de masse à la broche de masse du Feather. Connectez les fils Xout, Yout et Zout du premier accéléromètre aux broches A0, A1 et A2 du Feather. Connectez les fils Xout, Yout et Zout du deuxième accéléromètre aux broches A3, A4 et A5 du Feather.

Les accéléromètres peuvent être connectés de n'importe quelle manière, mais il est suggéré de souder les fils et de thermorétracter ou d'enrouler du ruban électrique autour des points de connexion pour empêcher les sections exposées de se contacter.

Étape 3: Attachez les accéléromètres à la chemise

Attachez les accéléromètres à la chemise
Attachez les accéléromètres à la chemise

À l'aide de ruban adhésif, fixez les accéléromètres à l'arrière de la chemise. L'accéléromètre câblé aux broches A0-2 doit être placé horizontalement au centre au milieu du bas du dos. L'accéléromètre câblé aux broches A3-5 doit être placé horizontalement au centre à l'arrière du cou. Les deux accéléromètres doivent être alignés de telle sorte que les broches se trouvent le long du côté inférieur et les capteurs doivent être collés à plat et fixés contre la chemise.

Remarque: Pour un port plus permanent, les capteurs peuvent être cousus sur les vêtements, mais ils doivent d'abord être scotchés et testés pour s'assurer que les emplacements des capteurs sont correctement positionnés.

Étape 4: Exécuter du code sur Arduino

Exécuter du code sur Arduino
Exécuter du code sur Arduino

Pour commencer à collecter des données sur le Feather, démarrez l'IDE Arduino et ouvrez le fichier GestureDataSender sous la section Arduino du code du projet. Avec ce fichier ouvert, définissez la carte et le port utilisé, puis sélectionnez "Vérifier" et "Télécharger" pour télécharger le code sur le Feather.

Étape 5: Exécuter le code sur Android

Exécuter du code sur Android
Exécuter du code sur Android

Pour exécuter l'application sur Android, démarrez d'abord Android Studio, puis sélectionnez l'option permettant d'ouvrir un projet Android existant. Accédez au code du projet et sélectionnez le dossier "Android". Android Studio prendra un certain temps pour synchroniser les fichiers du projet et peut demander l'installation de certaines bibliothèques requises, acceptez ces options. Une fois le projet prêt, branchez l'appareil Android sur l'ordinateur et sélectionnez l'option d'exécution en haut de la fenêtre. Sélectionnez l'appareil à partir de l'invite qui s'affiche, puis laissez l'application se construire sur l'appareil.

Étape 6: Test de la connexion du signal Bluetooth

Test de la connexion du signal Bluetooth
Test de la connexion du signal Bluetooth
Test de la connexion du signal Bluetooth
Test de la connexion du signal Bluetooth
Test de la connexion du signal Bluetooth
Test de la connexion du signal Bluetooth

Une fois l'application ouverte, assurez-vous que le Feather est allumé, puis sélectionnez l'Adafruit Bluefruit LE dans la liste des appareils qui apparaît sur le téléphone. Attendez que l'appareil se connecte, si la connexion échoue la première fois, réessayez de vous connecter avant de prendre d'autres étapes de débogage. Une fois l'appareil connecté, sélectionnez le module "Détecteur de posture" qui, s'il fonctionne correctement, affichera un graphique de mise à jour en direct ainsi que les prévisions actuelles de posture et de mouvement. Pour tester que l'arduino communique correctement les données du capteur, déplacez les deux accéléromètres dans des directions aléatoires et vérifiez si toutes les lignes du graphique changent. Si certaines lignes restent constamment plates, assurez-vous que les accéléromètres sont correctement connectés au Feather. Si tout fonctionne, mettez le t-shirt et vérifiez que la détection de posture prédit correctement votre posture. Toutes nos félicitations! Vous avez configuré avec succès un dispositif portable de détection de posture. Continuez à travers cette instructable pour apprendre à créer votre propre ensemble de données et personnaliser votre propre détection de posture.

Étape 7: Collecter vos propres données

Collecte de vos propres données
Collecte de vos propres données
Collecte de vos propres données
Collecte de vos propres données

Pour collecter vos propres données, retournez à l'écran de sélection du module et ouvrez le module Data Recorder. Une fois cet écran ouvert, remplissez le libellé des données que vous allez collecter; afin de vous entraîner facilement sur vos données, vous devez inclure le mot "bon" dans le nom de tout enregistrement avec une bonne posture et "mauvais" dans tout enregistrement avec une posture. Pour commencer la collecte, appuyez sur le bouton « Collecter des données » et effectuez l'action souhaitée, lorsque vous avez terminé, appuyez à nouveau sur le bouton pour terminer et enregistrer les données. Toutes les données enregistrées seront stockées dans un dossier nommé "GestureData" sous le dossier documents de votre système de fichiers. Lorsque vous avez terminé d'enregistrer toutes vos données, copiez les fichiers sur votre ordinateur pour la formation du modèle.

Étape 8: Formation de vos données sur Jupyter Notebook

Formation de vos données sur Jupyter Notebook
Formation de vos données sur Jupyter Notebook
Formation de vos données sur Jupyter Notebook
Formation de vos données sur Jupyter Notebook

Le code du projet initial contient les données d'origine utilisées pour l'entraînement dans le dossier « données » de la section Jupyter Notebook, pour entraîner vos propres données, supprimez tous les fichiers de ce dossier, puis copiez vos propres données dans le dossier. Exécutez ensuite Jupyter Notebook et ouvrez « PostureDetectorTrainer.ipynb ». Ce bloc-notes est conçu pour séparer automatiquement tous les fichiers du dossier de données par bonne et mauvaise posture, puis former un SVM linéaire pour la classification afin de former le modèle, sélectionnez simplement le menu déroulant "Cellule" et sélectionnez "Exécuter tout". Le bloc-notes peut prendre un moment à s'exécuter, mais une fois terminé, faites défiler jusqu'au point qui fournit la précision de prédiction de posture pour le modèle. Si la précision est faible, vous voudrez peut-être vous assurer que vos enregistrements précédents sont des vérités de terrain précises et cohérentes. Si les résultats semblent bons, faites défiler jusqu'à la cellule suivante où une classe Java aura été générée. Faites défiler vers le bas de cette cellule jusqu'à ce que vous voyiez une partie commentée en tant que paramètres. Copiez ces valeurs car vous en aurez besoin à l'étape suivante.

Étape 9: Modification de l'application Android avec un nouveau modèle

Modification d'une application Android avec un nouveau modèle
Modification d'une application Android avec un nouveau modèle

Pour modifier le modèle dans l'application Android, utilisez Android Studio pour accéder au fichier "PostureDetectorFragment.java" sous la section Java de la structure du projet. Dans ce fichier, faites défiler jusqu'à la section commentée en tant que "Classificateur de posture" qui aura les mêmes 4 variables correspondantes que les 4 générées dans Jupyter Notebook. Remplacez les valeurs de ces 4 variables par les valeurs copiées du Jupyter Notebook, en vous assurant que les noms de variables ne sont pas modifiés à partir de p_vectors, p_coefficients, etc. Une fois cela fait, enregistrez le fichier et sélectionnez à nouveau l'option Exécuter pour créer l'application sur votre dispositif. Suivez maintenant les mêmes étapes que précédemment pour ouvrir le module Détecteur de posture et vous devriez voir le classificateur fonctionner maintenant avec votre modèle nouvellement formé. S'il ne semble toujours pas fonctionner correctement, vous devriez envisager d'enregistrer d'autres données et de recréer le modèle. Sinon félicitations ! Vous avez maintenant importé votre propre classificateur personnellement formé dans le Postshirt !

Conseillé: