Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Posture Pal с Walabot — мониторинг расстояния в реальном времени для предотвращения боли в шее и спине

Сохраняйте шею и спину здоровыми, мониторя позу сидения в реальном времени. Система Posture Pal связывает датчик расстояния Walabot с Raspberry Pi и пользовательским Android-приложением для мгновенной обратной связи и предотвращения боли от ссутуливания.

Компоненты железа


Почему я создал Posture Pal

Большинство профессионалов проводят 7–8 часов в день за столом. Распространенная проблема — голова, наклоненная вперед, и округлый позвоночник, создающие избыточную нагрузку на шейной отдел. Наклон головы на 15° может удвоить эффективный вес на шее, повышая его с 10–12 фунтов до 27 фунтов (4,5–5,5 кг) [1]. Исследования показывают, что сгибание шеи на 20° удваивает вероятность рабочей боли в шее.

Я создал Posture Pal, чтобы давать мягкие, основанные на данных напоминания, помогающие пользователям сохранять правильную позу без громоздкого оборудования. Текущий релиз включает открытый Android-приложение, уведомляющее пользователей, когда они слишком близко к экрану.

Шаг 1: Запуск сервера на Pi

1. Установите Walabot SDK на ваш Raspberry Pi. 2. Используйте Flask для предоставления данных расстояния Walabot через простой веб-API. 3. Клонируйте код сервера с GitHub и запустите его.

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

Скрипт server.py создает два эндпоинта: /set — получает текущее расстояние от Walabot. /status — возвращает последнее измеренное расстояние как 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)

Во втором терминале запустите цикл измерения расстояния Walabot:

 python3 distance.py

Скрипт считывает целевую глубину через wlbt.get_targets() и отправляет на Flask-сервер:

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

Шаг 2: Запуск Android-приложения

Скачайте готовый APK или клонируйте исходники с GitHub: Walabot-PosturePal. Приложение использует GraphView для живого построения графика и HTTP long polling для получения расстояния каждую секунду.

 // Получение расстояния через JsonObjectRequest
String url = "https://192.168.0.100:3000/status"; // замените на IP вашего Pi
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");
                // Обновление набора данных графика
                dataset = updateData(dataset, distance);
                // Обновление текстового отображения
                currDistance.setText("Distance: " + String.format("%.2f", distance));
            } catch (JSONException e) {
                e.printStackTrace();
            }
            // Опрос каждую секунду
            new Timer().scheduleAtFixedRate(new TimerTask() {
                @Override
                public void run() {
                    queue.add(jsonObjectRequest);
                }
            }, 0, 1000);
        }
    }
);

Шаг 3: Калибровка

Используйте приложение для установки базовой позы и настройки порога чувствительности. Это гарантирует, что алерты срабатывают только когда вы выходите за пределы комфортного диапазона.

Посмотрите полный исходный код и документацию для сборки или модификации системы под свои нужды.

Производственный процесс

  1. Мягкость салфеток: как лосьон повышает комфорт и характеристики
  2. Как считывать температуру с DS18B20 на Raspberry Pi 2
  3. Измерение температуры на Raspberry Pi с датчиками Maxim 1-Wire и мостом DS2482 I2C
  4. Точный мониторинг температуры в серверной на Raspberry Pi
  5. Walabot Touchpad: превратите любую поверхность в беспроводной сенсорный интерфейс
  6. Монитор гигиены туалета на базе Walabot
  7. Распознавание рукописных цифр на Raspberry Pi с TensorFlow и OpenCV
  8. Начало работы с TJBot: сборка, настройка и голосовое управление ИИ-роботом
  9. Сборка самобалансирующегося Segway на Raspberry Pi
  10. Расширение GoPiGo v2 на Windows 10 IoT Core для Raspberry Pi 3