Cuprins:

Postshirt: Detectare postură purtabilă în timp real: 9 pași
Postshirt: Detectare postură purtabilă în timp real: 9 pași

Video: Postshirt: Detectare postură purtabilă în timp real: 9 pași

Video: Postshirt: Detectare postură purtabilă în timp real: 9 pași
Video: Dorian este speriat de un interlop când face poze 😱🥊🤣 #timisoara #dorianpopa #cluj #bucuresti 2024, Iulie
Anonim
Image
Image
Postshirt: Detectare postură purtabilă în timp real
Postshirt: Detectare postură purtabilă în timp real

Postshirt este un sistem de detectare a posturii fără fir în timp real, care transmite și clasifică datele accelerometrului dintr-un Adafruit Feather într-o aplicație Android prin Bluetooth. Sistemul complet poate detecta în timp real dacă utilizatorul are o postură proastă și creează o notificare push atunci când utilizatorul începe să se înclineze, detectarea funcționează și în timpul mersului.

Provizii

Electronică

1 x smartphone Android

1 x Adafruit Feather

1 x baterie litiu-ion polimer - 3,7v 100mAh (opțional pentru utilizarea wireless)

2 x accelerometru cu trei axe ADXL335

Materiale

Sârmă de conectare

Rola de bandă

Pasul 1: Instalați IDE și biblioteci necesare

Pene de Adafruit

Mai întâi instalați Arduino IDE și apoi urmați pașii pentru a instala Adafruit nRF51 BLE Library

Notebook Jupyter

Mai întâi instalați Jupyter Notebook și apoi următoarele biblioteci necesare

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

Android

Instalați Android Studio

Codul proiectului

Descărcați tot codul proiectului de pe GitHub

Pasul 2: conectați accelerometrele la pană

Conectați accelerometrele la pană
Conectați accelerometrele la pană
Conectați accelerometrele la pană
Conectați accelerometrele la pană

Pentru a citi datele de pe ADXL335s conectați firul de conectare la pinii Vin, masă, Xout, Yout și Zout. Pentru ambele accelerometre conectați celelalte capete ale firelor Vin la pinul de 3V de pe Feather și celelalte capete ale pinilor de masă la pinul de masă de pe Feather. Conectați firele Xout, Yout și Zout ale primului accelerometru la pinii A0, A1 și A2 de pe Feather. Conectați firele Xout, Yout și Zout ale celui de-al doilea accelerometru la pinii A3, A4 și A5 de pe Feather.

Accelerometrele pot fi conectate în orice mod, dar lipirea firelor și termocontractarea sau înfășurarea benzii electrice în jurul punctelor de conectare este sugerată pentru a preveni contactul secțiunilor expuse.

Pasul 3: Atașați accelerometrele la cămașă

Atașați accelerometrele la cămașă
Atașați accelerometrele la cămașă

Folosind bandă atașați accelerometrele la spatele cămășii. Accelerometrul conectat la pinii A0-2 ar trebui să fie așezat pe orizontală la mijlocul spatelui inferior. Accelerometrul conectat la pinii A3-5 ar trebui să fie așezat orizontal în partea din spate a gâtului. Ambele accelerometre ar trebui să fie aliniate astfel încât știfturile să fie de-a lungul părții inferioare, iar senzorii să fie lipiți plat și fixați de cămașă.

Notă: Pentru o purtare mai permanentă, senzorii pot fi cusuti pe îmbrăcăminte, dar trebuie să fie lipiți și testați mai întâi pentru a vă asigura că plasarea senzorului este poziționată eficient.

Pasul 4: Rularea codului pe Arduino

Rularea codului pe Arduino
Rularea codului pe Arduino

Pentru a începe colectarea de date pe Feather, porniți Arduino IDE și deschideți fișierul GestureDataSender sub secțiunea Arduino din codul proiectului. Cu acest fișier deschis, setați placa și portul utilizat, apoi selectați „Verificați” și „Încărcați” pentru a încărca codul în Feather.

Pasul 5: Rularea codului pe Android

Rularea codului pe Android
Rularea codului pe Android

Pentru a rula aplicația pe Android, porniți mai întâi Android Studio și apoi selectați opțiunea de a deschide un proiect Android existent. Navigați la codul proiectului și selectați folderul „Android”. Android Studio va dura ceva timp pentru a sincroniza fișierele proiectului și poate solicita instalarea unor biblioteci necesare, acceptă aceste opțiuni. Odată ce proiectul este gata, conectați dispozitivul Android la computer și selectați opțiunea de rulare din partea de sus a ferestrei. Selectați dispozitivul din solicitarea care se afișează și apoi lăsați aplicația să se construiască pe dispozitiv.

Pasul 6: Testarea conexiunii semnalului Bluetooth

Testarea conexiunii semnalului Bluetooth
Testarea conexiunii semnalului Bluetooth
Testarea conexiunii semnalului Bluetooth
Testarea conexiunii semnalului Bluetooth
Testarea conexiunii semnalului Bluetooth
Testarea conexiunii semnalului Bluetooth

Odată ce aplicația este deschisă, asigurați-vă că Feather este pornit și apoi selectați Adafruit Bluefruit LE din lista de dispozitive care apare pe telefon. Așteptați ca dispozitivul să se conecteze, dacă conexiunea nu reușește prima dată, reîncercați conectarea înainte de a lua alți pași de depanare. După ce dispozitivul a fost conectat, selectați modulul "Detector de postură" care, dacă funcționează corect, va afișa un grafic de actualizare live, precum și predicțiile actuale de postură și mișcare. Pentru a testa dacă arduino comunică corect datele senzorului, mutați cele două accelerometre în direcții aleatorii și verificați dacă toate liniile din grafic se schimbă. Dacă unele linii rămân plate în mod constant, asigurați-vă că accelerometrele sunt conectate corect la Pene. Dacă totul funcționează, puneți-vă cămașa și testați dacă detectarea posturii vă prezice corect poziția. Felicitări! Ați configurat cu succes o poartă de detectare a posturii. Continuați prin acest instructiv pentru a afla cum să creați propriul set de date și să vă personalizați propria detectare a posturii.

Pasul 7: Colectarea propriilor date

Colectarea propriilor date
Colectarea propriilor date
Colectarea propriilor date
Colectarea propriilor date

Pentru a colecta propriile date reveniți la ecranul de selectare a modulului și deschideți modulul Data Recorder. După deschiderea acestui ecran, completați eticheta pentru datele pe care le veți colecta; pentru a vă antrena cu ușurință asupra datelor dvs. ar trebui să includeți cuvântul „bun” în numele oricărei înregistrări cu postură bună și „rău” în orice înregistrări cu postură. Pentru a începe colectarea, atingeți butonul „Colectați date” și efectuați acțiunea dorită, când ați terminat, atingeți din nou butonul pentru a termina și salva datele. Toate datele înregistrate vor fi stocate într-un dosar numit „GestureData” sub dosarul de documente al sistemului de fișiere. Când ați terminat de înregistrat toate datele, copiați fișierele pe computerul dvs. pentru instruirea modelului.

Pasul 8: Instruirea datelor dvs. pe Jupyter Notebook

Instruirea datelor dvs. pe notebook-ul Jupyter
Instruirea datelor dvs. pe notebook-ul Jupyter
Instruirea datelor dvs. pe notebook-ul Jupyter
Instruirea datelor dvs. pe notebook-ul Jupyter

Codul inițial al proiectului conține datele originale utilizate pentru antrenament în folderul „date” din secțiunea Jupyter Notebook, pentru instruirea propriilor date ștergeți toate fișierele din acest folder și apoi copiați propriile date în dosar. Apoi rulați Jupyter Notebook și deschideți „PostureDetectorTrainer.ipynb”. Acest notebook este conceput pentru a separa automat orice fișier din folderul de date printr-o postură bună și proastă și apoi pregăti un SVM liniar pentru clasificare pentru a antrena modelul, pur și simplu selectați meniul derulant „Cell” și selectați „Run All”. Caietul de sarcini poate dura un moment pentru a rula, dar odată complet derulați până la punctul care oferă precizia de predicție a posturii pentru model, dacă precizia este scăzută, vă recomandăm să vă asigurați că înregistrările anterioare sunt adevăruri de bază corecte și consistente. Dacă rezultatele arată bine, derulați la următoarea celulă unde va fi generată o clasă Java. Derulați până în partea de jos a acestei celule până când vedeți o porțiune comentată ca parametri. Copiați aceste valori deoarece veți avea nevoie de ele în pasul următor.

Pasul 9: Modificarea aplicației Android cu un nou model

Modificarea aplicației Android cu noul model
Modificarea aplicației Android cu noul model

Pentru a schimba modelul în aplicația Android, utilizați Android Studio pentru a naviga la fișierul „PostureDetectorFragment.java” din secțiunea java din structura proiectului. În acest fișier derulați în jos până la secțiunea comentată ca „Clasificator de postură”, care va avea aceleași 4 variabile corespunzătoare cu cele 4 generate în Jupyter Notebook. Înlocuiți valorile acestor 4 variabile cu valorile copiate din Notebook-ul Jupyter, asigurându-vă că numele variabilelor nu sunt modificate din p_vectors, p_coefficients, etc. dispozitiv. Acum urmați aceiași pași ca înainte pentru a deschide modulul Posture Detector și ar trebui să vedeți clasificatorul care lucrează acum cu modelul dvs. nou instruit. Dacă tot nu pare să funcționeze bine, ar trebui să luați în considerare înregistrarea datelor suplimentare și recreerea modelului. Altfel felicitari! Acum v-ați importat propriul clasificator instruit personal în Postshirt!

Recomandat: