Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Posture Pal mit Walabot – Echtzeit-Entfernungsüberwachung gegen Nacken- und Rückenschmerzen

Posture Pal mit Walabot – Echtzeit-Entfernungsüberwachung gegen Nacken- und Rückenschmerzen

Halten Sie Nacken und Rücken gesund, indem Sie Ihre Sitzhaltung in Echtzeit überwachen. Das Posture-Pal-System kombiniert einen Walabot-Entfernungssensor mit einem Raspberry Pi und einer benutzerdefinierten Android-App, um sofortiges Feedback zu geben und Schmerzen durch falsches Sitzen zu verhindern.

Hardware-Komponenten

Warum ich Posture Pal gebaut habe

Die meisten Berufstätigen verbringen 7–8 Stunden täglich am Schreibtisch. Ein häufiges Problem ist der nach vorne geneigte Kopf und ein gerundeter Rücken, der die Halswirbelsäule übermäßig belastet. Eine 15°-Vorwärtshaltung des Kopfes kann das effektive Gewicht auf den Nacken verdoppeln – von 4,5–5,5 kg auf ca. 12 kg. Studien zeigen, dass eine 20°-Nackenbeugung die Wahrscheinlichkeit von arbeitsbedingten Nackenschmerzen verdoppelt.

Ich habe Posture Pal entwickelt, um sanfte, datengestützte Erinnerungen zu geben, die Nutzern helfen, eine korrekte Haltung beizubehalten – ohne sperrige Geräte. Die aktuelle Version bietet eine Open-Source-Android-App, die warnt, wenn man sich dem Bildschirm zu stark nähert.

Schritt 1: Server auf dem Pi starten

1. Walabot SDK auf dem Raspberry Pi installieren.
2. Flask nutzen, um Walabot-Entfernungsdaten über eine einfache Web-API bereitzustellen.
3. Server-Code von GitHub klonen und ausführen.

pip install flask --user
git clone https://gist.github.com/justinshenk/aa1e1eb7ceb87fd82f0b655b5ad20c8a posture-server
cd posture-server
python3 server.py

Das Skript server.py erstellt zwei Endpunkte:
/set – empfängt die aktuelle Entfernung vom Walabot.
/status – gibt die letzte gemessene Entfernung als JSON zurück.

#!/usr/local/env python
import json
import time
from flask import Flask, jsonify, request, Response

app = Flask(__name__)
distance = 0

@app.route('/set')
def set():
    global distance
    distance = request.args.get('distance')
    return jsonify(distance)

@app.route('/status')
def status():
    return Response(json.dumps({'status': distance}))

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=3000)

In einem zweiten Terminal die Walabot-Entfernungsmessung starten:

python3 distance.py

Das Skript liest die Zieltiefe via wlbt.get_targets() und sendet sie an den Flask-Server:

targets = wlbt.get_targets()
distance = str(targets[0].zPosCm)
import requests
r = requests.get("https://localhost:3000/set?distance=" + distance)

Schritt 2: Android-App starten

Vorgefertigtes APK herunterladen oder Quellcode von GitHub klonen: Walabot-PosturePal. Die App nutzt GraphView für Live-Plotting und HTTP-Long-Polling, um die Entfernung jede Sekunde abzurufen.

// Entfernung via JsonObjectRequest abrufen
String url = "https://192.168.0.100:3000/status"; // Mit Ihrer Pi-IP ersetzen
final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(
    Request.Method.GET, url, null,
    new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            Double distance = 0.;
            try {
                distance = response.getDouble("status");
                // Graph-Datensatz aktualisieren
                dataset = updateData(dataset, distance);
                // Textanzeige aktualisieren
                currDistance.setText("Distance: " + String.format("%.2f", distance));
            } catch (JSONException e) {
                e.printStackTrace();
            }
            // Jede Sekunde abfragen
            new Timer().scheduleAtFixedRate(new TimerTask() {
                @Override
                public void run() {
                    queue.add(jsonObjectRequest);
                }
            }, 0, 1000);
        }
    }
);

Schritt 3: Kalibrieren

App nutzen, um eine Basis-Haltung festzulegen und den Schwellenwert für die Empfindlichkeit anzupassen. So werden Warnungen nur ausgelöst, wenn man über den komfortablen Bereich hinaus abdriftet.

Vollständigen Quellcode und Dokumentation ansehen, um das System für den eigenen Gebrauch zu bauen oder anzupassen.

Herstellungsprozess

  1. Weichmachende Tücher: Wie Lotion Komfort und Leistung verbessert
  2. Temperatur mit DS18B20 am Raspberry Pi 2 auslesen
  3. Temperaturmessung mit Maxim 1-Wire Sensoren und DS2482 I2C-Bridge am Raspberry Pi
  4. Präzise Temperaturüberwachung im Server-Schrank mit Raspberry Pi
  5. Walabot Touchpad: Jede Fläche in ein kabelloses Touch-Interface verwandeln
  6. Walabot-gestützter Toiletten-Hygienemonitor
  7. Raspberry Pi Ziffernerkennung mit TensorFlow & OpenCV selbst bauen
  8. TJBot starten: Bauen, konfigurieren und per Sprache steuern
  9. Selbstbalancierenden Segway mit Raspberry Pi bauen
  10. GoPiGo v2 auf Windows 10 IoT Core für Raspberry Pi 3 erweitern