Obsah:
- Zásoby
- Krok 1: Nainštalujte potrebné IDE a knižnice
- Krok 2: Pripojte akcelerometre k peru
- Krok 3: Pripojte akcelerometre k tričku
- Krok 4: Spustenie kódu na Arduine
- Krok 5: Spustenie kódu v systéme Android
- Krok 6: Testovanie pripojenia signálu Bluetooth
- Krok 7: Zhromažďovanie vašich vlastných údajov
- Krok 8: Školenie vašich údajov na prenosnom počítači Jupyter
- Krok 9: Úprava aplikácie pre Android pomocou nového modelu
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Postshirt je bezdrôtový systém zisťovania držania tela v reálnom čase, ktorý prenáša a klasifikuje údaje akcelerometra z Adafruit Feather do aplikácie pre Android prostredníctvom Bluetooth. Kompletný systém dokáže v reálnom čase zistiť, či má používateľ zlé držanie tela, a upozorní vás, keď sa používateľ začne krčiť, detekcia funguje aj pri chôdzi.
Zásoby
Elektronika
1 x smartphone pre Android
1 x perie Adafruit
1 x lítium -iónová polymérová batéria - 3,7 V 100 mAh (voliteľné pre bezdrôtové použitie)
2 x trojosový akcelerometer ADXL335
Materiály
Pripojovací drôt
Rolka pásky
Krok 1: Nainštalujte potrebné IDE a knižnice
Adafruitové perie
Najprv nainštalujte Arduino IDE a potom postupujte podľa pokynov na inštaláciu knižnice Adafruit nRF51 BLE
Notebook Jupyter
Najprv nainštalujte Jupyter Notebook a potom nasledujúce požadované knižnice
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
Nainštalujte si Android Studio
Kód projektu
Stiahnite si celý kód projektu z GitHub
Krok 2: Pripojte akcelerometre k peru
Ak chcete načítať údaje z ADXL335, pripojte prepojovací vodič k pinom Vin, uzemneniu, Xout, Yout a Zout. U oboch akcelerometrov pripojte ostatné konce vodičov Vin k 3V kolíku na perí a druhé konce uzemňovacích kolíkov k uzemňovaciemu kolíku na perí. Pripojte vodiče Xout, Yout a Zout prvého akcelerometra k pinom A0, A1 a A2 na perí. Pripojte vodiče Xout, Yout a Zout druhého akcelerometra k kolíkom A3, A4 a A5 na perí.
Akcelerometre je možné pripojiť akýmkoľvek spôsobom, ale na zabránenie vzájomného kontaktu exponovaných častí sa odporúča spájkovanie vodičov a tepelné zmršťovanie alebo ovinutie elektrickej pásky okolo spojovacích bodov.
Krok 3: Pripojte akcelerometre k tričku
Akcelerometre pripevnite pomocou pásky k zadnej časti trička. Akcelerometer zapojený do kolíkov A0-2 by mal byť umiestnený horizontálne v strede v spodnej časti chrbta. Akcelerometer zapojený do kolíkov A3-5 by mal byť umiestnený horizontálne v strede v zadnej časti krku. Oba akcelerometre by mali byť zarovnané tak, aby kolíky boli pozdĺž spodnej strany a senzory by mali byť prilepené páskou a zaistené o tričko.
Poznámka: Pre trvalejšie nosenie je možné senzory prišiť na odev, ale mali by byť najskôr podlepené páskou a testované, aby sa zaistilo účinné umiestnenie umiestnenia senzorov.
Krok 4: Spustenie kódu na Arduine
Ak chcete začať zbierať údaje na Feather, spustite Arduino IDE a otvorte súbor GestureDataSender v časti Arduino v kóde projektu. V tomto otvorenom súbore nastavte dosku a port, ktorý sa používa, a potom vyberte „Overiť“a „Odovzdať“, aby ste kód nahrali do peria.
Krok 5: Spustenie kódu v systéme Android
Ak chcete aplikáciu spustiť v systéme Android, najskôr spustite Android Studio a potom vyberte možnosť otvorenia existujúceho projektu Android. Prejdite na kód projektu a vyberte priečinok „Android“. Android Studio bude chvíľu trvať, kým synchronizuje súbory projektu, a môže požiadať o inštaláciu niektorých požadovaných knižníc, prijmite tieto možnosti. Keď je projekt pripravený, zapojte zariadenie Android do počítača a v hornej časti okna vyberte možnosť Spustiť. V zobrazenej výzve vyberte zariadenie a nechajte aplikáciu zostaviť do zariadenia.
Krok 6: Testovanie pripojenia signálu Bluetooth
Akonáhle je aplikácia otvorená, skontrolujte, či je Feather zapnuté, a potom vyberte Adafruit Bluefruit LE zo zoznamu zariadení, ktorý sa zobrazí v telefóne. Počkajte, kým sa zariadenie pripojí. Ak sa pripojenie zlyhá pri prvom pokuse o pripojenie, vykonajte ďalšie kroky ladenia. Po pripojení zariadenia vyberte modul „Detektor držania tela“, ktorý pri správnej funkcii zobrazí živý aktualizačný graf a aktuálne predpovede držania tela a pohybu. Aby ste otestovali, či arduino správne prenáša údaje zo senzorov, presuňte dva akcelerometre v náhodných smeroch a skontrolujte, či sa všetky čiary na grafe nezmenia. Ak niektoré čiary zostanú stále ploché, uistite sa, že sú akcelerometre správne pripojené k peru. Ak všetko funguje, oblečte si tričko a vyskúšajte, či detekcia držania tela správne predpovedá váš postoj. Gratulujem Úspešne ste nastavili nositeľné zariadenie na zisťovanie držania tela. Pokračujte v tomto návode a zistite, ako si vytvoriť vlastný súbor údajov a prispôsobiť si vlastnú detekciu držania tela.
Krok 7: Zhromažďovanie vašich vlastných údajov
Ak chcete zhromaždiť svoje vlastné údaje, vráťte sa na obrazovku výberu modulu a otvorte modul Záznamník údajov. Hneď ako sa otvorí táto obrazovka, zadajte štítok pre údaje, ktoré budete zbierať; aby ste mohli ľahko trénovať svoje údaje, mali by ste v názve akýchkoľvek nahrávok s dobrým držaním tela uviesť slovo „dobrý“a v prípade všetkých záznamov s držaním tela „zlý“. Ak chcete začať zbierať údaje, klepnite na tlačidlo „Zhromažďovať údaje“a vykonajte požadovanú akciu. Keď skončíte, klepnutím na tlačidlo údaje znova dokončíte a uložíte. Všetky zaznamenané údaje budú uložené v priečinku s názvom „GestureData“v priečinku s dokumentmi vášho súborového systému. Po dokončení zaznamenávania všetkých údajov skopírujte súbory do počítača na školenie modelu.
Krok 8: Školenie vašich údajov na prenosnom počítači Jupyter
Počiatočný kód projektu obsahuje pôvodné údaje použité na školenie v priečinku „data“v sekcii Jupyter Notebook, na školenie vlastných údajov odstráňte všetky súbory v tomto priečinku a potom skopírujte svoje vlastné údaje do priečinka. Potom spustite Jupyter Notebook a otvorte „PostureDetectorTrainer.ipynb“. Tento notebook je navrhnutý tak, aby automaticky oddeľoval všetky súbory v priečinku s údajmi podľa dobrého a zlého držania tela a potom trénoval lineárne SVM na klasifikáciu, aby trénoval model, jednoducho zvoľte rozbaľovaciu ponuku „Bunka“a zvoľte „Spustiť všetko“. Notebooku môže chvíľu trvať, ale po dokončení sa posuňte na bod, ktorý poskytuje modelu presnosť predikcie držania tela, ak je presnosť nízka, možno budete chcieť zaistiť, aby boli vaše predchádzajúce nahrávky presné a konzistentné základné pravdy. Ak výsledky vyzerajú dobre, prejdite na ďalšiu bunku, v ktorej bola vygenerovaná trieda Java. Posúvajte sa do spodnej časti tejto bunky, kým neuvidíte časť komentovanú ako parametre. Skopírujte tieto hodnoty, ako ich budete potrebovať v nasledujúcom kroku.
Krok 9: Úprava aplikácie pre Android pomocou nového modelu
Ak chcete zmeniť model v aplikácii pre Android, pomocou aplikácie Android Studio prejdite do súboru „PostureDetectorFragment.java“v sekcii java v štruktúre projektu. V tomto súbore prejdite nadol na sekciu označenú ako „klasifikátor držania tela“, ktorá bude mať rovnaké 4 zodpovedajúce premenné ako 4 generované v programe Jupyter Notebook. Nahraďte hodnoty týchto 4 premenných hodnotami skopírovanými z prenosného počítača Jupyter, pričom sa uistite, že sa názvy premenných nezmenia z parametrov p_vectors, p_coefficients atď. Po dokončení uložte súbor a opätovným výberom možnosti Run (Spustiť) vytvorte aplikáciu na svoj zariadenie. Teraz vykonajte rovnaké kroky ako predtým, aby ste otvorili modul Detektor držania tela, a mali by ste vidieť, že klasifikátor teraz pracuje s vašim novo trénovaným modelom. Ak sa stále zdá, že nefunguje dobre, mali by ste zvážiť zaznamenanie ďalších údajov a obnovu modelu. Inak gratulujem! Teraz ste do Postshirt importovali vlastného osobne vyškoleného klasifikátora!