Posture Pal with Walabot
Verhindern Sie Nacken- und Rückenschmerzen durch Überwachung Ihres Sitzhaltung mit dem Distanzsensor von Walabot und einer Android-App.
In diesem Projekt verwendete Dinge
Hardwarekomponenten
Walabot mit Raspberry Pi
Warum ich Posture Pal gebaut habe
Millionen Menschen verbringen täglich 7-8 Stunden vor ihrem Computer. Ein gemeinsames Merkmal ist bei Menschen mit unsachgemäßer Computernutzung offensichtlich:eine mit dem Kopf nach vorne gerichtete Haltung. Da Menschen normalerweise sitzen, während sie einen Computer benutzen, neigen Menschen auch dazu, sich zu lehnen und ihre Wirbelsäule ebenfalls in eine Krümmung zu beugen [1]. Nackenschmerzen durch unsachgemäße Computernutzung können durch Achtsamkeitstraining ohne unbequeme Geräte verhindert werden.
Diese Haltung des Kopfes nach vorne übt nachweislich einen erheblichen Druck auf den menschlichen Nacken aus. Ein normaler menschlicher Kopf wiegt etwa 4,54 kg. Eine Bewertung der Belastungen ergab, dass eine 15-Grad-Kopf-Vorwärtshaltung das effektive Gewicht auf dem Nackenbereich der Wirbelsäule auf 27 Pfund (12,25 kg) erhöhte. Laut einer Studie sind arbeitsbedingte Nackenschmerzen bei Personen, die mit einer Nackenbeugung von 20 Grad sitzen, doppelt so wahrscheinlich. Ich habe diese App entwickelt, um mich daran zu erinnern, wenn mein Kopf zu nah am Computer ist, und um die Gesamtqualität meines Programmierlebens zu verbessern. Die aktuelle Phase besteht aus einer vom Autor entwickelten Open-Source-Android-Anwendung, die Benachrichtigungen ausgibt, wenn der Benutzer zu nahe am Computer ist.
Schritt 1:Starten Sie den Server auf dem Pi
Installieren Sie das Walabot SDK.
Wir werden die Python-Bibliothek Flask verwenden, um die Walabot-Zielentfernung zu bedienen, also auf Ihrem Raspberry Pi
pip installflakon —user
git clone https://gist.github.com/justinshenk/aa1e1eb7ceb87fd82f0b655b5ad20c8a posture-server
cd posture-server
python3 server.py
Das Python-Skript server.py bietet einen Endpunkt, um die Entfernung vom Walabot mithilfe eines Flask-Servers zu ermitteln:
#!/usr/local/env python
import json
import time
from Flask Import Flask, jsonify, request, Response
app =Flask(__name__)
Entfernung =0
@app.route('/set')
def set():
globale Distanz
distanz =request.args.get('distanz')
jsonify(distance) zurückgeben
@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 anderen Terminalfenster starten Sie die Erfassung der Zielentfernung mit Walabot:
python3 distance.py
Die Entfernung zum Ziel/Benutzer wird über die interne API abgerufen
wlbt.get_targets()
und die Zieltiefe wird über zPosCm abgerufen und auf dem Server mit einer URL-Variable aktualisiert:
distance =str(targets[0].zPosCm)
r =request.get(“http://localhost:3000/set?distance=” + distance)
Schritt 2. Starten Sie die Android-App
Laden Sie die Android-App herunter.
Die App verwendet GraphView zum Anzeigen der Daten und HTTP Long Polling, um den Status abzufragen.
// Distanz über JsonObjectRequest abrufen
String url =“http://192.168.0.100:3000/status“; // durch Pi-IP-Adresse ersetzen
final JsonObjectRequest jsonObjectRequest =new JsonObjectRequest
(Request.Method.GET, url, null, new Response.Listener
@Override
public void onResponse(JSONObject response) {
Double distance =0.;
try {
distance =response.getDouble(“status”);
// Graph aktualisieren
dataset =updateData(dataset, distance);
…
// Textanzeige aktualisieren
currDistance.setText(“Distance:“ + String.format(“%.2f”, Distance ));
…
// Abfrage jede Sekunde
new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
queue.add(jsonObjectRequest);
}
}, 0, 1000);
Quellcode für die Android-App ist unter https://github.com/justinshenk/Walabot-PosturePal verfügbar. Erstellen Sie es selbst oder installieren Sie einfach das APK. Öffne die App.
Schritt 3:Kalibrieren
Die Android-App wird verwendet, um eine Referenzhaltung zum Vergleich festzulegen und die Empfindlichkeit des Geräts zu ändern.
Lesen Sie mehr Info….Posture Pal mit WalabotHerstellungsprozess
- Tissue mit Lotion
- Temperatur lesen mit DS18B20 | Raspberry Pi 2
- Temperaturmessung mit RASPBERRY PI
- Überwachen der Temperatur mit Raspberry Pi
- Walabot-Touchpad
- Toiletten-Tracker (Powered by Walabot)
- KI-Ziffernerkennung mit PiCamera
- Erste Schritte mit TJBot
- Einen Segway mit Raspberry Pi bauen
- GoPiGo v2 mit Windows IoT