无人机DockerDemo前后端
commit
63c0d4c892
|
|
@ -0,0 +1 @@
|
|||
Subproject commit bef525cb92772b06786c1e033719a6fa1b94bcc5
|
||||
|
|
@ -0,0 +1 @@
|
|||
Subproject commit bfcf3ee998b876dc5d372e5dbac913a19ccdac9f
|
||||
|
|
@ -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`.
|
||||
|
|
@ -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。
|
||||
|
|
@ -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/
|
||||
|
||||
Loading…
Reference in New Issue