Taula de continguts:

Postshirt: Detecció de postures portables en temps real: 9 passos
Postshirt: Detecció de postures portables en temps real: 9 passos

Vídeo: Postshirt: Detecció de postures portables en temps real: 9 passos

Vídeo: Postshirt: Detecció de postures portables en temps real: 9 passos
Vídeo: Дэниел Крафт: Будущее медицины? Для него существуют приложения 2024, De novembre
Anonim
Image
Image
Postshirt: Detecció de postures portables en temps real
Postshirt: Detecció de postures portables en temps real

Postshirt és un sistema de detecció de postura sense fils en temps real que transmet i classifica les dades de l’acceleròmetre des d’un Adafruit Feather a una aplicació per Android mitjançant Bluetooth. El sistema complet pot detectar en temps real si l'usuari té una mala postura i crea una notificació push quan l'usuari comença a afluixar-se, la detecció també funciona mentre camina.

Subministraments

Electrònica

1 x telèfon intel·ligent Android

1 x Ploma d'Adafruit

1 x bateria de polímer de ions de liti - 3,7 v 100 mAh (opcional per a ús sense fils)

2 x acceleròmetre ADXL335 de tres eixos

Materials

Cable de connexió

Rotlle de cinta

Pas 1: instal·leu biblioteques i IDE necessaris

Ploma d'Adafruit

Primer instal·leu l'IDE Arduino i, a continuació, seguiu els passos per instal·lar Adafruit nRF51 BLE Library

Llibreta Jupyter

Primer instal·leu Jupyter Notebook i després les biblioteques necessàries següents

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

Android

Instal·leu Android Studio

Codi del projecte

Baixeu-vos tot el codi del projecte des de GitHub

Pas 2: connecteu els acceleròmetres a la ploma

Connecteu els acceleròmetres a la ploma
Connecteu els acceleròmetres a la ploma
Connecteu els acceleròmetres a la ploma
Connecteu els acceleròmetres a la ploma

Per llegir les dades dels ADXL335, connecteu el cable de connexió als pins Vin, terra, Xout, Yout i Zout. Per als dos acceleròmetres connecteu els altres extrems dels cables Vin al pin de 3V de la ploma i els altres extrems dels pins de terra al pin de terra de la ploma. Connecteu els cables Xout, Yout i Zout del primer acceleròmetre als pins A0, A1 i A2 del Feather. Connecteu els cables Xout, Yout i Zout del segon acceleròmetre als pins A3, A4 i A5 del Feather.

Els acceleròmetres es poden connectar de qualsevol manera, però es recomana soldar els cables i reduir la calor o embolicar cinta elèctrica al voltant dels punts de connexió per evitar que les seccions exposades entrin en contacte.

Pas 3: connecteu els acceleròmetres a la samarreta

Connecta els acceleròmetres a la samarreta
Connecta els acceleròmetres a la samarreta

Amb cinta adhesiva, fixeu els acceleròmetres a la part posterior de la samarreta. L'acceleròmetre connectat als passadors A0-2 s'ha de col·locar horitzontalment al centre de la part inferior de l'esquena. L'acceleròmetre connectat als passadors A3-5 s'ha de col·locar horitzontalment al centre de la part posterior del coll. Els dos acceleròmetres han d’estar alineats de manera que els passadors estiguin al llarg de la part inferior i els sensors s’hagin de gravar de forma plana i fixats contra la camisa.

Nota: per a un ús més permanent, es poden cosir els sensors a la roba, però cal gravar-los i provar-los primer per assegurar-se que els emplaçaments dels sensors estiguin posicionats eficaçment.

Pas 4: Execució de codi a Arduino

Executant Code a Arduino
Executant Code a Arduino

Per començar a recopilar dades al Feather, inicieu l'IDE Arduino i obriu el fitxer GestureDataSender a la secció Arduino del codi del projecte. Amb aquest fitxer obert, configureu el tauler i el port que s'utilitza i, a continuació, seleccioneu "Verifica" i "Penja" per penjar el codi a la Ploma.

Pas 5: executar el codi a Android

S'està executant Code a Android
S'està executant Code a Android

Per executar l'aplicació a Android, primer inicieu Android Studio i, a continuació, seleccioneu l'opció per obrir un projecte d'Android existent. Aneu al codi del projecte i seleccioneu la carpeta "Android". Android Studio trigarà una estona a sincronitzar els fitxers del projecte i pot ser que sol·liciti instal·lar algunes biblioteques necessàries. Accepteu aquestes opcions. Quan el projecte estigui a punt, connecteu el dispositiu Android a l'ordinador i seleccioneu l'opció d'execució a la part superior de la finestra. Seleccioneu el dispositiu des de la sol·licitud que es mostra i, a continuació, deixeu que l'aplicació creï al dispositiu.

Pas 6: provar la connexió del senyal Bluetooth

Prova de la connexió del senyal Bluetooth
Prova de la connexió del senyal Bluetooth
Prova de la connexió del senyal Bluetooth
Prova de la connexió del senyal Bluetooth
Prova de la connexió del senyal Bluetooth
Prova de la connexió del senyal Bluetooth

Un cop oberta l'aplicació, assegureu-vos que Feather està engegada i, a continuació, seleccioneu Adafruit Bluefruit LE a la llista de dispositius que apareix al telèfon. Espereu fins que el dispositiu es connecti, si la connexió falla la primera vegada que torneu a provar de connectar-vos abans de fer altres passos de depuració. Després de connectar el dispositiu, seleccioneu el mòdul "Detector de postures" que, si funciona correctament, mostrarà un gràfic d'actualització en directe, així com les prediccions actuals de postura i moviment. Per comprovar que l'arduino comunica correctament les dades del sensor, moveu els dos acceleròmetres en direccions aleatòries i comproveu si canvien totes les línies del gràfic. Si algunes línies romanen constantment planes, assegureu-vos que els acceleròmetres estiguin correctament connectats a la Ploma. Si tot funciona, poseu-vos la samarreta i comproveu que la detecció de la postura prediu correctament la vostra postura. Enhorabona! Heu configurat correctament un dispositiu de detecció de postura. Continueu amb aquest instructiu per aprendre a crear el vostre propi conjunt de dades i personalitzar la vostra pròpia detecció de postura.

Pas 7: recopilació de les vostres pròpies dades

Recopilació de dades pròpies
Recopilació de dades pròpies
Recopilació de dades pròpies
Recopilació de dades pròpies

Per recollir les vostres pròpies dades, torneu a la pantalla de selecció del mòdul i obriu el mòdul Data Recorder. Un cop oberta aquesta pantalla, empleneu l'etiqueta de les dades que recollireu; per tal d'entrenar fàcilment les vostres dades, heu d'incloure la paraula "bo" al nom de qualsevol enregistrament amb bona postura i "dolent" a qualsevol enregistrament amb postura. Per començar a recopilar, toqueu el botó "Recopila dades" i realitzeu l'acció prevista, quan hàgiu acabat, torneu a tocar el botó per acabar i desar les dades. Totes les dades enregistrades s’emmagatzemaran en una carpeta anomenada "GestureData" a la carpeta de documents del vostre sistema de fitxers. Quan hàgiu acabat de gravar totes les vostres dades, copieu els fitxers a l'ordinador per a l'entrenament del model.

Pas 8: entrenar les vostres dades al bloc de notes Jupyter

Formació de les vostres dades al bloc de notes Jupyter
Formació de les vostres dades al bloc de notes Jupyter
Formació de les vostres dades al bloc de notes Jupyter
Formació de les vostres dades al bloc de notes Jupyter

El codi inicial del projecte conté les dades originals utilitzades per entrenar a la carpeta "dades" de la secció Jupyter Notebook, per entrenar les vostres pròpies dades, suprimiu tots els fitxers d'aquesta carpeta i, a continuació, copieu les vostres dades a la carpeta. A continuació, executeu Jupyter Notebook i obriu "PostureDetectorTrainer.ipynb". Aquest bloc de notes està dissenyat per separar automàticament tots els fitxers de la carpeta de dades per una postura bona i dolenta i després entrenar un SVM lineal per classificar-lo per entrenar el model, simplement seleccioneu el menú desplegable "Cel·la" i seleccioneu "Executa tot". El portàtil pot trigar un moment a funcionar, però un cop completat, desplaceu-vos fins al punt que proporciona la precisió de predicció de postura per al model, si la precisió és baixa, és possible que vulgueu assegurar-vos que els vostres enregistraments anteriors siguin exactes i consistents. Si els resultats es veuen bé, desplaceu-vos fins a la següent cel·la on s’haurà generat una classe Java. Desplaceu-vos fins a la part inferior d'aquesta cel·la fins que vegeu una part comentada com a paràmetres. Copieu aquests valors perquè els necessiteu al pas següent.

Pas 9: modificació de l'aplicació d'Android amb un model nou

Modificació de l'aplicació Android amb nou model
Modificació de l'aplicació Android amb nou model

Per canviar el model de l'aplicació Android, utilitzeu Android Studio per anar al fitxer "PostureDetectorFragment.java" a la secció java de l'estructura del projecte. En aquest fitxer, desplaceu-vos cap avall fins a la secció comentada com a "Classificador de postures", que tindrà les mateixes 4 variables corresponents que les 4 generades al bloc de notes Jupyter. Substituïu els valors d'aquestes 4 variables pels valors copiats del bloc de notes Jupyter, assegurant-vos que els noms de les variables no es canvien de p_vectors, p_coefficients, etc. dispositiu. Ara seguiu els mateixos passos que abans per obrir el mòdul Detector de postures i hauríeu de veure el classificador ara treballant amb el vostre model recentment entrenat. Si encara no sembla funcionar bé, hauríeu de plantejar la possibilitat de registrar més dades i recrear el model. En cas contrari, felicitats! Ara heu importat el vostre propi classificador de formació personal a Postshirt.

Recomanat: