Speathe: Breath‑Driven Communication for Paralyzed Users
Speathe: Breath‑Driven Communication for Paralyzed Users
Speathe is an innovative, evolving communication platform that converts a user’s breathing patterns into audible speech and text. Designed for individuals who have lost speech due to paralysis, it offers a discreet, hands‑free method to convey messages, emotions, and everyday phrases.
Hardware Components
- Speaker
- 3 W, 4 Ω speaker for clear audio output.
- Android Device
- Runs the React‑Native mobile application.
- Walabot
- Acoustic sensor that captures breath energy and classifies it as short or long breaths.
- Raspberry Pi 3 Model B
- Runs the Python back‑end and Flask server.
Software Stack
- Python 3 – for the back‑end logic and Walabot integration.
- Flask – lightweight web server on the Raspberry Pi.
- React‑Native – cross‑platform mobile interface.
How It Works
Breath Detection & Morse‑Like Encoding
The Walabot sensor measures the energy of each breath. After a brief calibration, breath energies are compared against a threshold to classify breaths as short (dot) or long (dash). A sequence of breaths is translated into a Morse‑code pattern (e.g., “-.-.-”). The Raspberry Pi matches this pattern to predefined letters and phrases.
Pre‑Defined Acronyms
To reduce typing effort, common three‑letter acronyms (e.g., ABC, XYZ) map directly to full phrases. When the system detects an acronym, the mobile app displays the expanded text immediately.
Server Architecture
The Raspberry Pi hosts a Flask server on a static IP. It receives breath‑derived data, stores the current “message” variable, and exposes endpoints for the mobile app to poll or post responses.
sudo nano /etc/dhcpcd.conf # Add at the end of the file 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 # Save with Ctrl+O and exit with Ctrl+X sudo reboot
Mobile Application
The React‑Native app continuously polls the Flask endpoint for the latest message. When a non‑empty string is received, it displays the text and plays it aloud. Users can reply by typing into the app, which posts the text back to the server. The server then pronounces the reply through the speaker, enabling two‑way communication.
Implementation Steps
- Install Python 3 on the Raspberry Pi.
- Download the Walabot SDK for your OS. Explore the provided
BreathingExample.pyto understand sensor data acquisition. - Set up the Flask server on the Raspberry Pi and configure a static IP as shown above.
- Build the React‑Native app, updating the server URL to match your Pi’s IP.
- Connect the Walabot to the Pi, the speaker, and the Android device via Wi‑Fi.
- Launch the app, perform a quick calibration, and start speaking through breath.
Testing
Run the Python back‑end on the Raspberry Pi, ensure the static IP is reachable, and deploy the APK on your Android device. Open the app, align your breathing pattern, and observe real‑time translation from breath to text.
For more detailed code examples and debugging tips, refer to the repository’s documentation.
Join the Community
We invite developers, researchers, and healthcare professionals to contribute to Speathe’s evolution. Together, we can create a robust, accessible communication aid for the paralyzed community.
Contact & Resources
- Walabot API Docs: https://walabot.com/api/_pythonapi.html
- Python 3 Downloads: https://www.python.org/downloads/
- React‑Native: https://reactnative.dev/
Manufacturing process
- Mastering Python Data Types: A Practical Guide
- Mastering Python Operators: A Comprehensive Guide
- Mastering Python's While Loop: Syntax, Examples, and Best Practices
- Mastering the Python Pass Statement: A Practical Guide
- Master Python Functions: Syntax, Types, and Practical Examples
- Mastering Python Function Arguments: Positional, Keyword, and Default Parameters
- Python Packages: Structure, Importing, and Best Practices
- Python List Operations: Creation, Access, Modification, and Advanced Techniques
- Mastering Python Tuples: Creation, Access, and Advanced Operations
- Mastering Python Dictionaries: Creation, Manipulation, and Advanced Techniques