Innholdsfortegnelse:

Postshirt: Realtime Wearable Posture Detection: 9 trinn
Postshirt: Realtime Wearable Posture Detection: 9 trinn

Video: Postshirt: Realtime Wearable Posture Detection: 9 trinn

Video: Postshirt: Realtime Wearable Posture Detection: 9 trinn
Video: There it is! Tylra kobold ref sheet! | Droxen does art VOD 2024, November
Anonim
Image
Image
Postshirt: Realtime Wearable Posture Detection
Postshirt: Realtime Wearable Posture Detection

Postshirt er et trådløst holdingsdeteksjonssystem i sanntid som overfører og klassifiserer akselerometerdata fra en Adafruit Feather til en Android -applikasjon via Bluetooth. Hele systemet kan oppdage i sanntid hvis brukeren har dårlig holdning og oppretter et push -varsel når brukeren begynner å slakke, deteksjonen fungerer også mens han går.

Rekvisita

Elektronikk

1 x Android -smarttelefon

1 x Adafruit fjær

1 x litiumionpolymerbatteri - 3,7v 100mAh (valgfritt for trådløs bruk)

2 x ADXL335 tre-akset akselerometer

Materialer

Tilkoblingskabel

Rulle med tape

Trinn 1: Installer nødvendige IDEer og biblioteker

Adafruit fjær

Installer først Arduino IDE og følg deretter trinnene for å installere Adafruit nRF51 BLE Library

Jupyter Notebook

Installer først Jupyter Notebook og deretter følgende nødvendige biblioteker

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

Android

Installer Android Studio

Prosjektkode

Last ned all prosjektkoden fra GitHub

Trinn 2: Koble akselerometerne til fjæren

Koble akselerometerne til fjæren
Koble akselerometerne til fjæren
Koble akselerometerne til fjæren
Koble akselerometerne til fjæren

For å lese data fra ADXL335s, kobler du tilkoblingskabelen til Vin-, jord-, Xout-, Yout- og Zout -pinnene. For begge akselerometre kobles de andre endene av Vin -ledningene til 3V -pinnen på fjæren og de andre endene av jordpinnene til jordpinnen på fjæren. Koble Xout-, Yout- og Zout -ledningene til det første akselerometeret til A0-, A1- og A2 -pinnene på fjæren. Koble Xout-, Yout- og Zout -ledningene til det andre akselerometeret til A3-, A4- og A5 -pinnene på fjæren.

Akselerometerne kan kobles til på hvilken som helst måte, men lodding av ledninger og varmekrymping eller vikling av elektrisk tape rundt tilkoblingspunktene er foreslått for å forhindre at utsatte seksjoner kommer i kontakt med hverandre.

Trinn 3: Fest akselerometre til skjorten

Fest akselerometre til skjorten
Fest akselerometre til skjorten

Fest akselerometerne bak på skjorten med tape. Akselerometeret som er koblet til pinnene A0-2, skal plasseres horisontalt midt på nedre del av ryggen. Akselerometeret som er koblet til pinnene A3-5 skal plasseres horisontalt midt bak på nakken. Begge akselerometre bør justeres slik at pinnene er langs undersiden og sensorene skal teipes flatt og festes mot skjorten.

Merk: For en mer permanent slitasje kan sensorene syes på klærne, men de skal teipes og testes først for å sikre at sensorplasseringene er effektivt plassert.

Trinn 4: Kjører kode på Arduino

Running Code på Arduino
Running Code på Arduino

For å begynne å samle data på fjæren, start Arduino IDE og åpne filen GestureDataSender under Arduino -delen av prosjektkoden. Med denne filen åpen, angi brettet og porten som brukes, og velg deretter "Bekreft" og "Last opp" for å laste opp koden til fjæren.

Trinn 5: Kjører kode på Android

Kjører kode på Android
Kjører kode på Android

For å kjøre applikasjonen på android, start først Android Studio og velg deretter alternativet for å åpne et eksisterende Android -prosjekt. Naviger til prosjektkoden og velg "Android" -mappen. Android Studio tar en stund å synkronisere prosjektfilene, og kan be om å installere noen nødvendige biblioteker. Godta disse alternativene. Når prosjektet er klart, kobler du Android -enheten til datamaskinen og velger alternativet Kjør øverst i vinduet. Velg enheten fra ledeteksten som vises, og la deretter programmet bygge til enheten.

Trinn 6: Testing av Bluetooth -signaltilkobling

Tester Bluetooth -signaltilkobling
Tester Bluetooth -signaltilkobling
Tester Bluetooth -signaltilkobling
Tester Bluetooth -signaltilkobling
Tester Bluetooth -signaltilkobling
Tester Bluetooth -signaltilkobling

Når appen er åpen, må du kontrollere at fjæren er slått på og deretter velge Adafruit Bluefruit LE fra enhetslisten som vises på telefonen. Vent til enheten er tilkoblet, hvis tilkoblingen mislykkes første gang, prøv på nytt å koble til før du tar andre feilsøkingstrinn. Etter at enheten er tilkoblet, velg modulen "Posture Detector", som hvis den fungerer som den skal, viser en live oppdateringsgraf, samt gjeldende spådommer om holdning og bevegelse. For å teste at arduinoen kommuniserer sensordata, beveg de to akselerometerene i tilfeldige retninger og sjekk om alle linjene på grafen endres. Hvis noen linjer forblir konstant flate, må du sørge for at akselerometerne er riktig koblet til fjæren. Hvis alt fungerer, legg på skjorten og test at holdningsdeteksjonen forutsier holdningen din riktig. Gratulerer! Du har konfigurert en holdbar deteksjon som kan brukes. Fortsett gjennom denne instruksen for å lære hvordan du lager ditt eget datasett og tilpasser din egen holdningsdeteksjon.

Trinn 7: Samle dine egne data

Samle dine egne data
Samle dine egne data
Samle dine egne data
Samle dine egne data

For å samle dine egne data, gå tilbake til skjermbildet for valg av modul og åpne modulen Data Recorder. Når dette skjermbildet har åpnet, fyll ut etiketten for dataene du vil samle inn. for enkelt å trene på dataene dine, bør du inkludere ordet "bra" i navnet på opptak med god holdning og "dårlig" i opptak med holdning. For å begynne å samle, trykk på "Samle data" -knappen og utfør den tiltenkte handlingen. Når du er ferdig, trykker du på knappen igjen for å fullføre og lagre dataene. Alle registrerte data vil bli lagret i en mappe med navnet "GestureData" under dokumentmappen i filsystemet ditt. Når du er ferdig med å registrere alle dataene, kopierer du filene til datamaskinen for modellopplæring.

Trinn 8: Trening av dataene dine på Jupyter Notebook

Trening av dataene dine på Jupyter Notebook
Trening av dataene dine på Jupyter Notebook
Trening av dataene dine på Jupyter Notebook
Trening av dataene dine på Jupyter Notebook

Den første prosjektkoden inneholder de originale dataene som ble brukt til opplæring i mappen "data" under Jupyter Notebook -delen, for å trene dine egne data, slett alle filene i denne mappen og kopier deretter dine egne data til mappen. Kjør deretter Jupyter Notebook og åpne "PostureDetectorTrainer.ipynb". Denne notatboken er designet for å automatisk skille alle filer i datamappen med god og dårlig holdning, og deretter trene en lineær SVM for klassifisering for å trene modellen, bare velg rullegardinmenyen "Cell" og velg "Run All". Notatboken kan ta et øyeblikk å kjøre, men når den er fullført, blar du til det punktet som gir holdningsprediksjonens nøyaktighet for modellen. Hvis nøyaktigheten er lav, vil du kanskje sørge for at dine tidligere innspillinger er nøyaktige og konsistente grunn sannheter. Hvis resultatene ser bra ut, bla til neste celle hvor en Java -klasse vil ha blitt generert. Rull til bunnen av denne cellen til du ser en del kommentert som parametere. Kopier disse verdiene som du trenger dem i neste trinn.

Trinn 9: Endre Android -applikasjon med ny modell

Endre Android -applikasjon med ny modell
Endre Android -applikasjon med ny modell

For å endre modellen i Android -applikasjonen, bruk Android Studio for å navigere til filen "PostureDetectorFragment.java" under java -delen av prosjektstrukturen. I denne filen blar du ned til delen som er kommentert som "Posture classifier" som vil ha de fire tilsvarende variablene som de 4 genererte i Jupyter Notebook. Erstatt disse fire variablers verdier med verdiene som er kopiert fra Jupyter Notebook, og vær sikker på at variabelnavnene ikke endres fra p_vektorer, p_koeffisienter osv. Når dette er gjort, lagrer du filen og velger alternativet Kjør igjen for å bygge programmet til din enhet. Følg nå de samme trinnene som før for å åpne Posture Detector -modulen, og du bør se klassifisereren nå arbeide med din nyopplærte modell. Hvis det fremdeles ikke ser ut til å fungere godt, bør du vurdere å registrere ytterligere data og gjenskape modellen. Ellers gratulerer! Du har nå importert din egen personlig trente klassifikator til Postshirt!

Anbefalt: