yukong/PROJECT.MD

2.2 KiB
Raw Permalink Blame History

项目分析报告 (PROJECT.MD)

1. 项目概述

本项目旨在构建一个管理大疆机场DJI Dock及大疆行业无人机的平台。当前目录包含官方提供的“上云 API” (Cloud API) 前后端 Demo采用前后端分离架构。

2. 目录结构

  • Cloud-API/: 后端服务代码。
  • Cloud-API-Web/: 前端 Web 应用代码。

3. 技术栈详细分析

3.1 后端 (Cloud-API)

  • 开发语言: Java (必须 JDK 11+)。
  • 核心框架: Spring Boot 2.7.12。
  • 构建工具: Maven。
  • 模块结构:
    • cloud-sdk: 封装与大疆设备交互的核心 SDK 逻辑。
    • sample: 业务逻辑实现示例。
  • 关键依赖:
    • spring-integration-mqtt: 用于 MQTT 协议通信(设备控制与状态上报的核心)。
    • MySQL Connector (隐含): 用于数据持久化。
  • 数据存储:
    • MySQL: 关系型数据库 (版本 8.0.26+),初始化脚本位于 sql/cloud_sample.sql
    • Redis: 缓存服务 (版本 6.2+)。
  • 消息中间件:
    • EMQX: MQTT Broker (版本 4.4.0),用于处理高并发的设备消息。

3.2 前端 (Cloud-API-Web)

  • 核心框架: Vue 3 (v3.2.26)。
  • 开发语言: TypeScript (v4.5.4)。
  • 构建工具: Vite (v2.4.0)。
  • UI 组件库: Ant Design Vue (v2.2.8)。
  • 状态管理: Vuex (v4.0.2)。
  • 路由管理: Vue Router (v4)。
  • 关键功能库:
    • @amap/amap-jsapi-loader: 高德地图 API用于地图展示和航线规划。
    • agora-rtc-sdk-ng: 声网 RTC SDK推测用于无人机实时图传或语音对讲。
    • mqtt: 前端 MQTT 客户端。
    • axios: HTTP 请求库。
  • 样式: SCSS (Sass)。

4. 环境依赖总结

要运行此项目,需要准备以下环境:

  1. 服务器: Linux (推荐 Ubuntu 16.04+)。
  2. Java 环境: OpenJDK 11 或更高版本。
  3. Node.js: v17.8 (前端构建)。
  4. 数据库: MySQL 8.0.26+。
  5. 缓存: Redis 6.2+。
  6. MQTT Broker: EMQX 4.4.0。
  7. Web 服务器: Nginx 1.20.2 (用于部署前端静态资源及反向代理)。
  8. 地图服务: 高德地图 API Key。