一、基础项目

项目一:ESP32-P4 智能人脸识别门禁

一、项目需求
功能需求
  • 人脸识别功能:支持100+人脸库,识别准确率≥95%,识别时间≤1秒
  • 门禁控制:识别成功后触发继电器开门,开门时间可配置(默认5秒)
  • 用户管理:支持通过Web界面添加/删除用户,上传人脸照片
  • 记录查询:保存最近1000条开门记录,支持按时间、用户查询
  • 显示功能:7寸MIPI屏显示实时画面、识别结果、时间日期
  • 网络功能:支持WiFi/以太网连接,支持远程访问Web管理界面
性能需求
  • 系统启动时间≤10秒
  • 人脸识别响应时间≤1秒
  • Web界面响应时间≤2秒
  • 7×24小时稳定运行
二、硬件清单
硬件 型号/规格 数量 备注
核心开发板 ESP32-P4-WIFI6-POE-ETH 1 主控制器
摄像头 OV5647摄像头模组 1 500万像素,MIPI接口
显示屏 7寸MIPI接口触摸屏 1 800×480分辨率
继电器模块 5V继电器模块 1 控制门锁
电源 12V/2A电源适配器 1 系统供电
其他 杜邦线、面包板、外壳 若干 连接和固定
三、技术方案
系统架构
┌─────────────────────────────────────────────────────────┐
│                    Web管理界面                           │
│              (用户管理/记录查询/系统配置)                │
└────────────────────┬────────────────────────────────────┘
                     │ HTTP/WebSocket
┌────────────────────▼────────────────────────────────────┐
│              ESP32-P4 主控制器                          │
│  ┌──────────────┐  ┌──────────────┐  ┌─────────────┐ │
│  │  Web服务器   │  │  人脸识别    │  │  门禁控制   │ │
│  │  (ESP-IDF)  │  │  (MobileNet) │  │  (GPIO/继电器)│ │
│  └──────────────┘  └──────────────┘  └─────────────┘ │
│  ┌──────────────┐  ┌──────────────┐  ┌─────────────┐ │
│  │  显示驱动    │  │  存储管理    │  │  网络管理   │ │
│  │  (LVGL/MIPI) │  │  (SPIFFS)    │  │  (WiFi/ETH) │ │
│  └──────────────┘  └──────────────┘  └─────────────┘ │
└────────────────────┬────────────────────────────────────┘
                     │
        ┌────────────┼────────────┐
        │            │            │
   ┌────▼───┐  ┌───▼────┐  ┌──▼─────┐
   │ 摄像头  │  │ 显示屏  │  │ 继电器  │
   └────────┘  └────────┘  └────────┘
                    
技术栈
  • 开发框架:ESP-IDF v5.1+
  • 显示库:LVGL v8.3+
  • 人脸识别:MobileNetV2轻量级模型,使用ESP-NN加速
  • Web服务器:ESP-IDF内置HTTP服务器
  • 文件系统:SPIFFS
  • 网络协议:HTTP、WebSocket、MQTT(可选)
关键技术实现
  1. 人脸识别实现:
    • 使用ESP32-P4的NPU加速推理
    • 人脸检测:使用MTCNN或Ultra-Light-Fast-Generic-Face-Detector
    • 特征提取:使用MobileNetV2或FaceNet轻量级版本
    • 人脸比对:计算余弦相似度,阈值可配置
  2. 显示界面实现:
    • 使用LVGL创建主界面,包含实时摄像头画面、识别结果、时间日期
    • 实现触摸交互,支持本地配置
    • 优化画面刷新帧率,确保流畅显示
  3. Web管理界面实现:
    • 使用HTML/CSS/JavaScript创建响应式界面
    • 实现用户管理API:添加用户、删除用户、获取用户列表
    • 实现记录查询API:按时间范围查询、按用户查询
    • 实现系统配置API:修改开门时间、识别阈值等
四、代码规范
命名规范
  • 文件名:小写字母+下划线,如 face_recognition.c
  • 函数名:小写字母+下划线,如 fr_detect_face()
  • 变量名:小写字母+下划线,如 face_count
  • 宏定义:大写字母+下划线,如 FR_MAX_FACE_NUM
  • 结构体名:小写字母+下划线+_t,如 face_info_t
注释规范
  • 文件头注释:包含文件名、功能描述、作者、创建日期
  • 函数注释:包含功能描述、参数说明、返回值说明
  • 关键代码注释:解释复杂逻辑的实现思路
代码结构
project/
├── CMakeLists.txt
├── sdkconfig
├── main/
│   ├── CMakeLists.txt
│   ├── main.c                 # 主程序入口
│   ├── face_recognition/      # 人脸识别模块
│   │   ├── face_recognition.c
│   │   ├── face_recognition.h
│   │   └── models/            # 模型文件
│   ├── display/               # 显示模块
│   │   ├── display.c
│   │   ├── display.h
│   │   └── ui/                # LVGL界面
│   ├── web_server/            # Web服务器模块
│   │   ├── web_server.c
│   │   ├── web_server.h
│   │   └── www/               # Web前端文件
│   ├── storage/               # 存储模块
│   │   ├── storage.c
│   │   └── storage.h
│   └── door_control/          # 门禁控制模块
│       ├── door_control.c
│       └── door_control.h
├── components/                # 第三方组件
├── hardware/                  # 硬件相关文件
│   ├── schematic.pdf
│   └── pcb/
└── docs/                      # 文档
    ├── README.md
    ├── user_manual.md
    └── developer_guide.md
                    
五、开发里程碑
  • 人脸识别模块集成、基础识别功能实现
  • LVGL显示界面开发、门禁控制功能实现
  • Web服务器开发、用户管理/记录查询功能实现
  • 系统优化、测试、文档编写
  • 阶段 时间 核心任务 交付物
    阶段一 第1-2周 硬件搭建、ESP-IDF环境配置、基础驱动调试 硬件连接完成、摄像头/显示屏驱动正常
    阶段二 第3-4周 可完成单人人脸识别
    阶段三 第5-6周 完整的本地功能实现
    阶段四 第7-8周 完整的Web管理功能
    阶段五 第9-10周 完整项目、GitHub仓库、文档

    项目二:数控可调电源项目重启

    一、项目需求
    功能需求
    • 电压输出:0-30V可调,步进0.1V,精度±0.05V
    • 电流输出:0-5A可调,步进0.01A,精度±0.01A
    • 恒压/恒流模式:自动切换,支持模式指示
    • 显示功能:SPI屏幕显示输出电压、电流、功率、设定值
    • 控制功能:按键/编码器调节设定值,保存常用预设
    • 保护功能:过压保护、过流保护、过温保护、短路保护
    • 通信功能:可选USB/串口通信,支持PC端控制
    性能需求
    • 电压调整率≤0.1%
    • 负载调整率≤0.2%
    • 纹波噪声≤50mV
    • 响应时间≤100ms
    二、硬件方案

    方案选择:购买成熟开源硬件套件(如ESP32数控电源开源项目),专注于软件开发,避免硬件问题。

    推荐硬件:基于ESP32-S3的数控电源开源套件,包含完整的电源电路、控制电路、显示模块。

    三、技术方案
    系统架构
    ┌─────────────────────────────────────────────────────────┐
    │              ESP32 主控制器                             │
    │  ┌──────────────┐  ┌──────────────┐  ┌─────────────┐ │
    │  │  用户界面    │  │  控制算法    │  │  通信模块   │ │
    │  │  (SPI屏/按键)│  │  (PID控制)   │  │  (USB/串口) │ │
    │  └──────────────┘  └──────────────┘  └─────────────┘ │
    │  ┌──────────────┐  ┌──────────────┐  ┌─────────────┐ │
    │  │  数据采集    │  │  保护逻辑    │  │  存储管理   │ │
    │  │  (ADC)       │  │  (OVP/OCP/OTP)│  │  (NVS)      │ │
    │  └──────────────┘  └──────────────┘  └─────────────┘ │
    └────────────────────┬────────────────────────────────────┘
                         │
            ┌────────────┼────────────┐
            │            │            │
       ┌────▼───┐  ┌───▼────┐  ┌──▼─────┐
       │ DAC/ PWM│  │  ADC    │  │ 保护电路│
       └────┬───┘  └───┬────┘  └────────┘
            │            │
       ┌────▼───┐  ┌───▼────┐
       │ 电源电路 │  │ 电压/电流│
       └────────┘  │  采样电路 │
                   └─────────┘
                        
    技术栈
    • 开发框架:ESP-IDF或Arduino(选择Arduino降低开发难度)
    • 显示库:U8g2或TFT_eSPI(根据屏幕类型选择)
    • 控制算法:PID控制算法
    • 通信协议:Modbus RTU或SCPI(标准仪器控制协议)
    关键技术实现
    1. PID控制实现:
      • 实现电压环和电流环双PID控制
      • 支持PID参数在线调试和保存
      • 实现恒压/恒流模式自动切换
    2. 数据采集与处理:
      • 使用ADC采集电压和电流,实现过采样提高精度
      • 实现数字滤波(滑动平均、卡尔曼滤波)
      • 校准功能:支持零点校准和增益校准
    3. 保护功能实现:
      • 过压保护(OVP):电压超过阈值立即关闭输出
      • 过流保护(OCP):电流超过阈值立即关闭输出
      • 过温保护(OTP):温度超过阈值降功率或关闭输出
      • 短路保护:快速响应,硬件+软件双重保护
    四、代码规范
    代码结构
    project/
    ├── src/
    │   ├── main.cpp                 # 主程序
    │   ├── config.h                 # 配置文件
    │   ├── display/                 # 显示模块
    │   │   ├── display.cpp
    │   │   └── display.h
    │   ├── control/                 # 控制模块
    │   │   ├── pid.cpp
    │   │   ├── pid.h
    │   │   ├── power_control.cpp
    │   │   └── power_control.h
    │   ├── protection/              # 保护模块
    │   │   ├── protection.cpp
    │   │   └── protection.h
    │   ├── communication/           # 通信模块
    │   │   ├── modbus.cpp
    │   │   └── modbus.h
    │   └── storage/                 # 存储模块
    │       ├── storage.cpp
    │       └── storage.h
    ├── lib/                         # 第三方库
    ├── hardware/                    # 硬件文件
    │   ├── schematic.pdf
    │   └── BOM.xlsx
    ├── docs/                        # 文档
    │   ├── README.md
    │   ├── user_manual.md
    │   └── calibration_guide.md
    └── test/                        # 测试代码
        ├── test_adc.cpp
        ├── test_pid.cpp
        └── test_protection.cpp
                        
    五、开发里程碑
  • 数据采集、显示界面开发
  • PID控制实现、电压电流输出控制
  • 保护功能实现、校准功能
  • 系统优化、测试、文档编写
  • 阶段 时间 核心任务 交付物
    阶段一 第1周 硬件准备、开发环境搭建、基础驱动调试 硬件正常工作、基础驱动代码
    阶段二 第2-3周 可显示电压电流、界面完成
    阶段三 第4-5周 可正常输出电压电流
    阶段四 第6-7周 完整的保护功能、校准功能
    阶段五 第8周 完整项目、GitHub仓库、文档

    项目三:STM32+ESP32 汽车仪表原型

    一、项目需求
    功能需求
    • 车速显示:0-200km/h,精度±1km/h
    • 转速显示:0-8000rpm,精度±50rpm
    • 油量显示:0-100%,精度±5%
    • 水温显示:40-120℃,精度±2℃
    • 警告指示:远光、近光、转向灯、安全带、手刹、故障灯等
    • 里程统计:总里程、小计里程,支持小计清零
    • 显示界面:模拟仪表盘+数字显示,支持主题切换
    • 数据模拟:STM32模拟车辆数据,ESP32负责显示和网络功能
    • 可选功能:GPS定位、蓝牙连接手机、音乐控制
    性能需求
    • 显示刷新率≥30fps
    • 数据更新频率≥10Hz
    • 系统启动时间≤5秒
    • 工作温度-20℃~70℃
    二、硬件清单
    硬件 型号/规格 数量 备注
    主控制板 STM32F103C8T6最小系统板 1 数据模拟
    副控制板 ESP32-P4-WIFI6-POE-ETH 1 显示和网络
    显示屏 7寸MIPI接口触摸屏 1 800×480分辨率
    通信模块 CAN总线模块(可选) 1 模拟真实车辆通信
    其他 杜邦线、面包板、电源 若干 连接和供电
    三、技术方案
    系统架构
    ┌─────────────────────────────────────────────────────────┐
    │                    汽车仪表系统                          │
    ├─────────────────────────────────────────────────────────┤
    │  ┌──────────────────────┐      ┌────────────────────┐  │
    │  │   STM32F103         │      │   ESP32-P4         │  │
    │  │   (数据模拟)         │◄────►│   (显示/网络)      │  │
    │  │                      │ UART │                    │  │
    │  │  • 车速模拟         │      │  • LVGL显示        │  │
    │  │  • 转速模拟         │      │  • 界面渲染        │  │
    │  │  • 油量/水温模拟    │      │  • 触摸交互        │  │
    │  │  • CAN模拟(可选)    │      │  • 网络功能(可选)  │  │
    │  └──────────────────────┘      └──────────┬─────────┘  │
    │                                             │            │
    │                                      ┌──────▼──────┐   │
    │                                      │  7寸MIPI屏  │   │
    │                                      └─────────────┘   │
    └─────────────────────────────────────────────────────────┘
                        
    技术栈
    • STM32开发:STM32CubeMX + HAL库
    • ESP32开发:ESP-IDF v5.1+
    • 显示库:LVGL v8.3+
    • 通信协议:UART(双芯片通信)、CAN(可选)
    • 定位模块:GPS/NMEA(可选)
    关键技术实现
    1. STM32数据模拟:
      • 使用定时器生成PWM模拟车速和转速信号
      • 使用DAC模拟油量和水温传感器信号
      • 实现按键控制模拟数据增减
      • 通过UART将模拟数据发送给ESP32
    2. LVGL仪表盘界面:
      • 使用LVGL创建模拟仪表盘:速度表、转速表、油量表、水温表
      • 实现指针动画,确保平滑流畅
      • 创建警告指示灯区域
      • 实现主题切换功能:经典主题、运动主题、简约主题
    3. 双芯片通信:
      • 定义通信协议:帧头、数据类型、数据长度、校验和
      • 实现数据发送和接收函数
      • 实现数据解析和错误处理
      • 可选:实现CAN总线通信,模拟真实车辆通信
    四、代码规范
    代码结构
    project/
    ├── stm32/                       # STM32代码
    │   ├── Core/
    │   │   ├── Src/
    │   │   │   ├── main.c
    │   │   │   ├── data_sim.c       # 数据模拟
    │   │   │   └── communication.c  # 通信
    │   │   └── Inc/
    │   │       ├── data_sim.h
    │   │       └── communication.h
    │   └── STM32CubeMX/
    ├── esp32/                       # ESP32代码
    │   ├── main/
    │   │   ├── main.c
    │   │   ├── display/             # 显示模块
    │   │   │   ├── display.c
    │   │   │   ├── display.h
    │   │   │   └── ui/              # LVGL界面
    │   │   │       ├── dashboard.c
    │   │   │       ├── themes.c
    │   │   │       └── widgets.c
    │   │   ├── communication/       # 通信模块
    │   │   │   ├── communication.c
    │   │   │   └── communication.h
    │   │   └── storage/             # 存储模块
    │   │       ├── storage.c
    │   │       └── storage.h
    │   └── CMakeLists.txt
    ├── docs/                        # 文档
    │   ├── README.md
    │   ├── protocol.md              # 通信协议文档
    │   └── ui_design.md             # UI设计文档
    └── hardware/                    # 硬件文件
        ├── schematic.pdf
        └── connection_diagram.png
                        
    五、开发里程碑
  • STM32数据模拟实现、通信协议定义
  • LVGL仪表盘界面开发、基础显示功能
  • 动画优化、主题切换、警告指示功能
  • 系统优化、测试、文档编写
  • 阶段 时间 核心任务 交付物
    阶段一 第1周 硬件搭建、开发环境搭建、双芯片通信基础 硬件连接完成、双芯片可通信
    阶段二 第2-3周 STM32可模拟车辆数据并发送
    阶段三 第4-5周 完整的仪表盘界面、可显示数据
    阶段四 第6-7周 完整的显示功能、流畅的动画
    阶段五 第8周 完整项目、GitHub仓库、文档

    二、进阶项目

    项目四:基于ESP32-P4的边缘计算网关

    一、项目需求
    功能需求
    • 多协议接入:支持Modbus RTU/TCP、西门子S7、MQTT、HTTP等协议
    • 数据采集:支持同时采集10+个设备数据,采集频率可配置
    • 数据预处理:支持数据过滤、格式转换、边缘计算
    • 数据存储:本地存储(SQLite)+ 云端同步(可选)
    • 规则引擎:支持简单的规则配置和自动控制
    • Web管理:支持设备管理、数据查看、规则配置
    • 网络功能:支持WiFi/以太网/4G(可选),支持断线重连
    性能需求
    • 数据采集延迟≤100ms
    • 支持同时连接20+个设备
    • 本地数据存储容量≥30天
    • 系统启动时间≤15秒
    • 7×24小时稳定运行
    二、硬件清单
    硬件 型号/规格 数量 备注
    核心开发板 ESP32-P4-WIFI6-POE-ETH 1 主控制器
    串口模块 RS485模块 2 Modbus RTU通信
    存储 Micro SD卡(32GB+) 1 数据存储
    显示屏 7寸MIPI接口触摸屏(可选) 1 本地显示
    其他 杜邦线、外壳、电源 若干 连接和供电
    三、技术方案
    系统架构
    ┌─────────────────────────────────────────────────────────┐
    │                    云端平台(可选)                       │
    │              (MQTT Broker / 数据可视化)                  │
    └────────────────────┬────────────────────────────────────┘
                         │ MQTT/HTTP
    ┌────────────────────▼────────────────────────────────────┐
    │              ESP32-P4 边缘计算网关                       │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              协议适配层                            │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ Modbus   │ │ S7       │ │ MQTT     │        │  │
    │  │  │ RTU/TCP  │ │ 协议     │ │ 客户端   │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              数据处理层                            │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 数据采集 │ │ 数据预处理│ │ 规则引擎 │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              数据存储层                            │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ SQLite   │ │  SD卡    │ │ 云端同步 │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              Web管理界面                           │  │
    │  │  (设备管理 / 数据查看 / 规则配置)                  │  │
    │  └───────────────────────────────────────────────────┘  │
    └────────────────────┬────────────────────────────────────┘
                         │
            ┌────────────┼────────────┐
            │            │            │
       ┌────▼───┐  ┌───▼────┐  ┌──▼─────┐
       │ Modbus  │  │ S7设备  │  │ 其他设备│
       │ 设备    │  │        │  │        │
       └────────┘  └────────┘  └────────┘
                        
    技术栈
    • 开发框架:ESP-IDF v5.1+
    • 数据库:SQLite3
    • Web服务器:ESP-IDF HTTP服务器 + 前端框架(Vue.js/React)
    • 通信协议:Modbus RTU/TCP、S7、MQTT、HTTP
    • 文件系统:SPIFFS + FATFS(SD卡)
    • 显示库:LVGL v8.3+(可选)
    关键技术实现
    1. 多协议接入实现:
      • Modbus RTU/TCP:使用libmodbus库或自行实现
      • S7协议:使用Snap7库或ESP32适配版本
      • MQTT:使用ESP-IDF内置MQTT客户端
      • 实现设备管理:支持添加、删除、配置设备
    2. 数据处理与规则引擎:
      • 实现数据采集调度器:支持多设备并行采集
      • 数据预处理:数据过滤、格式转换、异常检测
      • 规则引擎:支持简单的条件判断和自动控制
      • 实现数据缓存和批量上传,降低网络负载
    3. 数据存储与Web管理:
      • SQLite数据库:存储设备配置、采集数据、规则配置
      • SD卡存储:大容量数据存储,支持数据导出
      • Web管理界面:设备管理、数据可视化、规则配置
      • 实现用户认证和权限管理
    四、代码规范
    代码结构
    project/
    ├── CMakeLists.txt
    ├── sdkconfig
    ├── main/
    │   ├── CMakeLists.txt
    │   ├── main.c
    │   ├── protocols/               # 协议模块
    │   │   ├── modbus/
    │   │   │   ├── modbus.c
    │   │   │   └── modbus.h
    │   │   ├── s7/
    │   │   │   ├── s7.c
    │   │   │   └── s7.h
    │   │   └── mqtt/
    │   │       ├── mqtt_client.c
    │   │       └── mqtt_client.h
    │   ├── data_processing/         # 数据处理模块
    │   │   ├── data_collector.c
    │   │   ├── data_collector.h
    │   │   ├── data_filter.c
    │   │   ├── data_filter.h
    │   │   ├── rule_engine.c
    │   │   └── rule_engine.h
    │   ├── storage/                 # 存储模块
    │   │   ├── sqlite3/
    │   │   │   ├── sqlite3.c
    │   │   │   └── sqlite3.h
    │   │   ├── sd_card.c
    │   │   └── sd_card.h
    │   ├── web_server/              # Web服务器模块
    │   │   ├── web_server.c
    │   │   ├── web_server.h
    │   │   ├── api/
    │   │   │   ├── device_api.c
    │   │   │   ├── data_api.c
    │   │   │   └── rule_api.c
    │   │   └── www/                 # Web前端
    │   │       ├── index.html
    │   │       ├── css/
    │   │       └── js/
    │   └── display/                 # 显示模块(可选)
    │       ├── display.c
    │       └── display.h
    ├── components/
    │   ├── libmodbus/
    │   ├── sqlite3/
    │   └── lvgl/
    ├── hardware/
    │   ├── schematic.pdf
    │   └── enclosure/
    └── docs/
        ├── README.md
        ├── user_manual.md
        ├── protocol_definition.md
        └── api_reference.md
                        
    五、开发里程碑
  • Modbus/S7协议实现、基础数据采集
  • 数据预处理、规则引擎、数据存储
  • Web管理界面开发、设备管理/数据查看
  • 系统优化、测试、文档编写
  • 阶段 时间 核心任务 交付物
    阶段一 第1-2周 硬件搭建、开发环境搭建、基础驱动调试 硬件连接完成、SD卡/SQLite基础功能
    阶段二 第3-4周 可采集Modbus/S7设备数据
    阶段三 第5-6周 完整的数据处理和存储功能
    阶段四 第7-8周 完整的Web管理功能
    阶段五 第9-10周 完整项目、GitHub仓库、文档

    项目五:香橙派3B 医疗数据采集终端

    一、项目需求
    功能需求
    • 生理信号采集:支持心电(ECG)、血氧(SpO2)、血压、体温等信号采集
    • 数据显示:实时波形显示、数值显示、趋势图显示
    • 数据存储:本地存储(SQLite)+ 云端同步(可选)
    • 数据分析:心率计算、血氧计算、异常检测
    • 报警功能:参数超限报警、设备异常报警
    • 用户管理:多用户支持,用户数据隔离
    • 数据导出:支持PDF/Excel格式报告导出
    • 通信功能:WiFi/以太网,支持远程数据查看
    性能需求
    • 信号采样率:ECG ≥ 250Hz,SpO2 ≥ 100Hz
    • 数据显示延迟≤100ms
    • 心率计算误差≤±2bpm
    • 血氧计算误差≤±2%
    • 系统启动时间≤20秒
    • 7×24小时稳定运行
    二、硬件清单
    硬件 型号/规格 数量 备注
    核心开发板 香橙派3B 1 主控制器
    生理信号传感器 ECG模块、SpO2模块、血压模块、体温模块 各1 可使用现成的医疗传感器模块
    显示屏 7寸MIPI接口触摸屏 1 1024×600分辨率
    存储 Micro SD卡(64GB+) 1 数据存储
    其他 杜邦线、外壳、电源、电极片、血氧探头 若干 连接和供电
    三、技术方案
    系统架构
    ┌─────────────────────────────────────────────────────────┐
    │                    云端平台(可选)                       │
    │              (医疗数据平台 / 远程监控)                    │
    └────────────────────┬────────────────────────────────────┘
                         │ HTTPS/MQTT
    ┌────────────────────▼────────────────────────────────────┐
    │              香橙派3B 医疗数据采集终端                    │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              信号采集层                            │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ ECG      │ │ SpO2     │ │ 血压/体温│        │  │
    │  │  │ 采集     │ │ 采集     │ │ 采集     │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              信号处理层                            │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 信号滤波 │ │ 特征提取 │ │ 异常检测 │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              应用层                                │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 数据显示 │ │ 数据分析 │ │ 报警管理 │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 用户管理 │ │ 数据存储 │ │ 数据导出 │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    └────────────────────┬────────────────────────────────────┘
                         │
            ┌────────────┼────────────┐
            │            │            │
       ┌────▼───┐  ┌───▼────┐  ┌──▼─────┐
       │ ECG传感器│  │SpO2传感器│  │ 其他传感器│
       └────────┘  └────────┘  └────────┘
                        
    技术栈
    • 操作系统:Ubuntu/Debian(香橙派官方系统)
    • 编程语言:C/C++(信号处理)、Python(应用层)
    • GUI框架:PyQt5或LVGL(Python绑定)
    • 数据库:SQLite3
    • 信号处理:SciPy、NumPy(Python)
    • Web框架:Flask/FastAPI(远程数据查看)
    • 通信协议:HTTPS、MQTT
    关键技术实现
    1. 生理信号采集与处理:
      • ECG信号采集:使用ADC或专用ECG模块,采样率≥250Hz
      • SpO2信号采集:使用专用SpO2模块,采样率≥100Hz
      • 信号滤波:使用数字滤波器(低通、高通、陷波)去除噪声
      • 特征提取:QRS波检测、心率计算、血氧计算
    2. 数据显示与报警:
      • 实时波形显示:使用PyQtGraph或Matplotlib
      • 数值显示:心率、血氧、血压、体温等参数实时显示
      • 趋势图显示:历史数据趋势图
      • 报警功能:参数超限报警、设备异常报警,支持声音/视觉报警
    3. 数据存储与管理:
      • SQLite数据库:存储用户信息、采集数据、报警记录
      • 数据隔离:多用户支持,用户数据完全隔离
      • 数据导出:支持PDF/Excel格式报告导出
      • 云端同步:支持HTTPS/MQTT协议上传数据到云端
    四、代码规范
    代码结构
    project/
    ├── src/
    │   ├── main.py                 # 主程序入口
    │   ├── config.py                # 配置文件
    │   ├── signal_acquisition/      # 信号采集模块
    │   │   ├── ecg.py
    │   │   ├── spo2.py
    │   │   ├── blood_pressure.py
    │   │   └── temperature.py
    │   ├── signal_processing/       # 信号处理模块
    │   │   ├── filters.py
    │   │   ├── feature_extraction.py
    │   │   └── anomaly_detection.py
    │   ├── gui/                     # GUI模块
    │   │   ├── main_window.py
    │   │   ├── waveform_display.py
    │   │   ├── parameter_display.py
    │   │   └── alarm_dialog.py
    │   ├── data_management/         # 数据管理模块
    │   │   ├── database.py
    │   │   ├── user_management.py
    │   │   ├── data_export.py
    │   │   └── cloud_sync.py
    │   └── web_server/              # Web服务器模块(可选)
    │       ├── app.py
    │       ├── routes/
    │       │   ├── data.py
    │       │   └── user.py
    │       └── templates/
    ├── hardware/
    │   ├── schematic.pdf
    │   ├── sensor_datasheets/
    │   └── enclosure/
    ├── docs/
    │   ├── README.md
    │   ├── user_manual.md
    │   ├── signal_processing_algorithm.md
    │   └── api_reference.md
    ├── tests/
    │   ├── test_ecg.py
    │   ├── test_signal_processing.py
    │   └── test_database.py
    └── requirements.txt
                        
    五、开发里程碑
  • 信号处理算法实现、基础数据分析
  • GUI界面开发、数据显示、报警功能
  • 数据管理、用户管理、数据导出
  • 系统优化、测试、文档编写
  • 阶段 时间 核心任务 交付物
    阶段一 第1-2周 硬件搭建、系统环境配置、传感器驱动调试 硬件连接完成、传感器数据可读取
    阶段二 第3-4周 可完成心率、血氧计算
    阶段三 第5-6周 完整的显示和报警功能
    阶段四 第7-8周 完整的数据管理功能
    阶段五 第9-10周 完整项目、GitHub仓库、文档

    项目六:香橙派3B 智能车机中控原型

    一、项目需求
    功能需求
    • 车辆信息显示:车速、转速、油量、水温、里程等车辆信息显示
    • 导航功能:GPS定位、地图显示、路径规划、语音导航
    • 多媒体功能:音乐播放、视频播放、蓝牙连接手机
    • 倒车影像:倒车时自动切换倒车影像,辅助线显示
    • 辅助驾驶:车道偏离预警、前车碰撞预警(基于视觉)
    • 语音交互:语音控制、语音助手
    • 网络功能:WiFi/4G,在线音乐、在线地图、OTA升级
    • 车辆控制:空调控制、车窗控制(可选,需要车辆支持)
    性能需求
    • 系统启动时间≤15秒
    • 导航定位精度≤5米
    • 语音识别准确率≥90%
    • 辅助驾驶响应时间≤200ms
    • 显示刷新率≥30fps
    • 工作温度-20℃~70℃
    二、硬件清单
    硬件 型号/规格 数量 备注
    核心开发板 香橙派3B 1 主控制器
    显示屏 7寸MIPI接口触摸屏 1 1024×600分辨率
    摄像头 OV5647摄像头模组(前视+后视) 2 前视用于辅助驾驶,后视用于倒车影像
    GPS模块 GPS/北斗模块 1 定位导航
    通信模块 4G模块(可选) 1 网络连接
    音频模块 USB声卡+麦克风+扬声器 1套 语音交互、多媒体
    存储 Micro SD卡(64GB+) 1 系统、地图、媒体存储
    其他 杜邦线、外壳、电源、CAN模块(可选) 若干 连接和供电
    三、技术方案
    系统架构
    ┌─────────────────────────────────────────────────────────┐
    │                    云端服务(可选)                       │
    │              (在线地图 / 在线音乐 / OTA)                 │
    └────────────────────┬────────────────────────────────────┘
                         │ 4G/WiFi
    ┌────────────────────▼────────────────────────────────────┐
    │              香橙派3B 智能车机中控                       │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              感知层                                │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ GPS定位  │ │ 前视摄像头│ │ 后视摄像头│        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ CAN总线  │ │ 麦克风   │ │ 车辆传感器│        │  │
    │  │  │ (可选)   │ │          │ │ (可选)   │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              服务层                                │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 导航服务 │ │ 语音服务 │ │ 多媒体服务│        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 辅助驾驶 │ │ 车辆通信 │ │ OTA升级  │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              应用层                                │  │
    │  │  ┌─────────────────────────────────────────────┐  │  │
    │  │  │              车机UI界面                       │  │  │
    │  │  │  (仪表 / 导航 / 多媒体 / 设置)               │  │  │
    │  │  └─────────────────────────────────────────────┘  │  │
    │  └───────────────────────────────────────────────────┘  │
    └────────────────────┬────────────────────────────────────┘
                         │
            ┌────────────┼────────────┐
            │            │            │
       ┌────▼───┐  ┌───▼────┐  ┌──▼─────┐
       │ 显示屏  │  │ 扬声器  │  │ 车辆CAN │
       └────────┘  └────────┘  │  总线    │
                                  └─────────┘
                        
    技术栈
    • 操作系统:Ubuntu/Debian(香橙派官方系统)或Android(可选)
    • 编程语言:C/C++(性能关键部分)、Python(应用层)
    • GUI框架:Qt5/Qt6或Flutter
    • 导航地图:OSM(OpenStreetMap)或高德/百度地图SDK
    • 计算机视觉:OpenCV、轻量级目标检测模型(YOLOv5nano)
    • 语音识别:PocketSphinx或百度/讯飞语音SDK
    • 多媒体:GStreamer或FFmpeg
    • 通信协议:CAN总线(可选)、MQTT(可选)
    关键技术实现
    1. 导航与定位:
      • GPS/北斗定位:使用NMEA协议解析定位数据
      • 地图显示:使用OSM或在线地图SDK
      • 路径规划:使用OSRM或在线地图路径规划API
      • 语音导航:TTS(文本转语音)实现导航语音播报
    2. 辅助驾驶与倒车影像:
      • 车道偏离预警:使用OpenCV进行车道线检测
      • 前车碰撞预警:使用轻量级YOLO模型进行车辆检测
      • 倒车影像:倒车时自动切换后视摄像头画面
      • 辅助线显示:动态倒车辅助线绘制
    3. 车机UI与多媒体:
      • 车机界面:使用Qt/Flutter创建车机UI,支持主题切换
      • 车辆信息显示:车速、转速、油量、水温等仪表显示
      • 多媒体播放:音乐播放、视频播放,支持蓝牙连接手机
      • 语音交互:语音识别、语音控制、语音助手
    四、代码规范
    代码结构
    project/
    ├── src/
    │   ├── main.py                 # 主程序入口
    │   ├── config.py                # 配置文件
    │   ├── perception/              # 感知层模块
    │   │   ├── gps/
    │   │   │   ├── gps.py
    │   │   │   └── nmea_parser.py
    │   │   ├── camera/
    │   │   │   ├── front_camera.py
    │   │   │   └── rear_camera.py
    │   │   ├── can_bus/
    │   │   │   ├── can_bus.py
    │   │   │   └── vehicle_data.py
    │   │   └── microphone/
    │   │       └── microphone.py
    │   ├── services/                # 服务层模块
    │   │   ├── navigation/
    │   │   │   ├── map_display.py
    │   │   │   ├── path_planning.py
    │   │   │   └── voice_navigation.py
    │   │   ├── voice/
    │   │   │   ├── speech_recognition.py
    │   │   │   ├── tts.py
    │   │   │   └── voice_assistant.py
    │   │   ├── multimedia/
    │   │   │   ├── music_player.py
    │   │   │   ├── video_player.py
    │   │   │   └── bluetooth.py
    │   │   ├── adas/
    │   │   │   ├── lane_detection.py
    │   │   │   ├── vehicle_detection.py
    │   │   │   └── collision_warning.py
    │   │   └── ota/
    │   │       └── ota_update.py
    │   ├── ui/                      # UI层模块
    │   │   ├── main_window.py
    │   │   ├── dashboard/
    │   │   │   ├── speedometer.py
    │   │   │   ├── tachometer.py
    │   │   │   └── vehicle_info.py
    │   │   ├── navigation/
    │   │   │   ├── map_widget.py
    │   │   │   └── search_widget.py
    │   │   ├── multimedia/
    │   │   │   ├── music_widget.py
    │   │   │   └── video_widget.py
    │   │   ├── settings/
    │   │   │   └── settings_widget.py
    │   │   └── reverse_camera/
    │   │       └── reverse_widget.py
    │   └── utils/                   # 工具模块
    │       ├── logger.py
    │       ├── database.py
    │       └── network.py
    ├── hardware/
    │   ├── schematic.pdf
    │   ├── can_bus_spec.md
    │   └── enclosure/
    ├── models/
    │   ├── yolov5nano/
    │   └── lane_detection/
    ├── maps/
    │   └── (地图数据)
    ├── docs/
    │   ├── README.md
    │   ├── user_manual.md
    │   ├── api_reference.md
    │   └── can_bus_protocol.md
    ├── tests/
    │   ├── test_gps.py
    │   ├── test_adas.py
    │   └── test_ui.py
    └── requirements.txt
                        
    五、开发里程碑
  • 车机UI基础框架、车辆信息显示
  • 导航功能、多媒体功能实现
  • 辅助驾驶、倒车影像、语音交互
  • 系统优化、测试、文档编写
  • 阶段 时间 核心任务 交付物
    阶段一 第1-2周 硬件搭建、系统环境配置、基础驱动调试 硬件连接完成、摄像头/GPS驱动正常
    阶段二 第3-4周 基础车机界面、可显示车辆信息
    阶段三 第5-6周 完整的导航和多媒体功能
    阶段四 第7-8周 完整的辅助驾驶和语音交互功能
    阶段五 第9-10周 完整项目、GitHub仓库、文档

    三、高级项目

    项目七:基于边缘计算的AIoT全屋智能系统

    一、项目需求
    功能需求
    • 多设备接入:支持智能灯、智能插座、智能窗帘、智能门锁、温湿度传感器等多种设备
    • 设备控制:本地控制、远程控制、定时控制、场景联动
    • 语音控制:本地语音控制、语音助手集成
    • 边缘AI:人脸识别门禁、人体检测、行为分析
    • 数据采集:环境数据采集、能耗数据采集、设备状态采集
    • 数据分析:能耗分析、环境分析、用户行为分析
    • 自动化:基于规则的自动化、基于AI的智能自动化
    • 安全:设备认证、数据加密、本地优先(断网可用)
    性能需求
    • 设备控制响应时间≤500ms
    • 支持同时接入50+个设备
    • 人脸识别准确率≥95%,识别时间≤1秒
    • 系统启动时间≤20秒
    • 7×24小时稳定运行
    • 断网情况下本地功能完全可用
    二、技术方案(概要)
    系统架构
    ┌─────────────────────────────────────────────────────────┐
    │                    云端平台(可选)                       │
    │              (远程控制 / 数据同步 / AI服务)              │
    └────────────────────┬────────────────────────────────────┘
                         │ MQTT/HTTPS
    ┌────────────────────▼────────────────────────────────────┐
    │              香橙派3B 智能家居边缘网关                    │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              设备接入层                            │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ WiFi设备 │ │ Zigbee   │ │ Bluetooth│        │  │
    │  │  │         │ │ 设备     │ │ 设备     │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              边缘AI层                              │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 人脸识别 │ │ 人体检测 │ │ 行为分析 │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              服务层                                │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 设备管理 │ │ 自动化引擎│ │ 语音服务 │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 数据采集 │ │ 数据分析 │ │ 安全管理 │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              应用层                                │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ Web界面  │ │ 移动端APP│ │ 本地UI   │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    └────────────────────┬────────────────────────────────────┘
                         │
            ┌────────────┼────────────┐
            │            │            │
       ┌────▼───┐  ┌───▼────┐  ┌──▼─────┐
       │ 智能设备 │  │ 传感器  │  │ 摄像头  │
       └────────┘  └────────┘  └────────┘
                        
    技术栈
    • 操作系统:Ubuntu/Debian(香橙派官方系统)或Home Assistant OS
    • 智能家居框架:Home Assistant(可选,作为基础)
    • 编程语言:Python(应用层)、C/C++(性能关键部分)
    • 设备通信:WiFi、Zigbee、Bluetooth、MQTT
    • 边缘AI:OpenCV、MediaPipe、轻量级模型
    • Web框架:FastAPI或Flask
    • 前端框架:Vue.js或React
    • 数据库:SQLite3、InfluxDB(时序数据)
    三、开发里程碑
  • 设备管理、数据采集、基础UI
  • 边缘AI功能、自动化引擎
  • 语音控制、数据分析、安全功能
  • 系统优化、测试、文档编写
  • 阶段 时间 核心任务 交付物
    阶段一 第1-2周 系统架构设计、基础框架搭建、设备接入基础 系统框架、基础设备接入功能
    阶段二 第3-4周 完整的设备管理和数据采集功能
    阶段三 第5-6周 人脸识别、人体检测、自动化功能
    阶段四 第7-8周 完整的语音控制和数据分析功能
    阶段五 第9-10周 完整项目、GitHub仓库、文档

    项目八:车规级汽车域控制器原型

    一、项目需求
    功能需求
    • 多域融合:集成车身域、动力域、座舱域、辅助驾驶域功能
    • 车载通信:支持CAN/CAN FD、Ethernet、LIN等车载通信协议
    • 功能安全:符合ISO 26262 ASIL-B/D等级要求(概念验证)
    • 实时性:硬实时操作系统,任务调度延迟≤1ms
    • 辅助驾驶:车道保持、自适应巡航、自动泊车辅助
    • 座舱功能:仪表显示、信息娱乐、语音交互
    • OTA升级:支持安全的固件OTA升级
    • 网络安全:车载网络安全、入侵检测、安全启动
    性能需求
    • 系统启动时间≤10秒(快速启动)
    • 任务调度延迟≤1ms(硬实时)
    • 辅助驾驶响应时间≤100ms
    • CAN总线通信延迟≤100μs
    • 功能安全:符合ISO 26262概念验证
    • 工作温度-40℃~85℃(概念验证)
    二、技术方案(概要)
    系统架构
    ┌─────────────────────────────────────────────────────────┐
    │              车规级汽车域控制器                          │
    ├─────────────────────────────────────────────────────────┤
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              硬件层                                │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 主MCU   │ │ 安全MCU  │ │ 通信芯片 │        │  │
    │  │  │ (高性能) │ │ (安全岛) │ │ (CAN/ETH)│        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 传感器  │ │ 执行器  │ │ 存储/电源│        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              系统软件层                            │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 硬实时OS │ │ 安全OS  │ │ 虚拟机管理│        │  │
    │  │  │ (RTOS)   │ │ (安全岛) │ │ (Hypervisor)│        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    │  ┌───────────────────────────────────────────────────┐  │
    │  │              功能服务层                            │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 车身域   │ │ 动力域   │ │ 座舱域   │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  │  ┌──────────┐ ┌──────────┐ ┌──────────┐        │  │
    │  │  │ 辅助驾驶 │ │ 网络安全 │ │ OTA升级  │        │  │
    │  │  └──────────┘ └──────────┘ └──────────┘        │  │
    │  └───────────────────────────────────────────────────┘  │
    └─────────────────────────────────────────────────────────┘
                         │
            ┌────────────┼────────────┐
            │            │            │
       ┌────▼───┐  ┌───▼────┐  ┌──▼─────┐
       │ CAN总线  │  │ 以太网  │  │ 传感器/ │
       │ 网络    │  │ 网络    │  │ 执行器  │
       └────────┘  └────────┘  └─────────┘
                        
    技术栈
    • 硬件平台:NXP S32G399或德州仪器TDA4VM(概念验证可用开发板)
    • 实时操作系统:FreeRTOS、Zephyr或AUTOSAR OS
    • 汽车框架:AUTOSAR Classic/Adaptive(概念验证)
    • 编程语言:C/C++(符合MISRA C规范)
    • 车载通信:CAN/CAN FD、Ethernet SOME/IP、LIN
    • 功能安全:ISO 26262概念验证、安全机制
    • 辅助驾驶:OpenCV、轻量级感知模型
    三、开发里程碑
  • 车载通信实现、基础功能
  • 座舱功能、仪表显示
  • 辅助驾驶功能、安全机制
  • 系统优化、测试、文档编写
  • 阶段 时间 核心任务 交付物
    阶段一 第1-2周 硬件平台搭建、RTOS移植、基础驱动 硬件平台、RTOS运行、基础驱动
    阶段二 第3-4周 CAN/CAN FD通信、基础车身功能
    阶段三 第5-6周 完整的座舱和仪表功能
    阶段四 第7-8周 基础辅助驾驶功能、安全机制概念验证
    阶段五 第9-10周 完整项目、GitHub仓库、文档