Wersja lokalna V2.0

2026-09-22

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

FunkcjaOpis
Zarządzanie organizacją i projektamiZapewnia możliwości zapytań i zarządzania projektami, członkami i uprawnieniami ról.
Zarządzanie urządzeniamiObsł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 lotuObsł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 rzeczywistymObsł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 żywoObsł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 multimedialnymiObsługuje zapytania, zarządzanie i pobieranie plików multimedialnych — używane do tworzenia systemów zarządzania plikami multimedialnymi.
Zarządzanie modelamiObsługuje uruchamianie zadań rekonstrukcji i zarządzanie zasobami modeli — używane do tworzenia systemów zarządzania modelami.
Zarządzanie trasami lotuObsł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 mapyObsługuje zarządzanie adnotacjami, zarządzanie niestandardowymi obszarami lotu, zapytania o mapę cieplną sygnału i nie tylko.
Wykrywanie zmianObsługuje uruchamianie zadań analizy zmian i zapytania o wyniki wykrywania — ma zastosowanie do scenariuszy takich jak monitorowanie budowy i porównywanie inspekcji.
Otwarte modelowanieObsługuje uruchamianie zadań modelowania przy użyciu danych multimedialnych z platform innych firm.

Dokumentacja interfejsów

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

Last Updated: