Sommario:
- Forniture
- Passaggio 1: installa gli IDE e le librerie necessari
- Passaggio 2: collegare gli accelerometri alla piuma
- Passaggio 3: collegare gli accelerometri alla maglietta
- Passaggio 4: esecuzione del codice su Arduino
- Passaggio 5: esecuzione del codice su Android
- Passaggio 6: test della connessione del segnale Bluetooth
- Passaggio 7: raccolta dei propri dati
- Passaggio 8: formazione dei dati sul notebook Jupyter
- Passaggio 9: modifica dell'applicazione Android con un nuovo modello
Video: Postshirt: rilevamento della postura indossabile in tempo reale: 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Postshirt è un sistema di rilevamento della postura wireless in tempo reale che trasmette e classifica i dati dell'accelerometro da un Adafruit Feather a un'applicazione Android tramite Bluetooth. Il sistema completo è in grado di rilevare in tempo reale se l'utente ha una postura scorretta e crea una notifica push quando l'utente inizia a piegarsi, il rilevamento funziona anche mentre cammina.
Forniture
Elettronica
1 x Smartphone Android
1 x Piuma di Adafruit
1 x batteria ai polimeri di ioni di litio - 3,7 V 100 mAh (opzionale per l'utilizzo wireless)
2 x ADXL335 accelerometro a tre assi
Materiali
Cavo di collegamento
Rotolo di nastro
Passaggio 1: installa gli IDE e le librerie necessari
Piuma di Adafruit
Prima installa l'IDE Arduino e poi segui i passaggi per installare Adafruit nRF51 BLE Library
Taccuino Jupyter
Prima installa Jupyter Notebook e poi le seguenti librerie richieste
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
Installa Android Studio
Codice del progetto
Scarica tutto il codice del progetto da GitHub
Passaggio 2: collegare gli accelerometri alla piuma
Per leggere i dati dagli ADXL335, collegare il cavo di collegamento ai pin Vin, ground, Xout, Yout e Zout. Per entrambi gli accelerometri collegare le altre estremità dei fili Vin al pin 3V sul Feather e le altre estremità dei pin di terra al pin di terra sul Feather. Collega i fili Xout, Yout e Zout del primo accelerometro ai pin A0, A1 e A2 sulla Feather. Collega i fili Xout, Yout e Zout del secondo accelerometro ai pin A3, A4 e A5 sulla Feather.
Gli accelerometri possono essere collegati in qualsiasi modo, ma si consiglia di saldare i fili e termorestringere o avvolgere del nastro isolante attorno ai punti di connessione per evitare che le sezioni esposte vengano a contatto tra loro.
Passaggio 3: collegare gli accelerometri alla maglietta
Usando del nastro adesivo attacca gli accelerometri sul retro della maglietta. L'accelerometro collegato ai pin A0-2 deve essere posizionato orizzontalmente al centro nella parte medio-bassa della schiena. L'accelerometro collegato ai pin A3-5 deve essere posizionato orizzontalmente al centro nella parte posteriore del collo. Entrambi gli accelerometri devono essere allineati in modo tale che i perni si trovino lungo il lato inferiore e i sensori siano fissati con nastro adesivo e fissati contro la maglietta.
Nota: per un indossabile più permanente, i sensori possono essere cuciti sugli indumenti, ma devono essere prima fissati con nastro adesivo e testati per garantire che i posizionamenti dei sensori siano posizionati in modo efficace.
Passaggio 4: esecuzione del codice su Arduino
Per iniziare a raccogliere dati sul Feather avvia l'IDE Arduino e apri il file GestureDataSender nella sezione Arduino del codice del progetto. Con questo file aperto impostare la scheda e la porta in uso e quindi selezionare "Verifica" e "Carica" per caricare il codice sul Feather.
Passaggio 5: esecuzione del codice su Android
Per eseguire l'applicazione su Android, prima avvia Android Studio e poi seleziona l'opzione per aprire un progetto Android esistente. Vai al codice del progetto e seleziona la cartella "Android". Android Studio impiegherà un po' di tempo per sincronizzare i file di progetto e potrebbe richiedere l'installazione di alcune librerie richieste, accettare queste opzioni. Una volta che il progetto è pronto, collega il dispositivo Android al computer e seleziona l'opzione Esegui nella parte superiore della finestra. Seleziona il dispositivo dal prompt visualizzato e quindi lascia che l'applicazione venga compilata sul dispositivo.
Passaggio 6: test della connessione del segnale Bluetooth
Una volta aperta l'app, assicurati che Feather sia acceso, quindi seleziona Adafruit Bluefruit LE dall'elenco dei dispositivi che appare sul telefono. Attendi che il dispositivo si connetta, se la connessione fallisce la prima volta, riprova a connetterti prima di eseguire altri passaggi di debug. Dopo che il dispositivo è stato collegato, seleziona il modulo "Rilevatore di postura" che se funziona correttamente mostrerà un grafico di aggiornamento in tempo reale e le attuali previsioni di postura e movimento. Per verificare che arduino stia comunicando correttamente i dati del sensore, sposta i due accelerometri in direzioni casuali e controlla se tutte le linee sul grafico cambiano. Se alcune linee rimangono costantemente piatte assicurati che gli accelerometri siano correttamente collegati alla Feather. Se tutto funziona, indossa la maglietta e verifica che il rilevamento della postura preveda correttamente la tua postura. Congratulazioni! Hai configurato correttamente un dispositivo indossabile per il rilevamento della postura. Continua attraverso questo tutorial per imparare come creare il tuo set di dati e personalizzare il tuo rilevamento della postura.
Passaggio 7: raccolta dei propri dati
Per raccogliere i propri dati tornare alla schermata di selezione del modulo e aprire il modulo Registratore di dati. Una volta aperta questa schermata compila l'etichetta per i dati che raccoglierai; per allenarti facilmente sui tuoi dati dovresti includere la parola "buono" nel nome di qualsiasi registrazione con buona postura e "cattivo" in qualsiasi registrazione con postura. Per iniziare a raccogliere tocca il pulsante "Raccogli dati" ed esegui l'azione prevista, quando hai finito tocca di nuovo il pulsante per terminare e salvare i dati. Tutti i dati registrati verranno archiviati in una cartella denominata "GestureData" nella cartella documenti del tuo file system. Quando hai finito di registrare tutti i tuoi dati, copia i file sul tuo computer per l'addestramento del modello.
Passaggio 8: formazione dei dati sul notebook Jupyter
Il codice del progetto iniziale contiene i dati originali utilizzati per l'addestramento nella cartella "dati" nella sezione Notebook Jupyter, per l'addestramento dei propri dati eliminare tutti i file in questa cartella e quindi copiare i propri dati nella cartella. Quindi esegui Jupyter Notebook e apri "PostureDetectorTrainer.ipynb". Questo notebook è progettato per separare automaticamente tutti i file nella cartella dei dati per buona e cattiva postura e quindi addestrare un SVM lineare per la classificazione per addestrare il modello semplicemente selezionare il menu a discesa "Cella" e selezionare "Esegui tutto". Il notebook potrebbe impiegare un po' di tempo per essere eseguito, ma una volta completato lo scorrimento fino al punto che fornisce l'accuratezza della previsione della postura per il modello, se l'accuratezza è bassa potresti voler assicurarti che le tue registrazioni precedenti siano accurate e coerenti. Se i risultati sembrano buoni, scorrere fino alla cella successiva in cui sarà stata generata una classe Java. Scorri fino alla fine di questa cella finché non vedi una parte commentata come parametri. Copia questi valori poiché ne avrai bisogno nel passaggio successivo.
Passaggio 9: modifica dell'applicazione Android con un nuovo modello
Per modificare il modello nell'applicazione Android, utilizzare Android Studio per accedere al file "PostureDetectorFragment.java" nella sezione java della struttura del progetto. In questo file scorri verso il basso fino alla sezione commentata come "Classificatore posturale" che avrà le stesse 4 variabili corrispondenti delle 4 generate in Jupyter Notebook. Sostituisci i valori di queste 4 variabili con i valori copiati dal Jupyter Notebook, assicurandoti che i nomi delle variabili non vengano modificati da p_vectors, p_coefficients, ecc. Una volta fatto, salva il file e seleziona nuovamente l'opzione Esegui per creare l'applicazione sul tuo dispositivo. Ora segui gli stessi passaggi di prima per aprire il modulo Posture Detector e dovresti vedere il classificatore ora funzionare con il tuo modello appena addestrato. Se ancora non sembra funzionare bene, dovresti prendere in considerazione la registrazione di ulteriori dati e la ricreazione del modello. Altrimenti congratulazioni! Ora hai importato nella Postshirt il tuo classificatore formato personalmente!
Consigliato:
Tracker Covid19 in tempo reale che utilizza ESP8266 e OLED - Dashboard Covid19 in tempo reale: 4 passaggi
Tracker Covid19 in tempo reale che utilizza ESP8266 e OLED | Dashboard Covid19 in tempo reale: visita il sito Web Techtronic Harsh: http://techtronicharsh.com Ovunque c'è un enorme focolaio del Novel Corona Virus (COVID19). È diventato necessario tenere d'occhio l'attuale scenario di COVID-19 nel mondo. Quindi, essendo a casa, questo è stato il p
Accendimi! un controllo della striscia LED multipiattaforma in tempo reale: 5 passaggi (con immagini)
Accendimi! un controllo della striscia LED multipiattaforma in tempo reale: LightMeUp! è un sistema che ho inventato per controllare una striscia LED RGB in tempo reale, mantenendo bassi i costi e alte le prestazioni. Il server è scritto in Node.js e quindi multipiattaforma. Nel mio esempio, utilizzo un Raspberry Pi 3B per un uso a lungo termine
Switch-it, uscita automatica con misurazione della corrente in tempo reale: 6 passaggi
Switch-it, presa automatica con misurazione della corrente in tempo reale: mi piace molto l'automazione, la capacità di controllare quando deve succedere qualcosa. Questo è ciò che mi ha fatto venire questa idea: uno sfogo autocostruito e automatico. Può essere utilizzato per pianificare quando è necessario accendere le luci, quando è necessario caricare i telefoni o
Rilevamento dei volti in tempo reale sul RaspberryPi-4: 6 passaggi (con immagini)
Rilevamento del volto in tempo reale su RaspberryPi-4: In questo Instructable eseguiremo il rilevamento del volto in tempo reale su Raspberry Pi 4 con Shunya O/S utilizzando la libreria Shunyaface. Puoi ottenere un frame rate di rilevamento di 15-17 sul RaspberryPi-4 seguendo questo tutorial
Analizzatore di modelli di traffico che utilizza il rilevamento di oggetti in tempo reale: 11 passaggi (con immagini)
Analizzatore del modello di traffico che utilizza il rilevamento di oggetti in tempo reale: nel mondo di oggi, i semafori sono essenziali per una strada sicura. Tuttavia, molte volte, i semafori possono essere fastidiosi in situazioni in cui qualcuno si avvicina al semaforo proprio mentre sta diventando rosso. Questo fa perdere tempo, soprattutto se la luce è pr