Innehållsförteckning:

Postshirt: Realtime Wearable Posture Detection: 9 steg
Postshirt: Realtime Wearable Posture Detection: 9 steg

Video: Postshirt: Realtime Wearable Posture Detection: 9 steg

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

Postshirt är ett system för trådlös hållning i realtid som sänder och klassificerar accelerometerdata från en Adafruit Feather till en Android -applikation via Bluetooth. Hela systemet kan upptäcka i realtid om användaren har dålig hållning och skapar en push -avisering när användaren börjar slinka, detekteringen fungerar också när han går.

Tillbehör

Elektronik

1 x Android -smartphone

1 x Adafruit fjäder

1 x litiumjonpolymerbatteri - 3,7v 100mAh (valfritt för trådlös användning)

2 x ADXL335 trippelaxlad accelerometer

Material

Anslutningstråd

Rulle med tejp

Steg 1: Installera nödvändiga IDE: er och bibliotek

Adafruit fjäder

Installera först Arduino IDE och följ sedan stegen för att installera Adafruit nRF51 BLE Library

Jupyter anteckningsbok

Installera först Jupyter Notebook och sedan följande obligatoriska bibliotek

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

Android

Installera Android Studio

Projektkod

Ladda ner hela projektkoden från GitHub

Steg 2: Anslut accelerometrarna till fjädern

Anslut accelerometrarna till fjädern
Anslut accelerometrarna till fjädern
Anslut accelerometrarna till fjädern
Anslut accelerometrarna till fjädern

För att läsa data från ADXL335s, anslut anslutningskabeln till Vin-, mark-, Xout-, Yout- och Zout -stiften. För båda accelerometrarna ansluter Vin -trådarnas andra ändar till 3V -stiftet på fjädern och de andra ändarna av markstiften till markstiftet på fjädern. Anslut Xout-, Yout- och Zout -trådarna på den första accelerometern till A0-, A1- och A2 -stiften på fjädern. Anslut Xout-, Yout- och Zout -ledningarna på den andra accelerometern till A3-, A4- och A5 -stiften på fjädern.

Accelerometrarna kan anslutas på vilket sätt som helst men lödning av trådarna och värmekrympning eller inslagning av tejp runt anslutningspunkterna föreslås för att förhindra att utsatta sektioner kommer i kontakt med varandra.

Steg 3: Fäst accelerometrar på skjortan

Fäst accelerometrar på skjortan
Fäst accelerometrar på skjortan

Fäst accelerometrarna på tejpens baksida med tejp. Acceleratorn som är ansluten till stift A0-2 bör placeras horisontellt mitt på mitten av nedre delen av ryggen. Acceleratorn som är ansluten till stiften A3-5 ska placeras horisontellt mitt på nacken. Båda accelerometrarna ska vara inriktade så att tapparna är längs undersidan och sensorerna ska tejpas platta och säkra mot tröjan.

Obs: För en mer permanent bärbarhet kan sensorerna sys på kläderna, men de ska tejpas och testas först för att säkerställa att sensorplaceringarna placeras effektivt.

Steg 4: Körningskod på Arduino

Körkod på Arduino
Körkod på Arduino

För att börja samla in data på fjädern startar du Arduino IDE och öppnar filen GestureDataSender under Arduino -delen av projektkoden. Med den här filen öppen ställ in styrelsen och porten som används och välj sedan "Verifiera" och "Ladda upp" för att ladda upp koden till fjädern.

Steg 5: Körningskod på Android

Körkod på Android
Körkod på Android

För att köra programmet på android startar du först Android Studio och väljer sedan alternativet för att öppna ett befintligt Android -projekt. Navigera till projektkoden och välj "Android" -mappen. Android Studio tar ett tag att synkronisera projektfilerna och kan begära att installera några nödvändiga bibliotek, acceptera dessa alternativ. När projektet är klart ansluter du Android -enheten till datorn och väljer köralternativet högst upp i fönstret. Välj enheten från prompten som visas och låt sedan programmet bygga till enheten.

Steg 6: Testa Bluetooth -signalanslutning

Testar Bluetooth -signalanslutning
Testar Bluetooth -signalanslutning
Testar Bluetooth -signalanslutning
Testar Bluetooth -signalanslutning
Testar Bluetooth -signalanslutning
Testar Bluetooth -signalanslutning

När appen är öppen, se till att fjädern är påslagen och välj sedan Adafruit Bluefruit LE från enhetslistan som visas på telefonen. Vänta tills enheten ansluts, om anslutningen misslyckas första gången försök igen ansluta innan du vidtar andra felsökningssteg. Efter att enheten har anslutits välj modulen "Posture Detector" som, om den fungerar korrekt, visar en liveuppdateringsgraf samt de aktuella förutsägelserna för hållning och rörelse. För att testa att arduino kommunicerar sensordata korrekt flytta de två accelerometrarna i slumpmässiga riktningar och kontrollera om alla linjer på grafen ändras. Om vissa linjer förblir konstanta, se till att accelerometrarna är korrekt anslutna till fjädern. Om allt fungerar, lägg på skjortan och testa att detekteringen av hållning korrekt förutspår din hållning. Grattis! Du har framgångsrikt konfigurerat en hållbar detektering bärbar. Fortsätt genom denna instruerbara för att lära dig hur du skapar din egen dataset och anpassar din egen hållningsdetektering.

Steg 7: Samla dina egna data

Samla dina egna upter
Samla dina egna upter
Samlar in dina egna upter
Samlar in dina egna upter

För att samla in din egen data går du tillbaka till skärmen för val av modul och öppnar modulen Data Recorder. När denna skärm har öppnats fyller du i etiketten för data som du kommer att samla in; för att enkelt träna på dina data bör du inkludera ordet "bra" i namnet på alla inspelningar med bra hållning och "dålig" i alla inspelningar med hållning. För att börja samla, tryck på knappen "Samla data" och utför din avsedda åtgärd, när du är klar trycker du på knappen igen för att avsluta och spara data. All inspelad data lagras i en mapp med namnet "GestureData" under dokumentmappen i ditt filsystem. När du har registrerat alla dina data kopierar du filerna till din dator för modellträning.

Steg 8: Träna dina data på Jupyter Notebook

Träna dina data på Jupyter Notebook
Träna dina data på Jupyter Notebook
Träna dina data på Jupyter Notebook
Träna dina data på Jupyter Notebook

Den ursprungliga projektkoden innehåller den ursprungliga data som används för utbildning i mappen "data" under avsnittet Jupyter Notebook, för att träna dina egna data, ta bort alla filer i den här mappen och kopiera sedan dina egna data till mappen. Kör sedan Jupyter Notebook och öppna "PostureDetectorTrainer.ipynb". Den här anteckningsboken är utformad för att automatiskt separera alla filer i datamappen med bra och dålig hållning och sedan träna en linjär SVM för klassificering för att träna modellen helt enkelt välj rullgardinsmenyn "Cell" och välj "Kör alla". Anteckningsboken kan ta en stund att köra, men när du är klar bläddrar du till den punkt som ger hållningsprognosnoggrannhet för modellen. Om noggrannheten är låg kan du försäkra dig om att dina tidigare inspelningar är korrekta och konsekventa sanningar. Om resultaten ser bra ut, bläddra till nästa cell där en Java -klass har skapats. Bläddra till botten av den här cellen tills du ser en del kommenterad som parametrar. Kopiera dessa värden eftersom du kommer att behöva dem i nästa steg.

Steg 9: Ändra Android -applikation med ny modell

Ändra Android -applikation med ny modell
Ändra Android -applikation med ny modell

För att ändra modell i Android -applikationen, använd Android Studio för att navigera till filen "PostureDetectorFragment.java" under javasektionen i projektstrukturen. I den här filen rullar du ner till avsnittet som kommenteras som "Posture classifier" som kommer att ha samma 4 motsvarande variabler som de 4 som genereras i Jupyter Notebook. Ersätt dessa 4 variablers värden med de värden som kopierats från Jupyter Notebook, var noga med att variabelnamnen inte ändras från p_vektorer, p_koefficienter etc. Spara filen och välj alternativet Kör igen för att bygga programmet till din enhet. Följ nu samma steg som tidigare för att öppna Posture Detector -modulen och du bör se klassificeraren som nu arbetar med din nyutbildade modell. Om det fortfarande inte verkar fungera bra bör du överväga att spela in ytterligare data och återskapa modellen. Annars grattis! Du har nu importerat din egen personligt utbildade klassificerare till Postshirt!

Rekommenderad: