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

Speathe: коммуникация на основе дыхания для парализованных пользователей

Аппаратные компоненты

Динамик
3 Вт, 4 Ом для чёткого аудиовывода.
Устройство на Android
Запускает мобильное приложение на React Native.
Walabot
Акустический сенсор, фиксирующий энергию дыхания и классифицирующий вдох/выдох как короткие или длинные.
Raspberry Pi 3 Model B
Выполняет Python-бэкенд и Flask-сервер.

Программный стек

Принцип работы

Обнаружение дыхания и кодирование типа Морзе

Сенсор Walabot измеряет энергию каждого вдоха/выдоха. После краткой калибровки энергии дыхания сравниваются с порогом для классификации на короткие (точка) или длинные (тире). Последовательность дыханий преобразуется в паттерн кода Морзе (например, «-.-.-»). Raspberry Pi сопоставляет этот паттерн с заранее заданными буквами и фразами.

Предопределённые акронимы

Для уменьшения усилий ввода распространённые трёхбуквенные акронимы (например, ABC, XYZ) напрямую отображаются в полные фразы. При обнаружении акронима мобильное приложение сразу показывает развёрнутый текст.

Архитектура сервера

Raspberry Pi размещает Flask-сервер на статическом IP. Он принимает данные, полученные от дыхания, хранит текущую переменную «message» и предоставляет эндпоинты для опроса или отправки ответов мобильным приложением.

sudo nano /etc/dhcpcd.conf # Добавить в конец файла
interface eth0
static ip_address=192.168.43.211
static routers=192.168.43.1
static domain_name_servers=192.168.43.1
interface wlan0
static ip_address=192.168.43.211
static routers=192.168.43.1
static domain_name_servers=192.168.43.1
# Сохранить Ctrl+O, выйти Ctrl+X
sudo reboot

Мобильное приложение

React Native-приложение непрерывно опрашивает Flask-эндпоинт для получения последнего сообщения. При получении непустой строки оно отображает текст и воспроизводит его голосом. Пользователь может ответить, введя текст в приложении, который отправляется обратно на сервер. Сервер затем озвучивает ответ через динамик, обеспечивая двустороннюю коммуникацию.

Этапы реализации

  1. Установить Python 3 на Raspberry Pi.
  2. Скачать SDK Walabot для вашей ОС. Изучить пример BreathingExample.py для понимания получения данных с сенсора.
  3. Настроить Flask-сервер на Raspberry Pi и настроить статический IP как показано выше.
  4. Собрать React Native-приложение, обновив URL сервера на IP вашей Raspberry Pi.
  5. Подключить Walabot к Pi, динамик и Android-устройство через Wi-Fi.
  6. Запустить приложение, выполнить быструю калибровку и начать общение через дыхание.

Тестирование

Запустить Python-бэкенд на Raspberry Pi, убедиться, что статический IP доступен, и установить APK на Android-устройство. Открыть приложение, настроить дыхание и наблюдать перевод дыхания в текст в реальном времени.

Для более детальных примеров кода и советов по отладке обратитесь к документации репозитория.

Присоединяйтесь к сообществу

Мы приглашаем разработчиков, исследователей и медицинских специалистов внести вклад в развитие Speathe. Вместе мы можем создать надёжное, доступное средство коммуникации для парализованных людей.

Контакты и ресурсы

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

  1. Освоение типов данных в Python: практическое руководство
  2. Мастерство операторов Python: Полное руководство
  3. Оператор pass в Python: практическое руководство
  4. Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
  5. Словари в Python: создание, манипуляции и продвинутые техники
  6. Итераторы в Python: как они работают и как создать свои
  7. Замыкания в Python: как вложенные функции захватывают переменные
  8. Модуль datetime в Python: практическое руководство по датам, времени и часовым поясам
  9. Обзор Python: высокоуровневый, читаемый, интерактивный и объектно-ориентированный язык
  10. Числа в Python: Неизменяемые числовые типы данных