Kazalo:
- Zaloge
- 1. korak: Namestite potrebne IDE in knjižnice
- 2. korak: Merilnike pospeška priključite na pero
- 3. korak: Na majico pritrdite merilnike pospeška
- 4. korak: Zaženite kodo na Arduinu
- 5. korak: Zaženite kodo v sistemu Android
- 6. korak: Preizkus povezave Bluetooth signala
- 7. korak: Zbiranje lastnih podatkov
- 8. korak: Usposabljanje podatkov na prenosnem računalniku Jupyter
- 9. korak: Sprememba aplikacije Android z novim modelom
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Postshirt je brezžični sistem za odkrivanje drže, ki v realnem času prenaša in razvršča podatke merilnika pospeška iz Adafruit Featherja v aplikacijo Android prek Bluetootha. Celoten sistem lahko v realnem času zazna, če ima uporabnik slabo držo, in ustvari potisno obvestilo, ko se uporabnik počuti, zaznavanje deluje tudi med hojo.
Zaloge
Elektronika
1 x pametni telefon Android
1 x Adafrutovo pero
1 x litij -ionska polimerna baterija - 3,7 v 100 mAh (izbirno za brezžično uporabo)
2 x triosni merilnik pospeška ADXL335
Materiali
Priključna žica
Zvitek traku
1. korak: Namestite potrebne IDE in knjižnice
Adafrutovo pero
Najprej namestite Arduino IDE in nato sledite korakom za namestitev knjižnice Adafruit nRF51 BLE
Beležnica Jupyter
Najprej namestite Jupyter Notebook in nato naslednje potrebne knjižnice
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
Namestite Android Studio
Koda projekta
Prenesite vso kodo projekta z GitHub -a
2. korak: Merilnike pospeška priključite na pero
Za branje podatkov z ADXL335 priključite priključno žico na zatiče Vin, ground, Xout, Yout in Zout. Pri obeh merilcih pospeška povežite druge konce Vin žic s 3V zatičem na perju, druge konce ozemljitvenih zatičev pa za ozemljitveni zatič na perju. Priključite žice Xout, Yout in Zout prvega merilnika pospeška na zatiče A0, A1 in A2 na perju. Priključite žice Xout, Yout in Zout drugega merilnika pospeška na zatiče A3, A4 in A5 na pero.
Merilnike pospeška je mogoče priključiti na kakršen koli način, vendar je priporočljivo spajkanje žic in toplotni termični ali ovijalni trak okoli priključnih točk, da preprečite stik med izpostavljenimi odseki.
3. korak: Na majico pritrdite merilnike pospeška
Merilnike pospeška s trakom pritrdite na zadnji del srajce. Merilnik pospeška, priključen na nožice A0-2, je treba postaviti vodoravno na sredino spodnjega dela hrbta. Merilnik pospeška, priključen na nožice A3-5, mora biti nameščen vodoravno na sredini na zadnji strani vratu. Oba merilnika pospeška morata biti poravnana tako, da so zatiči vzdolž spodnje strani, senzorji pa ravno pritrjeni in pritrjeni na majico.
Opomba: Za trajnejšo uporabo se lahko senzorji prišijejo na oblačila, vendar jih je treba najprej zalepiti in preizkusiti, da se zagotovi, da so senzorji pravilno nameščeni.
4. korak: Zaženite kodo na Arduinu
Če želite začeti zbirati podatke o Featherju, zaženite Arduino IDE in odprite datoteko GestureDataSender v razdelku Arduino kode projekta. Ko je ta datoteka odprta, nastavite ploščo in vrata, ki jih uporabljate, nato izberite »Preveri« in »Naloži«, da naložite kodo v Feather.
5. korak: Zaženite kodo v sistemu Android
Če želite zagnati aplikacijo na androidu, najprej zaženite Android Studio in nato izberite možnost odpiranja obstoječega projekta Android. Pomaknite se do kode projekta in izberite mapo »Android«. Android Studio potrebuje nekaj časa za sinhronizacijo projektnih datotek in lahko zahteva, da namestite nekatere potrebne knjižnice, če sprejmete te možnosti. Ko je projekt pripravljen, priključite napravo Android v računalnik in izberite možnost zagona na vrhu okna. V prikazanem pozivu izberite napravo in pustite, da se aplikacija vgradi v napravo.
6. korak: Preizkus povezave Bluetooth signala
Ko je aplikacija odprta, se prepričajte, da je Feather vklopljen, nato pa izberite Adafruit Bluefruit LE s seznama naprav, ki se prikaže na telefonu. Počakajte, da se naprava poveže, če povezava ne uspe, ko prvič poskusite vzpostaviti povezavo, preden izvedete druge korake za odpravljanje napak. Po priključitvi naprave izberite modul "Detektor drže", ki bo ob pravilnem delovanju prikazal graf za posodabljanje v živo ter trenutne napovedi drže in gibanja. Če želite preveriti, ali arduino pravilno posreduje podatke senzorja, pomaknite oba merilnika pospeška v naključne smeri in preverite, ali se vse črte na grafu spremenijo. Če nekatere črte ostanejo nenehno ravne, se prepričajte, da so merilniki pospeška pravilno priključeni na pero. Če vse deluje, oblecite majico in preverite, ali zaznavanje drže pravilno napoveduje vašo držo. Čestitamo! Uspešno ste nastavili nošenje zaznavanja drže. Nadaljujte skozi ta navodila, če želite izvedeti, kako ustvariti svoj nabor podatkov in prilagoditi lastno zaznavanje drže.
7. korak: Zbiranje lastnih podatkov
Če želite zbrati lastne podatke, se vrnite na zaslon za izbiro modula in odprite modul Snemalnik podatkov. Ko se odpre ta zaslon, vnesite oznako podatkov, ki jih boste zbrali; za lažje usposabljanje na svojih podatkih morate v ime vseh posnetkov z držo vključiti besedo "dobro" in "slabo" v vse posnetke z držo. Za začetek zbiranja se dotaknite gumba »Zberi podatke« in izvedite želeno dejanje. Ko končate, se dotaknite gumba, da dokončate in shranite podatke. Vsi posneti podatki bodo shranjeni v mapi z imenom "GestureData" v mapi z dokumenti vašega datotečnega sistema. Ko končate s snemanjem vseh podatkov, kopirajte datoteke v računalnik za modelno usposabljanje.
8. korak: Usposabljanje podatkov na prenosnem računalniku Jupyter
Začetna koda projekta vsebuje izvirne podatke, uporabljene za usposabljanje v mapi "Podatki" v razdelku Jupyter Notebook, za usposabljanje lastnih podatkov, izbrišite vse datoteke v tej mapi in nato svoje podatke kopirajte v mapo. Nato zaženite Jupyter Notebook in odprite "PostureDetectorTrainer.ipynb". Ta zvezek je zasnovan za samodejno ločevanje vseh datotek v podatkovni mapi z dobro in slabo držo, nato pa usposablja linearni SVM za klasifikacijo, da model nauči, preprosto izberite spustni meni »Celica« in izberite »Zaženi vse«. Beležnica lahko traja nekaj časa, da se zažene, a ko se dokončate, se pomaknite do točke, ki zagotavlja natančnost napovedi drže za model, če je natančnost nizka, boste morda želeli zagotoviti, da so vaši prejšnji posnetki točni in dosledni. Če so rezultati videti dobri, se pomaknite do naslednje celice, kjer bo ustvarjen razred Java. Pomaknite se na dno te celice, dokler ne vidite dela, komentiranega kot parametre. Kopirajte te vrednosti, saj jih boste potrebovali v naslednjem koraku.
9. korak: Sprememba aplikacije Android z novim modelom
Če želite spremeniti model v aplikaciji za Android, se s programom Android Studio pomaknite do datoteke "PostureDetectorFragment.java" v razdelku java strukture projekta. V tej datoteki se pomaknite navzdol do razdelka, komentiranega kot "Razvrstitelj drže", ki bo imel enake 4 ustrezne spremenljivke kot 4, ustvarjene v prenosnem računalniku Jupyter. Vrednosti teh štirih spremenljivk zamenjajte z vrednostmi, kopiranimi iz zvezka Jupyter, pri čemer pazite, da se imena spremenljivk ne spremenijo iz p_vectors, p_coefficients itd. Ko to naredite, shranite datoteko in znova izberite možnost Zaženi, da zgradite aplikacijo v napravo. Sledite istim korakom kot prej, da odprete modul za zaznavanje drže in videli boste klasifikator, ki zdaj deluje z vašim novo usposobljenim modelom. Če se še vedno ne zdi dobro, razmislite o snemanju dodatnih podatkov in ponovnem ustvarjanju modela. Sicer pa čestitke! Zdaj ste v Postshirt uvozili svojega osebno usposobljenega klasifikatorja!