08 / 2026 / 已完成

工业级多通道数据采集与嵌入式控制终端

面向工业采集与控制场景的团队项目,涉及 GD32F470、PT100、0–10V、4–20mA 与 RS485。

工业级多通道数据采集与嵌入式控制终端

问题

如何围绕多通道工业信号采集与嵌入式终端,完成板卡制作、技术材料整理和展示答辩准备?

角色

Team Member;个人贡献为 PCB 布局布线、板卡焊接制作、设计报告撰写、答辩 PPT 和技术材料整理。

方法

围绕 GD32F470 控制终端整理 PT100、0–10V、4–20mA、RS485 等工业信号接口与板卡实现材料。

结果

2026 CIMC“西门子杯”中国智能制造挑战赛全国总决赛特等奖。页面仅记录本人明确承担的硬件制作与技术材料工作,不扩写团队其他成员的软件功能。

RA6M5 茶叶病害智能识别网站

这是一个面向 RA6M5/Linux 边缘设备部署的茶叶病害识别网站。项目使用 Flask 提供 Web 页面与接口,使用 PyTorch CNN 模型完成图片分类,并可从 /dev/video0 读取 USB 摄像头画面进行实时识别;同时提供基于 DashScope 的农业知识问答页面。

主要功能

  • 上传茶叶图片并返回病害类别、置信度和推理耗时
  • USB 摄像头实时视频流与逐帧分类
  • 支持 8 类茶叶叶片状态识别
  • 浏览器端展示识别结果、运行状态和实时 FPS
  • 可选DeepSeek智能问答,需要接入API
  • 保留项目中的 Ultralytics、示例和测试代码,便于继续扩展目标检测功能

项目结构

web5_RA6M5/
├── app2.py                  # RA6M5 网站主入口
├── app.py                   # 历史 YOLO 检测入口
├── app1.py                  # 历史图片分类入口
├── requirements.txt         # Python 依赖
├── templates/               # Flask 页面模板
├── static/                  # CSS、JavaScript、图片及模型资源
├── tea/
│   ├── model.py             # CNN 网络定义
│   ├── class_indices.json   # 类别映射
│   └── CNN1.pth             # 当前分类模型权重
├── ultralytics/             # 项目内保留的 Ultralytics 源码
├── examples/                # 推理示例
├── docs/                    # 相关文档
└── tests/                   # 测试代码

训练数据集体积较大,不包含在 GitHub 仓库中:

tea/data/
tea/picture/

环境要求

  • Python 3.9 或更高版本
  • Linux、WSL 或 RA6M5 Linux 系统
  • USB 摄像头(实时识别功能需要)
  • PyTorch 与 Torchvision

在 ARM/RA6M5 平台上,建议先安装与设备架构和系统版本匹配的 PyTorch、Torchvision 软件包,再安装其余依赖。

安装依赖

python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

Windows PowerShell 激活虚拟环境时使用:

.\.venv\Scripts\Activate.ps1

配置智能问答

智能问答使用环境变量读取 DashScope 配置,不要把真实密钥写入代码或提交到 GitHub。

Linux:

export DASHSCOPE_APP_ID="your-app-id"
export DASHSCOPE_API_KEY="your-api-key"

Windows PowerShell:

$env:DASHSCOPE_APP_ID="your-app-id"
$env:DASHSCOPE_API_KEY="your-api-key"

未配置上述变量时,图片和摄像头识别仍可使用,但智能问答接口不可用。

启动网站

请在项目根目录执行:

python app2.py

浏览器访问:

http://127.0.0.1:5000

局域网中的其他设备可通过 RA6M5 主机 IP 访问:

http://<RA6M5-IP>:5000

USB 摄像头

当前摄像头设备固定为:

/dev/video0

启动前可检查设备:

ls -l /dev/video0

如果当前用户没有摄像头权限,可将用户加入 video 组,重新登录后再运行:

sudo usermod -aG video "$USER"

网站中的“开启识别”和“关闭识别”按钮分别控制摄像头采集。模型首次启动时会加载 tea/CNN1.pth,耗时取决于设备性能。

主要接口

接口 方法 功能
/ GET 图片识别首页
/predict POST 接收 image 文件并返回分类结果
/produce GET USB 摄像头实时识别页面
/camera/control POST 开启或关闭摄像头
/camera/feed GET MJPEG 实时视频流
/camera/latest_result GET 获取最新识别结果
/aichat GET 智能问答页面
/chat POST 调用 DashScope 应用

类别说明

当前模型包含以下 8 类:健康茶叶、灰色光、炭疽病、白斑病、红叶斑点病、藻类叶片、褐枯病和鸟眼斑点。实际类别名称以 tea/class_indices.json 为准。

注意事项

  • app2.py 是本项目面向 RA6M5 的当前入口。
  • 项目默认以 Flask 调试服务器启动,仅适合开发和局域网演示。
  • 摄像头路径、模型路径及结果目录目前在代码中配置,运行时请从项目根目录启动。
  • 不要公开 DashScope 密钥、设备凭据或用户上传的图片。
  • 模型效果取决于训练数据、拍摄光照、背景与叶片清晰度,不应将识别结果直接作为农业用药依据。

License

本仓库包含第三方组件及模型相关文件。公开使用、修改或再发布前,请分别确认其来源与许可证;在许可证未明确前,默认保留所有权利。