Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Posture Pal avec Walabot – Surveillance de distance en temps réel pour arrêter douleurs cou et dos

Gardez votre cou et votre dos en bonne santé en surveillant votre posture assise en temps réel. Le système Posture Pal associe un capteur de distance Walabot à un Raspberry Pi et une application Android personnalisée pour fournir un retour instantané et prévenir la douleur due à l'affaissement.

Composants matériels


Pourquoi j'ai construit Posture Pal

La plupart des professionnels passent 7 à 8 heures par jour à un bureau. Un problème courant est la tête penchée en avant et le dos arrondi, ce qui place une charge excessive sur la colonne cervicale. Une posture de tête en avant de 15° peut doubler le poids effectif sur le cou, le faisant passer de 4,5–5,5 kg à 12 kg [1]. Des études montrent qu'une flexion du cou de 20° double la probabilité de douleurs cervicales liées au travail.

J'ai créé Posture Pal pour fournir des rappels doux, basés sur les données, qui aident les utilisateurs à maintenir une bonne posture sans équipement encombrant. La version actuelle propose une application Android open-source qui notifie les utilisateurs lorsqu'ils sont trop proches de l'écran.

Étape 1 : Démarrer le serveur sur le Pi

1. Installez le SDK Walabot sur votre Raspberry Pi. 2. Utilisez Flask pour exposer les données de distance du Walabot via une API web simple. 3. Clonez le code serveur depuis GitHub et lancez-le.

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

Le script server.py crée deux endpoints : /set – reçoit la distance actuelle du Walabot. /status – renvoie la dernière distance mesurée en JSON.

 #!/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)

Dans un second terminal, lancez la boucle de mesure de distance Walabot :

 python3 distance.py

Le script lit la profondeur cible via wlbt.get_targets() et l'envoie au serveur Flask :

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

Étape 2 : Lancer l'application Android

Téléchargez l'APK pré-construit ou clonez la source depuis GitHub : Walabot‑PosturePal. L'application utilise GraphView pour le tracé en direct et le long polling HTTP pour récupérer la distance chaque seconde.

 // Récupérer la distance via JsonObjectRequest
String url = "https://192.168.0.100:3000/status"; // remplacer par l'IP de votre Pi
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");
                // Mettre à jour le jeu de données du graphique
                dataset = updateData(dataset, distance);
                // Mettre à jour l'affichage texte
                currDistance.setText("Distance: " + String.format("%.2f", distance));
            } catch (JSONException e) {
                e.printStackTrace();
            }
            // Interroger chaque seconde
            new Timer().scheduleAtFixedRate(new TimerTask() {
                @Override
                public void run() {
                    queue.add(jsonObjectRequest);
                }
            }, 0, 1000);
        }
    } );

Étape 3 : Calibrer

Utilisez l'application pour définir une posture de base et ajuster le seuil de sensibilité. Cela garantit que les alertes ne se déclenchent que lorsque vous dérivez au-delà de votre zone de confort.

Voir le code source complet et la documentation pour construire ou modifier le système pour votre propre usage.

Processus de fabrication

  1. Comment lire la température avec un DS18B20 sur Raspberry Pi 2
  2. Mesure de température sur Raspberry Pi avec capteurs 1‑Wire Maxim et pont I2C DS2482
  3. Surveillance précise de la température dans un placard serveur avec Raspberry Pi
  4. Walabot Touchpad : Transformer n'importe quelle surface en interface tactile sans fil
  5. Moniteur d'hygiène des toilettes alimenté par Walabot
  6. Créer un Reconnaissance de Chiffres sur Raspberry Pi avec TensorFlow et OpenCV
  7. Démarrage avec TJBot : Construire, Configurer et Contrôler par la Voix Votre Propre Robot IA
  8. Construire un Segway auto‑équilibré avec Raspberry Pi
  9. Étendre GoPiGo v2 sur Windows 10 IoT Core pour Raspberry Pi 3