无人机DockerDemo前后端

main
mula.liu 2025-11-25 14:39:51 +08:00
commit 63c0d4c892
6 changed files with 151 additions and 0 deletions

BIN
.DS_Store vendored 100644

Binary file not shown.

1
Cloud-API 160000

@ -0,0 +1 @@
Subproject commit bef525cb92772b06786c1e033719a6fa1b94bcc5

1
Cloud-API-Web 160000

@ -0,0 +1 @@
Subproject commit bfcf3ee998b876dc5d372e5dbac913a19ccdac9f

62
GEMINI.md 100644
View File

@ -0,0 +1,62 @@
# Gemini Context: DJI Cloud API Demo Platform
## Project Overview
This project is a comprehensive management platform for DJI Docks and industry drones, demonstrating the "Cloud API" integration. It is a full-stack application designed with a separation of concerns between the backend services and the frontend user interface.
* **Purpose:** To manage device access, control, and data visualization for DJI enterprise products.
* **Architecture:** Client-Server architecture using HTTP for management and MQTT for real-time device communication.
## Project Structure
* **Cloud-API (Backend):**
* **Language:** Java 11+
* **Framework:** Spring Boot 2.7.12
* **Key Components:**
* `cloud-sdk`: Core logic for DJI device interaction.
* `sample`: Business logic implementation.
* **Infrastructure:** MySQL 8.0+, Redis 6.2+, EMQX 4.4.0 (MQTT Broker).
* **Cloud-API-Web (Frontend):**
* **Language:** TypeScript, HTML, SCSS
* **Framework:** Vue 3 (Composition API)
* **Build Tool:** Vite
* **UI Library:** Ant Design Vue
* **Key Features:** Map visualization (AMap), Real-time video (Agora RTC).
## Building and Running
### Backend (Cloud-API)
Prerequisites: Java 11+, Maven, running MySQL/Redis/EMQX instances.
1. **Configuration:** Update `application.yml` (or properties) in `sample` module with database and MQTT credentials.
2. **Build:**
```bash
cd Cloud-API
mvn clean install
```
3. **Run:**
```bash
cd Cloud-API
mvn spring-boot:run -pl sample
```
### Frontend (Cloud-API-Web)
Prerequisites: Node.js v17.8+ (recommended).
1. **Install Dependencies:**
```bash
cd Cloud-API-Web
npm install
# or yarn install
```
2. **Development Server:**
```bash
npm run serve
```
3. **Production Build:**
```bash
npm run build
```
## Development Conventions
* **Backend:** Follows standard Spring Boot tiered architecture (Controller, Service, DAO). Uses `spring-integration-mqtt` for device messaging.
* **Frontend:** Uses Vue 3 Composition API. State management via Vuex.
* **Database:** Schema is located in `Cloud-API/sql/cloud_sample.sql`.

52
PROJECT.MD 100644
View File

@ -0,0 +1,52 @@
# 项目分析报告 (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。

35
README.md 100644
View File

@ -0,0 +1,35 @@
整个上云 API Demo 例程采用前后端分离的设计,前端采用的是 TS+Vue3 框架,后端采用的是 JAVA 语言必须11及以上的版本否则后端代码无法编译Spring Boot 框架。使用该例程,用户需要预先学习熟悉以下知识:
## 前端
TypeScript、HTML、CSS 编程语言。
Vue3.x 框架、Node.js npm 包管理。
Ant Design Vue V2 组件库。
HTTP/Websocket 通信。
Linux 环境通过 Nginx 部署前端应用服务。
高德地图开放 API 使用。
## 后端
Java
Spring Boot
MQTT
MySQL
WebSocket
Redis
## 环境与版本
Linux 云服务器Ubuntu16.04 系统
Java 版本openJDK 必须11及以上
MySQL 版本8.0.26
EMQX 版本4.4.0
Redis 版本6.2
Nginx 版本1.20.2
Vue 版本3.0.5
Node.js 版本17.8
## 配置文件
后端示例代码中数据库、缓存Redis以及 MQTT 的配置文件位于:
Cloud-API/sample/src/main/resources/application.yml
## 官方文档地址
https://developer.dji.com/doc/cloud-api-tutorial/cn/