Speathe:为瘫痪用户设计的呼吸驱动通讯系统
Speathe:为瘫痪用户设计的呼吸驱动通讯系统
Speathe 是一个创新且不断演进的通讯平台,将用户的呼吸模式转化为可听语音和文本。专为因瘫痪失去语言能力的人群设计,提供隐蔽、免提的方式传达信息、情感和日常短语。
硬件组件
- 扬声器
- 3W、4Ω 扬声器,提供清晰音频输出。
- 安卓设备
- 运行 React Native 移动应用。
- Walabot
- 声学传感器,捕捉呼吸能量并将其分类为短呼吸或长呼吸。
- 树莓派 3 Model B
- 运行 Python 后端和 Flask 服务器。
软件栈
- Python 3 — 后端逻辑与 Walabot 集成。
- Flask — 树莓派上的轻量级 Web 服务器。
- React Native — 跨平台移动界面。
工作原理
呼吸检测与莫尔斯式编码
Walabot 传感器测量每次呼吸的能量。简短校准后,呼吸能量与阈值比较,分类为 短 (点) 或 长 (划)。一连串呼吸转译为莫尔斯码模式(如 “-.-.-”)。树莓派将此模式匹配到预定义字母和短语。
预定义缩写
为减少输入工作量,常见三字母缩写(如 ABC、XYZ)直接映射到完整短语。系统检测到缩写时,移动 App 立即显示展开文本。
服务器架构
树莓派在静态 IP 上托管 Flask 服务器。接收呼吸衍生数据,存储当前 “message” 变量,暴露端点供移动 App 轮询或发送响应。
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 端点获取最新消息。收到非空字符串时显示文本并朗读。用户可在 App 中输入回复,回发给服务器。服务器再通过扬声器播放回复,实现双向通讯。
实施步骤
- 在树莓派安装 Python 3。
- 下载适用于你操作系统的 Walabot SDK。探索自带
BreathingExample.py理解传感器数据采集。 - 在树莓派搭建 Flask 服务器并按上文配置静态 IP。
- 构建 React Native 应用,更新服务器 URL 为树莓派 IP。
- 连接 Walabot 到树莓派、扬声器,安卓设备通过 Wi-Fi 连接。
- 启动 App,快速校准,开始用呼吸“说话”。
测试
在树莓派运行 Python 后端,确保静态 IP 可达,在安卓设备部署 APK。打开 App,调整呼吸模式,观察实时从呼吸到文本的转换。
更多代码示例和调试技巧,请参考仓库 文档。
加入社区
我们邀请开发者、研究人员和医疗专业人员共同推动 Speathe 演进。携手打造面向瘫痪群体的稳健、无障碍通讯辅助工具。
联系与资源
- Walabot API 文档:https://walabot.com/api/_pythonapi.html
- Python 3 下载:https://www.python.org/downloads/
- React Native:https://reactnative.dev/
制造工艺