Talaan ng mga Nilalaman:

Postshirt: Realtime Wearable Posture Detection: 9 Mga Hakbang
Postshirt: Realtime Wearable Posture Detection: 9 Mga Hakbang

Video: Postshirt: Realtime Wearable Posture Detection: 9 Mga Hakbang

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

Ang Adshirt ay isang realtime wireless posture detection system na nagpapadala at nag-uuri ng data ng accelerometer mula sa isang Adafruit Feather sa isang Android application sa pamamagitan ng Bluetooth. Maaaring tuklasin ng kumpletong system sa realtime kung ang gumagamit ay may masamang pustura at lumilikha ng isang push notification kapag nagsimulang mag-slouch ang gumagamit, gumagana rin ang pagtuklas habang naglalakad.

Mga gamit

Elektronika

1 x Android Smartphone

1 x Adafruit Feather

1 x Lithium Ion Polymer Battery - 3.7v 100mAh (opsyonal para sa paggamit ng wireless)

2 x ADXL335 triple-axis accelerometer

Mga Kagamitan

Hookup wire

Roll ng tape

Hakbang 1: Mag-install ng Mga Kinakailangan na IDE at Aklatan

Adafruit Feather

I-install muna ang Arduino IDE at pagkatapos ay sundin ang mga hakbang upang mai-install ang Adafruit nRF51 BLE Library

Jupyter Notebook

I-install muna ang Jupyter Notebook at pagkatapos ang sumusunod na kinakailangang mga library

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

Android

I-install ang Android Studio

Code ng Proyekto

I-download ang lahat ng code ng proyekto mula sa GitHub

Hakbang 2: Wire ang Accelerometers sa Feather

Wire ang Accelerometers sa Feather
Wire ang Accelerometers sa Feather
Wire ang Accelerometers sa Feather
Wire ang Accelerometers sa Feather

Upang mabasa ang data sa ADXL335s ikonekta ang hookup wire sa mga pin ng Vin, ground, Xout, Yout, at Zout. Para sa parehong accelerometers ikonekta ang iba pang mga dulo ng mga wire ng Vin sa 3V pin sa Feather at sa iba pang mga dulo ng mga pin ng lupa sa ground pin sa Feather. Ikonekta ang mga wire na Xout, Yout, at Zout ng unang accelerometer sa A0, A1, at A2 na mga pin sa Feather. Ikonekta ang mga wire na Xout, Yout, at Zout ng pangalawang accelerometer sa A3, A4, at A5 na mga pin sa Feather.

Ang mga accelerometro ay maaaring konektado sa anumang paraan ngunit ang paghihinang ng mga wire at heatshrinking o pambalot ng electrical tape sa paligid ng mga punto ng koneksyon ay iminungkahi para sa pag-iwas sa mga nakalantad na seksyon mula sa pakikipag-ugnay sa bawat isa.

Hakbang 3: Ikabit ang mga Accelerometers sa Shirt

Ikabit ang mga Accelerometers sa Shirt
Ikabit ang mga Accelerometers sa Shirt

Gamit ang tape ilakip ang mga accelerometers sa likuran ng shirt. Ang accelerometer na naka-wire sa mga pin na A0-2 ay dapat na mailagay nang pahalang na gitna sa gitna ng mas mababang likod. Ang accelerometer na naka-wire sa mga pin na A3-5 ay dapat na lugar na pahalang na sentro sa likod ng leeg. Ang parehong mga accelerometro ay dapat na nakahanay na nakahanay na ang mga pin ay nasa ilalim na bahagi at ang mga sensor ay dapat na mai-tape na patag at ligtas laban sa shirt.

Tandaan: Para sa isang mas permanenteng naisusuot ang mga sensor ay maaaring itatahi sa damit ngunit dapat silang mai-tape at subukin muna upang matiyak na ang mga pagkakalagay ng sensor ay mabisang nakaposisyon.

Hakbang 4: Running Code sa Arduino

Running Code sa Arduino
Running Code sa Arduino

Upang simulang mangolekta ng data sa Feather simulan ang Arduino IDE at buksan ang file na GestureDataSender sa ilalim ng seksyon ng Arduino ng code ng proyekto. Sa bukas na file na ito itakda ang board at ginagamit ang port at pagkatapos ay piliin ang "I-verify" at "I-upload" upang mai-upload ang code sa Feather.

Hakbang 5: Running Code sa Android

Running Code sa Android
Running Code sa Android

Upang patakbuhin ang application sa android simulan muna ang Android Studio at pagkatapos ay piliin ang pagpipilian upang buksan ang isang mayroon nang proyekto sa Android. Mag-navigate sa code ng proyekto at piliin ang folder na "Android". Ang Android Studio ay magtatagal upang mai-sync ang mga file ng proyekto at maaaring humiling na mag-install ng ilang kinakailangang mga library, tanggapin ang mga pagpipiliang ito. Kapag handa na ang proyekto ay isaksak ang Android aparato sa computer at piliin ang pagpipiliang tumakbo sa tuktok ng window. Piliin ang aparato mula sa prompt na ipinapakita at pagkatapos ay hayaan ang application na bumuo sa aparato.

Hakbang 6: Pagsubok sa Koneksyon sa Signal ng Bluetooth

Pagsubok sa Koneksyon sa Signal ng Bluetooth
Pagsubok sa Koneksyon sa Signal ng Bluetooth
Pagsubok sa Koneksyon sa Signal ng Bluetooth
Pagsubok sa Koneksyon sa Signal ng Bluetooth
Pagsubok sa Koneksyon sa Signal ng Bluetooth
Pagsubok sa Koneksyon sa Signal ng Bluetooth

Kapag ang app ay bukas siguraduhin na ang Feather ay pinapagana at pagkatapos ay piliin ang Adafruit Bluefruit LE mula sa listahan ng aparato na lilitaw sa telepono. Hintaying kumonekta ang aparato, kung nabigo ang koneksyon sa unang pagkakataon subukang muli ang pagkonekta bago gumawa ng iba pang mga hakbang sa pag-debug. Matapos konektado ang aparato piliin ang module na "Posture Detector" na kung gumagana nang maayos ay magpapakita ng isang live na pag-update ng graph pati na rin ang kasalukuyang mga hula ng pustura at paggalaw. Upang masubukan na ang arduino ay nakikipag-ugnay ng data ng sensor nang tama ilipat ang dalawang mga accelerometro sa mga random na direksyon at suriin kung nagbago ang lahat ng mga linya sa graph. Kung ang ilang mga linya ay mananatiling patuloy na patag siguraduhin na ang mga accelerometers ay maayos na konektado sa Feather. Kung gumagana ang lahat ilagay ang shirt at subukan na ang pagtuklas ng postura ay wastong hinuhulaan ang iyong pustura. Binabati kita! Matagumpay mong na-set up ang isang pagtuklas ng posture na naisusuot. Magpatuloy sa pagtuturo na ito upang malaman kung paano lumikha ng iyong sariling dataset at ipasadya ang iyong sariling pagtuklas ng postura.

Hakbang 7: Pagkolekta ng Iyong Sariling Data

Pagkolekta ng Iyong Sariling Data
Pagkolekta ng Iyong Sariling Data
Pagkolekta ng Iyong Sariling Data
Pagkolekta ng Iyong Sariling Data

Upang kolektahin ang iyong sariling data na bumalik sa screen ng pagpili ng module at buksan ang module ng Data Recorder. Kapag ang screen na ito ay nagbukas punan ang label para sa data na iyong kokolektahin; upang madaling sanayin ang iyong data dapat mong isama ang salitang "mabuti" sa pangalan ng anumang mga pag-record na may magandang pustura at "masamang" sa anumang mga pag-record na may pustura. Upang simulang mangolekta ng tapikin ang pindutang "Kolektahin ang Data" at isagawa ang iyong inilaan na pagkilos, kapag natapos ka na i-tap muli ang pindutan upang matapos at i-save ang data. Ang lahat ng naitala na data ay maiimbak sa isang folder na pinangalanang "GestureData" sa ilalim ng folder ng mga dokumento ng iyong file system. Kapag natapos mo na ang pagtatala ng lahat ng iyong data kopyahin ang mga file sa iyong computer para sa pagsasanay sa modelo.

Hakbang 8: Pagsasanay sa Iyong Data sa Jupyter Notebook

Pagsasanay ng Iyong Data sa Jupyter Notebook
Pagsasanay ng Iyong Data sa Jupyter Notebook
Pagsasanay ng Iyong Data sa Jupyter Notebook
Pagsasanay ng Iyong Data sa Jupyter Notebook

Naglalaman ang paunang code ng proyekto ng orihinal na data na ginamit para sa pagsasanay sa folder na "data" sa ilalim ng seksyong Jupyter Notebook, para sa pagsasanay ng iyong sariling data tanggalin ang lahat ng mga file sa folder na ito at pagkatapos kopyahin ang iyong sariling data sa folder. Pagkatapos ay patakbuhin ang Jupyter Notebook at buksan ang "PostureDetectorTrainer.ipynb". Ang kuwaderno na ito ay idinisenyo upang awtomatikong paghiwalayin ang anumang mga file sa folder ng data sa pamamagitan ng mabuti at masamang pustura at pagkatapos ay sanayin ang isang linear na SVM para sa pag-uuri upang sanayin ang modelo na piliin lamang ang "Cell" na drop down at piliin ang "Run All". Ang notebook ay maaaring tumagal ng isang sandali upang tumakbo ngunit sa sandaling kumpletong mag-scroll sa puntong nagbibigay ng katumpakan ng hula ng pustura para sa modelo, kung ang kawastuhan ay mababa maaari mong tiyakin na ang iyong nakaraang mga pag-record ay tumpak at pare-pareho ang mga ground katotohanan. Kung ang mga resulta ay mukhang mahusay pagkatapos mag-scroll sa susunod na cell kung saan ang isang klase sa Java ay nabuo. Mag-scroll sa ilalim ng cell na ito hanggang sa makita mo ang isang bahagi na nagkomento bilang mga parameter. Kopyahin ang mga halagang ito dahil kakailanganin mo ang mga ito sa susunod na hakbang.

Hakbang 9: Pagbabago sa Application ng Android Sa Bagong Modelo

Pagbabago ng Application ng Android Sa Bagong Modelo
Pagbabago ng Application ng Android Sa Bagong Modelo

Upang baguhin ang modelo sa application ng Android gamitin ang Android Studio upang mag-navigate sa file na "PostureDetectorFragment.java" sa ilalim ng seksyon ng java ng istraktura ng proyekto. Sa file na ito mag-scroll pababa sa seksyon na nagkomento bilang "Posture classifier" na magkakaroon ng parehong 4 na kaukulang variable na tulad ng 4 na nabuo sa Jupyter Notebook. Palitan ang mga halagang ito ng 4 na variable na may mga halagang kinopya mula sa Jupyter Notebook, tinitiyak na ang mga variable na pangalan ay hindi binago mula sa mga p_vector, p_coefficients, atbp Sa sandaling tapos na ito i-save ang file at piliin muli ang pagpipiliang Patakbuhin upang maitayo ang application sa iyong aparato Sundin ngayon ang parehong mga hakbang tulad ng dati upang buksan ang module ng Posture Detector at dapat mong makita ang classifier na nagtatrabaho ngayon sa iyong bagong bihasang modelo. Kung tila hindi pa ito gumaganap nang maayos dapat mong isaalang-alang ang pag-record ng karagdagang data at muling paggawa ng modelo. Kung hindi man ay binabati kita! Na-import mo na ngayon ang iyong sariling personal na may kasanayan na classifier sa Postshirt!

Inirerekumendang: