Wersja lokalna V2.0
Wprowadzenie API
OpenAPI V2.0 On-Premises to otwarta platforma oparta na specyfikacjach RESTful, zaprojektowana w celu zapewnienia programistom interoperacyjności danych i integracji biznesowej między platformami chmury prywatnej innych firm a wersją on-premises DJI FlightHub 2.
Za pośrednictwem OpenAPI V2.0 programiści mogą tworzyć integracje systemowe wokół kluczowych modułów, takich jak zarządzanie urządzeniami, zarządzanie zadaniami lotu i zarządzanie danymi (dane multimediów, modeli i map), aby zasilać przypadki użycia, takie jak interoperacyjność danych, zarządzanie urządzeniami, planowanie zadań i lekkie sterowanie w czasie rzeczywistym na bazie FlightHub 2.
W porównaniu z V1.0, V2.0 przyjmuje jako cel główny scenariusze rozwoju wtórnego o zamkniętej pętli. Oprócz istniejących funkcji systematycznie uzupełnia API dla kluczowych modułów, takich jak zarządzanie urządzeniami, zarządzanie zadaniami lotu i zarządzanie danymi (multimedia, modele i mapy), zwiększając całkowitą liczbę interfejsów do ponad 300 (V1.0 miała 67).
Przebudowuje również system interfejsów, oddzielając dokumentację interfejsów Public Cloud i On-Premises, co czyni kategoryzację wyraźniejszą dla szybszego wdrożenia i integracji programistów oraz umożliwia bardziej elastyczną iterację OpenAPI w przyszłości.
Lista funkcji
| Funkcja | Opis |
|---|---|
| Zarządzanie organizacją i projektami | Zapewnia możliwości zapytań i zarządzania projektami, członkami i uprawnieniami ról. |
| Zarządzanie urządzeniami | Obsługuje zapytania i zarządzanie urządzeniami, w tym listę urządzeń, status w czasie rzeczywistym, cień modelu rzeczy (thing-model shadow), zdarzenia zdrowia HMS, konfigurację sieci i RTK — używane do tworzenia systemów zarządzania i konfiguracji urządzeń. |
| Zadania lotu | Obsługuje tworzenie zadań lotu, zapytania o listy zadań i szczegóły wykonania, rekordy lotu i alerty AI — używane do tworzenia systemów zarządzania zadaniami lotu. |
| Sterowanie w czasie rzeczywistym | Obsługuje zapytania i uzyskiwanie uprawnień sterowania w chmurze, wydawanie poleceń lotu punkt-do-punktu, orbity POI, poleceń sterowania kamerą i nie tylko — umożliwiając lekkie sterowanie w czasie rzeczywistym na poziomie biznesowym. |
| Transmisja na żywo | Obsługuje zarządzanie transmisją na żywo i omijaniem strumienia, przełączanie obiektywów i jakości i nie tylko — używane do tworzenia systemów zarządzania transmisją na żywo. |
| Zarządzanie plikami multimedialnymi | Obsługuje zapytania, zarządzanie i pobieranie plików multimedialnych — używane do tworzenia systemów zarządzania plikami multimedialnymi. |
| Zarządzanie modelami | Obsługuje uruchamianie zadań rekonstrukcji i zarządzanie zasobami modeli — używane do tworzenia systemów zarządzania modelami. |
| Zarządzanie trasami lotu | Obsługuje pobieranie list tras lotu, zarządzanie plikami tras lotu i nie tylko — używane do tworzenia systemów zarządzania plikami tras lotu. |
| Zarządzanie danymi mapy | Obsługuje zarządzanie adnotacjami, zarządzanie niestandardowymi obszarami lotu, zapytania o mapę cieplną sygnału i nie tylko. |
| Wykrywanie zmian | Obsługuje uruchamianie zadań analizy zmian i zapytania o wyniki wykrywania — ma zastosowanie do scenariuszy takich jak monitorowanie budowy i porównywanie inspekcji. |
| Otwarte modelowanie | Obsługuje uruchamianie zadań modelowania przy użyciu danych multimedialnych z platform innych firm. |
Dokumentacja interfejsów
- Dokumentacja interfejsów obejmuje listę funkcji OpenAPI, tutoriale, listę interfejsów i opisy interfejsów. Zobacz: Dokumentacja interfejsów OpenAPI.
Przykładowy kod źródłowy
Po wdrożeniu i pomyślnym uruchomieniu przykładowego kodu źródłowego możesz doświadczyć interfejsu funkcji opracowanego na bazie OpenAPI V2.0. Przykładowy kod źródłowy pomaga również szybko zrozumieć, jak uzyskać dostęp do OpenAPI i z niej korzystać, przyspieszając rozwój i integrację.
Kliknij Przykładowy kod źródłowy, aby uzyskać kod źródłowy i przewodnik dostępu.
Architektura produktu

Szybki start
Konfiguracja środowiska (specyficzna dla wersji on-premises FlightHub 2)
Zapoznaj się z Podręcznikiem wdrożenia wersji on-premises DJI FlightHub 2, aby wdrożyć wersję on-premises FlightHub 2.
Uwierzytelnianie i autoryzacja
Zapoznaj się z dokumentem Tutorial uwierzytelniania i autoryzacji, aby zrozumieć zasady uwierzytelniania i autoryzacji OpenAPI oraz uzyskać x-user-token i X-Project-Uuid. Te dwa parametry muszą być przekazywane w polu nagłówka większości interfejsów, aby zapewnić bezpieczeństwo OpenAPI i wdrożyć kontrolę dostępu do FlightHub 2.
Przykładowy kod
1. Zapytanie o status usługi sterowania w czasie rzeczywistym FlightHub 2
Po pomyślnym wdrożeniu wersji on-premises FlightHub 2 wywołaj interfejs, aby zapytać o status usługi sterowania w czasie rzeczywistym: Zapytanie o status systemu FlightHub 2
```http
GET /openapi/v2.0/drc/health HTTP/1.1
Host: 127.0.0.1:30812
X-Language: en
X-Request-Id: 550e8400-e29b-41d4-a716-446655440000
X-Project-Uuid: xxxxxxxxxx
x-user-token: xxxxxxxx
Wartość zwrotna 0 oznacza, że usługa sterowania w czasie rzeczywistym FlightHub 2 działa normalnie:
```http
{
"code": 0,
"message": "OK",
"data": null
}
2. Uzyskanie listy projektów organizacji
Utwórz organizację, skonfiguruj projekt i powiąż urządzenia w FlightHub 2. Zapoznaj się z sekcją "Podstawy platformy > Zarządzanie organizacją" tego podręcznika dotyczącą tworzenia organizacji i projektów w FlightHub 2, a następnie wywołaj interfejs Uzyskaj listę projektów organizacji, aby uzyskać listę utworzonych projektów.
GET /openapi/v2.0/manage/api/v1/organizations/{uuid}/projects?usage=complete&sort_column=create_time&sort_type=desc&page=1&page_size=20 HTTP/1.1
Host: 127.0.0.1:30812
X-Language: en
X-Request-Id: 550e8400-e29b-41d4-a716-446655440000
X-Project-Uuid: xxxxxxxxxx
x-user-token: xxxxxxxx
Zostanie zwrócona lista utworzonych projektów:
```http
{
"code": 0,
"message": "OK",
"data": {
"list": [
{
"name": "c2c_test",
"introduction": "a",
"uuid": "b2c3d4e5-6789-0123-bcde-f12345678901",
"project_id": "PRJ202401001",
"org_uuid": "a1b2c3d4-5678-9012-abcd-ef1234567890",
"status": "active",
"c2c_enable": true,
"dock_rotation_disabled": false,
"c2c_task_enable": true,
"created_at": 1700000000,
"updated_at": 1700100000
}
]
}
}
3. Uruchomienie transmisji na żywo
Zapoznaj się z sekcją Zarządzanie urządzeniami tego podręcznika, aby powiązać urządzenia w FlightHub 2, a następnie zapoznaj się z Tutorialem zarządzania transmisją na żywo, aby uruchomić przesyłanie strumienia.
```http
POST /openapi/v2.0/drc/api/v2/projects/{proj_uuid}/live-channels/stream/start HTTP/1.1
Host: 127.0.0.1:30812
X-Project-Uuid: xxxxxxxxxx
X-Language: en
X-Request-Id: 550e8400-e29b-41d4-a716-446655440000
Content-Type: application/json
x-user-token: xxxxxxxx
Content-Length: 130
{
"sn": "1ZNBH1Dxxxxxxx",
"camera": "165-0-7",
"video": "normal-0",
"gateway_sn": "7CTDM3Dxxxxxxx",
"video_quality": 0
}
Wartość zwrotna 0 oznacza, że zadanie przesyłania strumienia zostało pomyślnie wysłane, a urządzenie rozpocznie wypychanie strumienia na serwer multimediów zgodnie z konfiguracją:
```c
{
"code": 0,
"message": "OK",
"data": null
}
https://dl.djicdn.com/downloads/dji-terra/20240723/DJI%20Terra%20Error%20Code%20Guide%20V4.2.0_EN.pdf