
Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Erforderliche IDEs und Bibliotheken installieren
- Schritt 2: Verdrahten Sie die Beschleunigungsmesser mit der Feder
- Schritt 3: Beschleunigungsmesser am Hemd befestigen
- Schritt 4: Ausführen von Code auf Arduino
- Schritt 5: Ausführen von Code auf Android
- Schritt 6: Bluetooth-Signalverbindung testen
- Schritt 7: Sammeln Ihrer eigenen Daten
- Schritt 8: Training Ihrer Daten auf Jupyter Notebook
- Schritt 9: Ändern der Android-Anwendung mit einem neuen Modell
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52



Postshirt ist ein drahtloses Echtzeit-Haltungserkennungssystem, das Beschleunigungsmesserdaten von einer Adafruit-Feder über Bluetooth an eine Android-Anwendung überträgt und klassifiziert. Das komplette System kann in Echtzeit erkennen, wenn der Benutzer eine schlechte Körperhaltung hat und erstellt eine Push-Benachrichtigung, wenn der Benutzer zu sacken beginnt, die Erkennung funktioniert auch während des Gehens.
Lieferungen
Elektronik
1 x Android-Smartphone
1 x Adafruchtfeder
1 x Lithium-Ionen-Polymer-Akku - 3,7 V 100 mAh (optional für die drahtlose Verwendung)
2 x ADXL335 Dreiachsen-Beschleunigungsmesser
Materialien
Anschlusskabel
Klebebandrolle
Schritt 1: Erforderliche IDEs und Bibliotheken installieren
Adafruchtfeder
Installieren Sie zuerst die Arduino IDE und befolgen Sie dann die Schritte zur Installation der Adafruit nRF51 BLE Library
Jupyter-Notizbuch
Installieren Sie zuerst Jupyter Notebook und dann die folgenden erforderlichen Bibliotheken
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
Android Studio installieren
Projektnummer
Laden Sie den gesamten Projektcode von GitHub herunter
Schritt 2: Verdrahten Sie die Beschleunigungsmesser mit der Feder


Um Daten von den ADXL335s auszulesen, verbinden Sie das Anschlusskabel mit den Pins Vin, Masse, Xout, Yout und Zout. Verbinden Sie für beide Beschleunigungsmesser die anderen Enden der Vin-Drähte mit dem 3V-Pin der Feder und die anderen Enden der Massestifte mit dem Massestift der Feder. Verbinden Sie die Xout-, Yout- und Zout-Drähte des ersten Beschleunigungsmessers mit den A0-, A1- und A2-Pins der Feder. Verbinden Sie die Xout-, Yout- und Zout-Drähte des zweiten Beschleunigungsmessers mit den A3-, A4- und A5-Pins der Feder.
Die Beschleunigungsmesser können auf beliebige Weise angeschlossen werden, es wird jedoch empfohlen, die Drähte zu verlöten und die Verbindungspunkte mit Wärmeschrumpfen oder Isolierband zu umwickeln, um zu verhindern, dass sich freiliegende Abschnitte gegenseitig berühren.
Schritt 3: Beschleunigungsmesser am Hemd befestigen

Befestigen Sie die Beschleunigungsmesser mit Klebeband an der Rückseite des Hemdes. Der mit den Pins A0-2 verdrahtete Beschleunigungsmesser sollte horizontal mittig in der Mitte des unteren Rückens platziert werden. Der mit den Pins A3-5 verdrahtete Beschleunigungsmesser sollte horizontal mittig im Nacken platziert werden. Beide Beschleunigungsmesser sollten so ausgerichtet sein, dass sich die Stifte entlang der Unterseite befinden und die Sensoren sollten flach und sicher am Hemd befestigt werden.
Hinweis: Für ein dauerhafteres Tragen können die Sensoren auf die Kleidung genäht werden, aber sie sollten zuerst mit Klebeband versehen und getestet werden, um sicherzustellen, dass die Sensorpositionen effektiv positioniert sind.
Schritt 4: Ausführen von Code auf Arduino

Um mit dem Sammeln von Daten auf dem Feather zu beginnen, starten Sie die Arduino-IDE und öffnen Sie die Datei GestureDataSender im Arduino-Abschnitt des Projektcodes. Wenn diese Datei geöffnet ist, stellen Sie das Board und den verwendeten Port ein und wählen Sie dann "Verify" und "Upload", um den Code auf den Feather hochzuladen.
Schritt 5: Ausführen von Code auf Android

Um die Anwendung auf Android auszuführen, starten Sie zuerst Android Studio und wählen Sie dann die Option zum Öffnen eines vorhandenen Android-Projekts. Navigieren Sie zum Projektcode und wählen Sie den Ordner "Android". Android Studio braucht eine Weile, um die Projektdateien zu synchronisieren, und fordert möglicherweise die Installation einiger erforderlicher Bibliotheken an. Akzeptieren Sie diese Optionen. Sobald das Projekt fertig ist, schließen Sie das Android-Gerät an den Computer an und wählen Sie die Ausführungsoption oben im Fenster. Wählen Sie das Gerät aus der angezeigten Eingabeaufforderung aus und lassen Sie die Anwendung dann auf dem Gerät erstellen.
Schritt 6: Bluetooth-Signalverbindung testen



Sobald die App geöffnet ist, vergewissern Sie sich, dass der Feather eingeschaltet ist, und wählen Sie dann die Adafruit Bluefruit LE aus der Geräteliste aus, die auf dem Telefon angezeigt wird. Warten Sie, bis das Gerät eine Verbindung hergestellt hat, wenn die Verbindung beim ersten Mal fehlschlägt, versuchen Sie erneut, eine Verbindung herzustellen, bevor Sie andere Debugging-Schritte durchführen. Nachdem das Gerät angeschlossen wurde, wählen Sie das Modul "Haltungsdetektor", das bei ordnungsgemäßer Funktion eine Live-Aktualisierungsgrafik sowie die aktuellen Vorhersagen von Haltung und Bewegung anzeigt. Um zu testen, ob das Arduino die Sensordaten korrekt übermittelt, bewegen Sie die beiden Beschleunigungsmesser in zufällige Richtungen und prüfen Sie, ob sich alle Linien im Diagramm ändern. Wenn einige Leitungen konstant flach bleiben, vergewissern Sie sich, dass die Beschleunigungsmesser richtig mit der Feder verbunden sind. Wenn alles funktioniert, ziehen Sie das Shirt an und testen Sie, ob die Haltungserkennung Ihre Haltung korrekt vorhersagt. Herzliche Glückwünsche! Sie haben erfolgreich ein Wearable zur Haltungserkennung eingerichtet. Fahren Sie mit dieser Anleitung fort, um zu erfahren, wie Sie Ihren eigenen Datensatz erstellen und Ihre eigene Haltungserkennung anpassen.
Schritt 7: Sammeln Ihrer eigenen Daten


Um Ihre eigenen Daten zu sammeln, kehren Sie zum Modulauswahlbildschirm zurück und öffnen das Datenrekorder-Modul. Füllen Sie nach dem Öffnen dieses Bildschirms das Etikett für die zu sammelnden Daten aus. Um leicht mit Ihren Daten zu trainieren, sollten Sie bei Aufnahmen mit guter Körperhaltung das Wort "gut" und bei Aufnahmen mit Körperhaltung "schlecht" verwenden. Um mit dem Sammeln zu beginnen, tippen Sie auf die Schaltfläche "Daten sammeln" und führen Sie Ihre beabsichtigte Aktion aus. Wenn Sie fertig sind, tippen Sie erneut auf die Schaltfläche, um die Daten zu beenden und zu speichern. Alle aufgezeichneten Daten werden in einem Ordner namens "GestureData" im Dokumentenordner Ihres Dateisystems gespeichert. Wenn Sie mit der Aufzeichnung aller Daten fertig sind, kopieren Sie die Dateien zum Modelltraining auf Ihren Computer.
Schritt 8: Training Ihrer Daten auf Jupyter Notebook


Der anfängliche Projektcode enthält die Originaldaten, die für das Training verwendet wurden, im Ordner "data" im Abschnitt Jupyter Notebook, zum Training Ihrer eigenen Daten löschen Sie alle Dateien in diesem Ordner und kopieren Sie dann Ihre eigenen Daten in den Ordner. Führen Sie dann Jupyter Notebook aus und öffnen Sie "PostureDetectorTrainer.ipynb". Dieses Notebook wurde entwickelt, um automatisch alle Dateien im Datenordner nach guter und schlechter Haltung zu trennen und dann eine lineare SVM für die Klassifizierung zu trainieren, um das Modell zu trainieren, wählen Sie einfach die Dropdown-Liste "Zelle" und wählen Sie "Alle ausführen". Es kann einen Moment dauern, bis das Notebook läuft, aber wenn es fertig ist, scrollen Sie zu dem Punkt, der die Genauigkeit der Haltungsvorhersage für das Modell liefert. Wenn die Genauigkeit niedrig ist, möchten Sie möglicherweise sicherstellen, dass Ihre vorherigen Aufzeichnungen genau und konsistent sind. Wenn die Ergebnisse gut aussehen, scrollen Sie zur nächsten Zelle, in der eine Java-Klasse generiert wurde. Scrollen Sie zum Ende dieser Zelle, bis Sie einen als Parameter kommentierten Teil sehen. Kopieren Sie diese Werte, da Sie sie im nächsten Schritt benötigen.
Schritt 9: Ändern der Android-Anwendung mit einem neuen Modell

Um das Modell in der Android-Anwendung zu ändern, navigieren Sie mit Android Studio zur Datei "PostureDetectorFragment.java" im Java-Abschnitt der Projektstruktur. Scrollen Sie in dieser Datei nach unten zu dem als "Haltungsklassifizierer" kommentierten Abschnitt, der die gleichen 4 entsprechenden Variablen wie die 4 hat, die in Jupyter Notebook generiert wurden. Ersetzen Sie die Werte dieser 4 Variablen durch die Werte, die aus dem Jupyter Notebook kopiert wurden, und stellen Sie sicher, dass die Variablennamen nicht von p_vectors, p_coefficients usw Gerät. Folgen Sie nun den gleichen Schritten wie zuvor, um das Modul Posture Detector zu öffnen, und Sie sollten sehen, dass der Klassifikator jetzt mit Ihrem neu trainierten Modell arbeitet. Wenn es immer noch nicht gut funktioniert, sollten Sie erwägen, weitere Daten aufzuzeichnen und das Modell neu zu erstellen. Ansonsten herzlichen Glückwunsch! Du hast jetzt deinen eigenen persönlich trainierten Klassifikator in das Postshirt importiert!
Empfohlen:
Tragbare Arduino-Workbench Teil 1: 4 Schritte

Portable Arduino Workbench Teil 1: Mehrere Projekte im Flug zu haben bedeutet, dass ich schnell desorganisiert werde und das Bild meines Schreibtisches zeigt, was passieren kann. Nicht nur dieser Schreibtisch, ich habe eine Kabine, die in einem ähnlichen Zustand endet, und eine Holzwerkstatt wie, wenn auch aufgeräumter, Elektrowerkzeuge
Tragbare Arduino-Workbench Teil 2: 7 Schritte

Portable Arduino Workbench Teil 2: Ich hatte bereits ein paar dieser in Teil 1 beschriebenen Boxen hergestellt, und wenn eine Box zum Mitnehmen und Zusammenhalten eines Projekts alles ist, was erforderlich ist, funktionieren sie gut. Ich wollte in der Lage sein, das gesamte Projekt in sich geschlossen zu halten und es ein
MicroPython-Programm: Aktualisieren Sie die Daten der Coronavirus-Krankheit (COVID-19) in Echtzeit – wikiHow

MicroPython-Programm: Daten zur Coronavirus-Krankheit (COVID-19) in Echtzeit aktualisieren: In den letzten Wochen hat die Zahl der bestätigten Fälle der Coronavirus-Krankheit (COVID 19) weltweit 100.000 überschritten, und die Weltgesundheitsorganisation (WHO) hat die Der neue Ausbruch einer Coronavirus-Pneumonie soll eine globale Pandemie sein. Ich war sehr
Gesichtserkennung in Echtzeit: ein End-to-End-Projekt – wikiHow

Echtzeit-Gesichtserkennung: ein End-to-End-Projekt: In meinem letzten Tutorial zur Erkundung von OpenCV haben wir AUTOMATIC VISION OBJECT TRACKING gelernt. Jetzt werden wir unsere PiCam verwenden, um Gesichter in Echtzeit zu erkennen, wie Sie unten sehen können: Dieses Projekt wurde mit dieser fantastischen "Open Source Computer Vision Library&qu
Einfach P.D.C. (Halterung für tragbare Geräte): 6 Schritte

Einfach P.D.C. (Portable Device Cradle): Ich weiß, dass es eine Million verschiedene DIY-Anleitungen gibt, um alle Ladegeräte, Wandwarzen und Kabelgewirr zu zähmen, die mit tragbaren Geräten verbunden sind. Die Probleme bei den meisten sind, dass sie entweder a. konzentrierter sich mehr darauf, die Ladegeräte zu verstecken, als das Leben e