本科阶段完成的软硬件教学原型。项目以 Arduino Uno、MAX30100、DHT11、DS18B20、BH1750、MPU6050、HC-05 与 Flutter Android 客户端,演示多类模块采样、经典蓝牙串口数据展示与受限的本地音频实验路径。
Caution
使用提示: 本项目用于传感器、蓝牙与音频联动学习,不是医疗器械,也不能用于健康监护、紧急告警或替代人工照护。
这里整理了项目照片、界面截图和相关资料;文件处理说明见 MEDIA_EVIDENCE。
firmware/:PlatformIO / Arduino Uno 固件;轮询多类模块,按文本协议经 HC-05 发送教学数据。默认关闭模拟数据和 DFPlayer 音频。app/:Flutter Android 经典蓝牙 SPP 客户端;拒绝旧协议和缺少有效性标记的数据,显示数据可用性与教学边界。hardware/:BOM 与接口说明。docs/:协议、构建、来源与第三方组件说明。
firmware/platformio.ini 有两个隔离构建环境:
# 公开默认:关闭模拟数据和 DFPlayer 音频。
pio run -d firmware -e uno
# 仅用于明确本地教学实验:两个宏都为精确值 1,才编译模拟/音频路径。
pio run -d firmware -e uno-demo-audio即使在 uno-demo-audio 中,HC-05 文本也不能远程启动监测、切换音频、调整音量、测试播放或读取 DFPlayer 状态;本地实体按键才是启动与模式控制入口。不要在公开仓、Issue、截图、视频、串口日志或 config.local.h 中放入真实设备名、MAC、配对 PIN、个人数据、照片 EXIF/GPS、音频素材或任何凭据。
建议在 Linux 或 GitHub Actions 中运行完整公开门禁。脚本将 PlatformIO 与 Flutter 生成物置于临时目录,结束后再扫描候选仓:
bash scripts/verify.sh- MAX30100 源码按地址
0x57和part id 0x11实现;不是 MAX30102 兼容性、心率/血氧准确性或医疗结论。 - DS18B20 是温度模块读数;不是人体体温或医疗结论。DHT11、BH1750 和 MPU6050 的数值/阈值也只是教学输入;运动阈值累计不是翻身、姿态、睡姿、跌倒或看护识别。
- 公开默认不初始化 DFPlayer 输出路径;默认蜂鸣器与 LED 仍有源码控制路径。Arduino Uno GPIO 不能直接替代扬声器、蜂鸣器或其他负载驱动。
- HC-05 SPP 与 Flutter 客户端的完整字段语义、失败关闭规则和远程停止限制见 协议说明。接线、供电、电平、共地、上拉、驱动、额定电压/电流、模块地址与线长必须按实物和数据手册单独复核。
详细限制见 HARDWARE、SECURITY、BOM、源码推导接线图 和 PROJECT_STATUS。
Rongyi 自有的公开代码、文档、BOM 和源码推导接线边界图按 MIT License 发布。仓内包含的 flutter_bluetooth_serial 保留其 MIT License;PlatformIO、Arduino AVR、Arduino 库、Flutter SDK、pub 包与 Android/Gradle 工具均继续受各自许可证、NOTICE、商标与服务条款约束。详见 THIRD_PARTY_NOTICES。
报告问题时,请勿提交配对 PIN、MAC、设备名、个人生理数据、真实音频、私网信息、真实日志、照片 EXIF/GPS、凭据、客户材料或其他敏感信息。
