# wuwei **Repository Path**: deanyou/wuwei ## Basic Information - **Project Name**: wuwei - **Description**: wuwei system - **Primary Language**: Python - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-23 - **Last Updated**: 2026-06-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 无为灸智能扫描系统 (WuWei Moxa Scanner) 基于多传感器融合的自动化艾灸吸收点识别与施灸系统 ## 项目简介 本项目旨在将传统中医艾灸与现代自动化技术结合,通过XYZ三轴运动系统和多传感器阵列,自动识别人体表面的"吸收点"并进行精确施灸。 ## 核心功能 - 🔍 **智能扫描**: 使用热成像、皮肤电导等多种传感器扫描身体表面 - 🎯 **吸收点识别**: 基于温度场分析和生理信号的吸收点自动识别 - 🤖 **自动施灸**: XYZ三轴精确控制艾条位置和运动轨迹 - 📊 **实时监测**: 实时温度监测和自适应调整 - 🛡️ **安全保障**: 多层安全监控系统 ## 系统架构 ``` ┌─────────────────────────────────────────┐ │ 控制系统 (Controller) │ │ ├── 运动控制 (Motion Control) │ │ ├── 传感器管理 (Sensor Management) │ │ ├── 数据分析 (Data Analysis) │ │ └── 安全监控 (Safety Monitor) │ └─────────────────────────────────────────┘ │ ┌─────────┴─────────┐ │ │ ┌───▼────┐ ┌──────▼──────┐ │ XYZ │ │ 传感器阵列 │ │ 机械臂 │ │ 热成像/GSR │ └────────┘ └─────────────┘ ``` ## 目录结构 ``` wuwei/ ├── src/ # 源代码 │ ├── hardware/ # 硬件抽象层 │ │ ├── motion/ # 运动控制 │ │ ├── sensors/ # 传感器接口 │ │ └── simulators/ # 硬件模拟器 │ ├── core/ # 核心功能 │ │ ├── scanner.py # 扫描控制 │ │ ├── analyzer.py # 数据分析 │ │ └── controller.py # 主控制器 │ ├── algorithms/ # 算法模块 │ │ ├── absorption_point.py # 吸收点识别 │ │ ├── thermal_analysis.py # 热成像分析 │ │ └── path_planning.py # 路径规划 │ ├── safety/ # 安全系统 │ ├── ui/ # 用户界面 │ └── utils/ # 工具函数 ├── tests/ # 测试 ├── configs/ # 配置文件 ├── data/ # 数据存储 │ ├── scans/ # 扫描数据 │ ├── models/ # 训练模型 │ └── logs/ # 日志 ├── docs/ # 文档 ├── scripts/ # 脚本工具 ├── requirements.txt # 依赖 └── setup.py # 安装脚本 ``` ## 快速开始 ### 安装依赖 ```bash pip install -r requirements.txt ``` ### 运行模拟器 ```bash # 运行扫描模拟器 python -m src.main --mode simulate --scan # 运行完整系统模拟 python -m src.main --mode simulate --full ``` ### 硬件模式(需要连接实际硬件) ```bash python -m src.main --mode hardware --config configs/hardware_config.yaml ``` ## 技术栈 - **语言**: Python 3.8+ - **运动控制**: GRBL / Marlin - **图像处理**: OpenCV, NumPy, SciPy - **机器学习**: scikit-learn, TensorFlow (可选) - **可视化**: Matplotlib, Plotly - **硬件接口**: PySerial, smbus2, RPi.GPIO - **Web界面**: Flask, SocketIO ## 硬件要求 ### 最小配置(概念验证) - 树莓派 3B+ / 4B - MLX90640 热成像摄像头 - 2-3轴简易运动平台 ### 推荐配置(完整系统) - 树莓派 4B (4GB+) - MLX90640 32x24 热成像阵列 - GSR 皮肤电导传感器 x2 - MLX90614 红外测温 x4 - 3轴龙门架 + 步进电机 + GRBL控制器 - 智能艾条夹具(带高度和角度调节) ## MVP快速开始 (Tremor Detection) ### 最小可行产品:艾灸条抖动检测 MVP专注于使用树莓派Zero 2W + MPU9250传感器实现艾灸条抖动实时检测。 #### 安装 ```bash # 克隆仓库 git clone https://github.com/your-repo/wuwei.git cd wuwei # 安装依赖 pip install -r requirements.txt # 安装包(开发模式) pip install -e . ``` #### 运行模拟器演示 ```bash # 运行10秒模拟(默认配置) python scripts/run_mvp.py # 运行30秒 python scripts/run_mvp.py --duration 30 # 详细输出(每个样本) python scripts/run_mvp.py --verbose ``` **预期输出:** ``` ============================================================ Initializing SIMULATED MPU9250 sensor ============================================================ [SIM] MPU9250 mvp_mpu9250 connected [SIM] Tremor simulation: 5.0Hz, 0.3g amplitude ============================================================ Starting tremor detection (duration: 10.0s) ============================================================ [00092] TREMOR | Mag: 0.453g | Conf: 1.00 | Freq: 5.0Hz [00180] TREMOR | Mag: 0.445g | Conf: 1.00 | Freq: 5.0Hz ============================================================ Detection Statistics ============================================================ Duration: 10.0s Total samples: 1000 Tremor detections: 814 Detection rate: 81.4% Actual sample rate: 100.0Hz ``` #### 配置文件 编辑 `configs/mvp_config.yaml` 可调整: - 采样率(默认100Hz) - 检测阈值(默认0.2g) - 抖动模拟参数(频率、幅度) ```yaml sensor: sample_rate: 100 tremor_detection: threshold: 0.2 # 调低增加灵敏度 filter_cutoff: 1.0 # 高通滤波截止频率 ``` #### 运行测试 ```bash # 运行所有测试 pytest tests/ -v # 仅测试模拟器 pytest tests/test_mpu9250_simulator.py -v # 仅测试检测算法 pytest tests/test_tremor_detection.py -v # 集成测试 pytest tests/integration/ -v ``` **测试覆盖**: 39个测试全部通过 - MPU9250模拟器: 15个测试 - 抖动检测算法: 14个测试 - 端到端集成: 10个测试 #### 硬件模式(可选) 需要真实MPU9250连接到树莓派I2C总线: ```bash # 检测I2C设备 i2cdetect -y 1 # 应该看到0x68或0x69地址 # 运行硬件模式 python scripts/run_mvp.py --mode hardware ``` #### MVP技术栈 - **语言**: Python 3.8+ - **传感器**: MPU9250 (9-DOF IMU) - **信号处理**: scipy (高通滤波、FFT) - **硬件接口**: smbus2 (I2C通信) - **测试**: pytest ## Pico 2W 嵌入式开发 ### 简介 Pico 2W (RP2350) 运行 MicroPython,负责实时 IMU 数据采集和抖动检测。 ### 目录结构 ``` pico/ ├── demos/ # MicroPython 示例代码 │ ├── 00_sysinfo.py # 系统信息 │ ├── 01_i2c_scan.py # I2C 总线扫描 │ ├── 02_mpu9250_basic.py# MPU9250 基础读取 │ ├── 03_sampling_rate.py# 采样率测试 │ ├── 04_tremor_detect.py# 实时抖动检测 │ ├── 05_wifi_test.py # Wi-Fi 连接测试 │ ├── 21_mqtt_telemetry.py# MQTT 遥测 │ ├── 31_tremor_mqtt.py # 抖动检测+MQTT上传 ✨ NEW │ └── ... ├── docs/ # 硬件寄存器文档 └── lib/ # 共享库 ``` ### 快速开始 ```bash # 安装 mpremote (Buildroot) pip install mpremote # 检测设备 mpremote connect list # 运行 demo mpremote run pico/demos/00_sysinfo.py # 上传所有 demo mpremote cp pico/demos/*.py : ``` ### 硬件连接 | Pico 2W | MPU9250 | |-----------|---------| | GPIO4(SDA)| SDA | | GPIO5(SCL)| SCL | | 3.3V | VCC | | GND | GND | ### Buildroot 环境 T153 开发板已预装 mpremote: ```bash # 直接使用 mpremote run your_script.py ``` ## 开发工作流 ### T153 开发机 + AI Coding Agent (peri) ``` ┌─────────────────────────────────────────────────────────┐ │ T153 Buildroot 开发机 │ │ ┌─────────────┐ ┌──────────────┐ ┌────────────┐ │ │ │ peri CLI │───▶│ AI Agent │───▶│ mpremote │ │ │ │ (用户交互) │ │ (代码生成) │ │ (设备通信) │ │ │ └─────────────┘ └──────────────┘ └────────────┘ │ │ │ │ │ ┌──────▼──────┐ │ │ │ Pico 2W │ │ │ │ (RP2350) │ │ │ └─────────────┘ │ └─────────────────────────────────────────────────────────┘ ``` ### 开发步骤 1. **连接 Pico 2W** - 通过 USB 连接 T153 2. **使用 peri** - 通过 AI coding agent 进行自然语言交互 3. **生成代码** - Agent 创建/修改 pico/demos/*.py 文件 4. **烧录测试** - 使用 mpremote 直接运行或上传代码 ```bash # 常用 mpremote 命令 mpremote connect list # 列出可用设备 mpremote run demo.py # 直接运行(不保存) mpremote cp demo.py : # 上传到 Pico Flash mpremote repl # 进入 REPL 交互模式 mpremote reset # 重启 Pico ``` ### peri 使用技巧 - 使用 `/pico-dev` 技能加载 Pico 2W 开发规范 - 使用 `/commit-push` 提交并推送代码 - 描述需求时说明目标(如"实现 WiFi 连接热点") - AI Agent 上下文: 参见 [.claude/CLAUDE.md](.claude/CLAUDE.md) ## 开发路线图 - [x] 项目框架搭建 - [x] 硬件抽象层设计 - [x] 传感器模拟器 - [x] **MVP: 艾灸条抖动检测** ✨ - [x] MPU9250 IMU传感器集成 - [x] 抖动检测算法(高通滤波+阈值) - [x] 完整测试覆盖(39个测试) - [x] 配置化设计 - [ ] 真实硬件验证 - [ ] 基础扫描算法 - [ ] 温度场分析 - [ ] 吸收点识别算法 v0.1 - [ ] 运动控制系统 - [ ] Web可视化界面 - [ ] 安全系统完善 - [ ] 真实硬件集成测试 - [ ] 临床验证 ## 安全警告 ⚠️ **重要**: 本系统涉及人体和热源,必须包含完善的安全机制: - 温度监控和过热保护 - 急停按钮(硬件和软件) - 碰撞检测 - 距离限位 - 实时人工监控 在未经充分测试和安全认证前,**不得用于实际人体施灸**。 ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request! ## 联系方式 项目维护者: [您的联系方式] --- **注意**: 本项目目前处于概念验证阶段,使用模拟器进行开发。真实硬件集成需要专业医疗和工程知识。