DJI 개발 생태계 (2025-09-26)

DJI 개발 생태계 (2025-09-26)

1. DJI 개발 생태계의 구조와 비전

1.1 기술 개방성 미션과 생태계의 목표

DJI는 드론 기술의 가능성을 확장하고 다양한 산업 분야에서의 적용을 가속화하기 위해 ’기술 개방성(technological openness)’을 핵심 미션으로 삼고 있다. 이 미션의 궁극적인 목표는 더 많은 서드파티 개발자와 솔루션 파트너들이 DJI 플랫폼에 참여하도록 장려하여, 드론 산업 전체의 기술적 진보와 시장 확대를 견인하는 것이다.1 DJI는 자사 기체의 역량을 지속적으로 확장함으로써, 다양한 산업 현장에서 생산성을 극대화하고 인력과 자산의 안전을 보장하는 혁신적인 드론 솔루션을 제공하고자 한다.

이러한 비전 아래 구축된 DJI 개발 생태계는 단순히 몇 가지 API(Application Programming Interface)를 제공하는 수준을 넘어선다. 이는 소프트웨어 개발 키트(SDK), 클라우드 플랫폼, 페이로드 및 하드웨어 통합 표준, 그리고 서드파티 솔루션 카탈로그가 유기적으로 결합된 포괄적인 구조를 가진다.1 생태계는 개발자들이 DJI의 강력한 하드웨어 플랫폼을 기반으로 특정 산업의 요구에 맞는 맞춤형 애플리케이션과 하드웨어를 개발할 수 있는 토대를 제공하며, 이를 통해 DJI는 직접 모든 솔루션을 개발하지 않고도 임업, 농업, 측량, 공공 안전, 인프라 관리 등 광범위한 분야로 영향력을 확장한다.

1.2 생태계 구성 요소 개관: SDK, API, 하드웨어 통합의 상호작용

DJI 개발 생태계는 크게 세 가지 핵심 구성 요소의 상호작용을 통해 작동한다. 이는 소프트웨어 개발 키트(SDK), 클라우드 API, 그리고 표준화된 하드웨어 통합 인터페이스이다. 각 요소는 서로 다른 개발 목적과 기술 수준을 충족시키며, 이들의 조합을 통해 복잡하고 정교한 솔루션 구축이 가능해진다.

첫째, **소프트웨어 개발 키트(SDK)**는 개발자가 드론의 기능을 프로그래밍 방식으로 제어하기 위한 가장 기본적인 도구 집합이다. DJI는 목적에 따라 세분화된 SDK 포트폴리오를 제공한다. 모바일 애플리케이션 개발을 위한 Mobile SDK, 신속한 UI/UX 구축을 지원하는 UX SDK, 드론에 탑재된 컴퓨터에서 실시간 제어를 수행하는 Onboard SDK, 맞춤형 센서나 장비를 통합하기 위한 Payload SDK, 그리고 PC 기반 제어 애플리케이션을 위한 Windows SDK가 여기에 해당한다.2 각 SDK는 특정 플랫폼과 프로그래밍 언어에 최적화되어 있으며, 개발자가 달성하고자 하는 제어 수준과 애플리케이션 유형에 따라 선택적으로 사용된다.

둘째, 클라우드 API는 드론과 DJI Dock과 같은 지상 스테이션을 서드파티 클라우드 서버에 연동하기 위한 인터페이스이다. 이는 드론을 인터넷에 연결된 사물인터넷(IoT) 장치로 추상화하여, 원격지에서 드론 편대를 관리하고, 실시간 데이터를 수신하며, 자동화된 임무를 수행하는 것을 가능하게 한다.3 이를 통해 개발자는 복잡한 드론 통신 프로토콜을 다룰 필요 없이, MQTT, HTTPS 등 표준 웹 기술을 사용하여 대규모 드론 운영 솔루션을 구축할 수 있다.

셋째, 하드웨어 통합은 DJI SkyPort 및 X-Port와 같은 표준화된 물리적, 전기적 인터페이스를 통해 이루어진다.4 이 표준 포트를 사용하면 서드파티 제조사들이 개발한 고성능 카메라, 가스 탐지기, LiDAR 센서, 낙하산 시스템 등 다양한 페이로드를 DJI의 산업용 드론에 안정적으로 장착하고 통신할 수 있다.1 이는 DJI 드론 플랫폼의 활용도를 극대화하고, 특정 산업의 고유한 요구사항을 충족시키는 핵심적인 역할을 한다.

1.3 개발자 참여 모델: 솔루션 파트너 프로그램 진입 절차

DJI는 자사 생태계의 품질과 신뢰성을 유지하기 위해 ’공인 솔루션 파트너(Qualified DJI Solution Partner)’라는 공식적인 참여 모델을 운영한다.6 이 프로그램은 단순한 기술적 통합을 넘어, 시장에서 검증된 우수한 서드파티 솔루션을 선별하여 DJI Enterprise 고객에게 소개하는 역할을 한다.

파트너가 되기 위한 절차는 여러 단계의 엄격한 심사 과정을 포함한다.

  1. 온라인 신청서 제출: 개발사는 회사 정보, 솔루션 소개, 대상 산업, 사용된 SDK 등 상세 정보를 포함한 신청서를 온라인으로 제출한다.6

  2. 기본 정보 검토: DJI는 제출된 솔루션이 DJI 드론 플랫폼 또는 SDK/API를 기반으로 하는지 기본적인 요건을 검토한다.6

  3. 솔루션 상세 검토: 이 단계가 가장 핵심적인 과정으로, 개발사는 기능 테스트를 위해 프로토타입, 제품 사용 설명서 및 기타 관련 자료를 DJI에 제공해야 한다. 특히, 솔루션의 시장성과 신뢰성을 입증하기 위해 **최소 5개 이상의 성공적인 상용 적용 사례(successful cases)**를 제출해야 하는 의무 조항이 있다.6

  4. 최종 승인 및 파트너 등록: 모든 검토 과정을 통과하면 공인 솔루션 파트너로 최종 승인된다. 이후 파트너는 DJI Enterprise 웹사이트의 솔루션 카탈로그에 자사 제품을 등재하기 위한 시각 자료와 설명을 제공해야 한다.6

이러한 파트너십 모델은 DJI의 ’기술 개방성’이 무제한적인 개방이 아닌, 엄격한 기준을 통과한 파트너에게만 선택적으로 문을 여는 ‘관리형 개방(Managed Openness)’ 전략임을 명확히 보여준다. 5개 이상의 성공 사례를 요구하는 조건은 아이디어나 초기 단계의 솔루션을 사실상 배제하고, 이미 시장에서 실질적인 가치를 창출하고 있는 성숙한 솔루션만을 생태계에 편입시키려는 의도이다. 이는 엔터프라이즈 시장의 고객들이 가장 중시하는 신뢰성과 안정성을 확보하기 위한 전략적 품질 관리 장치로 기능한다. 검증되지 않은 서드파티 솔루션으로 인해 발생할 수 있는 문제를 사전에 차단함으로써, DJI는 플랫폼 전체의 브랜드 가치를 보호하고 고가의 엔터프라이즈 고객에게 일관된 품질을 약속할 수 있다.

단, 파트너로 등록된 솔루션이라 할지라도 DJI는 해당 제품의 성능이나 안정성을 직접 보증하지는 않는다. 솔루션 카탈로그의 모든 정보는 어떠한 종류의 명시적 또는 묵시적 보증 없이 ’있는 그대로(as is)’의 원칙에 따라 제공되며, 이는 최종적인 책임이 솔루션 개발사와 사용자에게 있음을 명확히 하는 조항이다.1

2. 핵심 개발 도구: 소프트웨어 개발 키트(SDK) 심층 분석

DJI 개발 생태계의 근간을 이루는 것은 다양한 목적과 기술 수준에 맞춰 제공되는 소프트웨어 개발 키트(SDK) 제품군이다. 각 SDK는 특정 개발 시나리오에 최적화된 기능과 아키텍처를 제공하며, 개발자는 프로젝트의 요구사항에 따라 가장 적합한 도구를 선택해야 한다. 아래 표는 주요 DJI SDK의 핵심 특징을 비교 분석한 것이다.

Table 2.1: DJI SDK 비교 분석

SDK대상 플랫폼 (Target Platform)주요 언어 (Primary Language)연결 방식 (Connection Method)핵심 기능 (Core Function)제어/데이터 속도 (Control/Data Rate)
Mobile SDK (MSDK)iOS, AndroidSwift, Objective-C, Java조종기-모바일 기기 USB 연결모바일 앱 기반 비행 제어, 카메라 제어, 실시간 영상/데이터 수신10 Hz
UX SDKiOS, AndroidSwift, Objective-C, JavaMSDK 기반DJI GO 앱과 유사한 UI/UX 컴포넌트 제공, 개발 시간 단축MSDK와 동일
Onboard SDK (OSDK)Linux, RTOS (임베디드)C++기체-온보드 컴퓨터 시리얼(UART) 연결고빈도/저지연 실시간 제어, 고급 센서 데이터 접근, 자율 비행 알고리즘 구현최대 200 Hz
Payload SDK (PSDK)Linux, RTOS (임베디드)CSkyPort/X-Port를 통한 페이로드-기체 연결맞춤형 페이로드(센서, 액추에이터) 통합 및 제어, 전력 관리N/A
Windows SDKWindows 10 (UWP)C, C++, C#조종기-PC USB 연결PC 기반 제어 애플리케이션 개발, 대화면을 활용한 임무 계획MSDK와 유사

이 표에서 명확히 드러나듯, 각 SDK는 애플리케이션의 실행 환경, 요구되는 제어의 실시간성, 그리고 하드웨어 통합 여부에 따라 명확하게 역할이 구분된다. 이러한 세분화된 SDK 포트폴리오는 DJI가 다양한 개발자 커뮤니티를 동시에 유치하고, 각기 다른 전문성을 가진 그룹들이 자신의 기술 스택을 유지하면서도 DJI 생태계에 기여할 수 있도록 하는 전략적 기반이 된다.

2.1 모바일 SDK (MSDK): 모바일 애플리케이션 개발의 중심

DJI Mobile SDK(MSDK)는 iOS 및 Android 모바일 장치에서 실행되는 맞춤형 드론 제어 애플리케이션을 개발하기 위한 가장 핵심적인 도구이다. MSDK의 근본적인 설계 철학은 비행 안정화, 배터리 관리, 신호 전송과 같은 복잡하고 낮은 수준의 기능들을 추상화하여 개발자가 애플리케이션의 고유한 비즈니스 로직과 사용자 경험 구현에 집중할 수 있도록 하는 것이다.7

핵심 기능

MSDK는 드론의 거의 모든 핵심 기능에 대한 프로그래밍 인터페이스를 제공한다.7

  • 비행 제어(Flight Control): MSDK는 세 가지 수준의 비행 제어 방식을 제공한다. 첫째, 사용자가 조종기로 수동 조작하는 동안 앱은 실시간 비디오와 센서 데이터를 모니터링할 수 있다. 둘째, ‘가상 스틱(Virtual Stick)’ 명령을 통해 코드 레벨에서 조종기 스틱의 움직임을 시뮬레이션하여 정밀하고 자동화된 비행 제어가 가능하다. 셋째, 웨이포인트(Waypoint) 미션과 같은 고수준 임무를 정의하고 실행하여 복잡한 자동 비행 경로를 손쉽게 구현할 수 있다.

  • 카메라 및 짐벌 제어(Camera and Gimbal Control): 카메라의 거의 모든 파라미터를 프로그래밍 방식으로 제어할 수 있다. 사진 및 비디오 촬영 모드 전환, 셔터 속도, ISO, 조리개 등 노출 값 설정, 이미지의 종횡비, 대비, 색조 등 세부 파라미터 조정이 가능하다. 또한, 짐벌의 움직임을 자동화하여 특정 각도를 유지하거나 부드러운 카메라 워크를 구현할 수 있다.

  • 데이터 스트리밍 및 접근(Data Streaming and Access): 드론 카메라가 촬영하는 실시간 비디오 피드를 앱으로 직접 스트리밍받을 수 있다. 이 기능은 카메라가 SD카드에 녹화하는 중에도 독립적으로 작동한다. 또한, GPS 위치, 고도, 속도, 나침반 방향 등 기체의 풍부한 센서 데이터를 최대 10Hz의 주기로 수신하여 실시간 상황 인식 및 데이터 로깅에 활용할 수 있다. 기체에 저장된 사진 및 비디오 파일에 접근하여 썸네일을 보거나 원본 파일을 모바일 장치로 다운로드하는 기능도 제공한다.

플랫폼 지원 및 개발 환경

MSDK는 iOS와 Android 플랫폼을 모두 지원하며, 각 플랫폼의 표준 개발 환경에 원활하게 통합된다.

  • iOS: 개발자는 CocoaPods를 사용하여 DJISDK 프레임워크를 프로젝트에 손쉽게 통합할 수 있다. 주로 Objective-C와 Swift 언어를 사용하여 개발이 이루어진다.8

  • Android: Maven 또는 Gradle 의존성 관리를 통해 SDK 라이브러리를 프로젝트에 추가한다. 개발 언어는 주로 Java를 사용한다.9

활용 사례

MSDK는 전 세계 수많은 상용 드론 솔루션의 기반 기술로 활용되고 있다. 대표적인 사례로는 광둥성 전력공사가 전력선 순찰을 위해 개발한 ‘Zhixuntong’, 농부들이 작물 성장 데이터를 수집하고 분석하는 데 사용하는 ‘DroneDeploy’, 건설 현장의 토공량 산출을 위해 3D 모델링을 수행하는 ‘Meshkit’ 등이 있다.11 이는 MSDK가 단순한 취미용 앱 개발을 넘어, 산업 현장의 실제 문제를 해결하는 강력한 도구임을 입증한다.

2.2 UX SDK: 신속한 UI/UX 개발 프레임워크

DJI UX SDK(User Experience SDK)는 MSDK를 기반으로 하는 시각적 프레임워크로, 개발자가 드론 제어 앱의 사용자 인터페이스(UI)를 빠르고 효율적으로 구축할 수 있도록 설계되었다.12 UX SDK의 가장 큰 장점은 DJI의 공식 앱인 DJI GO와 유사한 디자인과 기능을 가진 사전 제작된 UI 요소들을 제공한다는 점이다. 이를 통해 개발 시간을 획기적으로 단축하고, 사용자에게는 일관되고 익숙한 사용 경험(UX)을 제공할 수 있다.13

주요 구성 요소

UX SDK는 기능과 복잡성에 따라 세 가지 유형의 UI 요소로 구성된다.

  • 위젯(Widgets): 배터리 잔량, GPS 신호 강도, 비행 고도 등 단일 정보를 표시하거나 제어하는 가장 기본적인 UI 단위이다. 개발자는 이 위젯들을 화면에 배치하기만 하면, 별도의 코드 작성 없이도 MSDK로부터 데이터를 받아 자동으로 상태를 업데이트한다.13

  • 컬렉션(Collections): 여러 관련 위젯들을 하나의 그룹으로 묶어 체계적인 레이아웃으로 배열하는 컨테이너이다. 예를 들어, 상단 상태 바(Status Bar) 컬렉션은 여러 상태 위젯들을 가로로 나열해준다. 이 기능은 현재 iOS UX SDK에서만 제공된다.14

  • 패널(Panels): 카메라 세부 설정 메뉴나 비행 전 점검 목록(Pre-flight Checklist)과 같이, 여러 UI 요소가 복합적으로 구성된 전체 화면 또는 팝업 형태의 UI이다. 패널은 풍부한 정보와 제어 기능을 제공하지만, 구조가 복잡하여 현재 커스터마이징은 지원되지 않는다.13

커스터마이징

개발자는 UX SDK가 제공하는 기본 UI를 그대로 사용하거나, 필요에 따라 커스터마이징할 수 있다.

  • 에셋 스왑(Asset Swap): 위젯의 로직과 동작은 그대로 유지하면서 아이콘이나 배경 이미지 등 시각적 에셋만 교체하는 방식이다. 개발자는 기존 에셋과 동일한 이름, 크기, 해상도(@2x/@3x)를 가진 파일을 준비하여 프레임워크 내의 에셋 파일과 교체하면 된다.14

  • 서브클래싱(Subclassing): 기존 위젯 클래스를 상속받아 새로운 클래스를 만들고, 초기화(initialize) 및 뷰 업데이트(view update) 메소드를 재정의(override)하여 위젯의 외형과 동작을 보다 자유롭게 변경하는 방식이다. 각 위젯은 자신이 사용하는 데이터를 프로퍼티(property)로 노출하므로, 이를 활용하여 완전히 새로운 UI를 구현할 수 있다.13

UX SDK를 사용함으로써 개발자는 비행 상태 표시, 카메라 제어, 자동 이착륙 등 모든 드론 앱이 공통적으로 필요로 하는 핵심 기능들을 구현하는 데 드는 노력을 최소화하고, 대신 자신의 앱만이 제공하는 고유한 가치와 비즈니스 로직 개발에 더 많은 시간을 투자할 수 있다.

2.3 온보드 SDK (OSDK): 기체 내 컴퓨팅을 통한 고급 자율성 구현

DJI Onboard SDK(OSDK)는 드론 자체에 고성능 컴퓨터를 탑재하여, 모바일 장치의 한계를 뛰어넘는 고급 자율 비행 및 실시간 데이터 처리를 구현하기 위해 설계된 강력한 개발 도구이다. OSDK의 핵심 아키텍처는 온보드 컴퓨터(예: DJI Manifold, NVIDIA Jetson, Raspberry Pi 등)를 Matrice 시리즈와 같은 DJI 산업용 드론의 비행 컨트롤러에 시리얼 포트(TTL UART)를 통해 직접 연결하는 방식이다.15 이 직접적인 연결은 MSDK와 비교할 수 없는 수준의 고속, 저지연 통신을 가능하게 한다.

주요 기능 및 장점

OSDK는 MSDK가 제공하지 않는 저수준의 제어 및 데이터 접근 권한을 제공하여, 고도의 로보틱스 애플리케이션 개발을 지원한다.

  • 고빈도/저지연 제어: OSDK는 최대 200Hz의 텔레메트리 데이터 업데이트와 제어 명령 전송 속도를 지원한다. 이는 10Hz에 불과한 MSDK와 비교하여 20배 빠른 속도로, 실시간 장애물 회피, 정밀한 궤적 추종, 동적 환경에서의 빠른 반응이 요구되는 고급 제어 알고리즘을 구현하는 데 필수적이다.17

  • 고급 센서 데이터 접근: OSDK 개발자는 스테레오 비전 카메라의 원본 비디오 피드와 이를 통해 생성된 실시간 깊이 맵(Disparity Map) 데이터에 직접 접근할 수 있다.16 이 데이터는 시각 기반 SLAM(Simultaneous Localization and Mapping), 3D 환경 인식, 자율적인 장애물 회피 알고리즘 개발의 핵심적인 입력값으로 사용된다.

  • 조종기 없는 비행(Remote Controller-less Flight): OSDK는 조종기의 개입 없이 온보드 컴퓨터의 프로그램만으로 드론을 완전히 자율적으로 제어할 수 있다.17 이는 완전 자동화된 임무 수행이나 인간의 접근이 어려운 환경에서의 작업에 필수적인 기능이다.

  • 로봇 운영체제(ROS) 지원: OSDK는 로보틱스 연구 및 개발 분야의 표준 플랫폼인 ROS(Robot Operating System)를 공식적으로 지원한다.18 ROS 패키지를 통해 OSDK의 기능들이 ROS 토픽(Topic)과 서비스(Service)로 제공되므로, 기존 ROS 기반으로 개발된 수많은 알고리즘과 도구들을 DJI 드론에 쉽게 통합하고 활용할 수 있다.16

지원 플랫폼 및 요구사항

OSDK는 주로 임베디드 리눅스 환경을 대상으로 하며, C++ 언어로 핵심 라이브러리가 작성되었다. 따라서 OSDK를 활용한 개발에는 C++ 프로그래밍에 대한 깊은 이해와 임베디드 시스템 경험이 필수적으로 요구된다.17 지원 기체는 Matrice 300 RTK, Matrice 200 시리즈, Matrice 600 시리즈 등 고성능 산업용 플랫폼에 집중되어 있다.16

2.4 페이로드 SDK (PSDK): 맞춤형 하드웨어 통합의 표준

DJI Payload SDK(PSDK)는 서드파티 제조사가 개발한 맞춤형 페이로드(센서, 카메라, 로봇 부품 등)를 DJI의 산업용 드론 플랫폼에 완벽하게 통합하기 위한 하드웨어 및 소프트웨어 개발 키트이다. PSDK는 페이로드가 단순한 액세서리가 아니라, 드론의 비행 컨트롤러, GPS, 전송 시스템 등 핵심 내부 시스템과 직접 통신하며 하나의 통합된 시스템처럼 작동할 수 있도록 지원한다.4

통합 방식

PSDK는 표준화된 하드웨어 인터페이스를 통해 페이로드 통합 과정을 간소화하고 신뢰성을 높인다.

  • DJI SkyPort V2: 페이로드를 드론에 물리적으로 안전하게 고정하고, 전원 공급 및 데이터 통신을 중계하는 표준 어댑터이다. 이를 통해 페이로드는 드론의 내부 버스(bus)에 직접 연결된다.4

  • DJI X-Port: DJI SkyPort V2와 고정밀 3축 짐벌이 결합된 형태로, 짐벌 개발에 필요한 시간과 노력을 획기적으로 줄여준다. 개발자는 페이로드의 핵심 기능 개발에만 집중할 수 있다.4

핵심 API 및 기능

PSDK는 페이로드 펌웨어 개발을 위한 C 언어 기반의 라이브러리를 제공한다. 이 라이브러리는 임베디드 시스템 환경(Linux, RTOS)에 최적화되어 있으며, 다음과 같은 핵심 기능을 포함한다.5

  • 정보 관리 및 데이터 구독: 페이로드의 이름, 버전 등의 정보를 드론에 등록하고, 드론의 상태 데이터(고도, 속도, GPS 등)를 실시간으로 구독하여 받아볼 수 있다.

  • 전력 관리: 드론으로부터 공급받는 전력을 관리하고, 고전력 사용을 요청하는 등의 기능을 수행한다.

  • 데이터 채널: 저속 및 고속 데이터 채널을 설정하여 페이로드와 드론, 그리고 지상국(모바일 앱) 간에 데이터를 양방향으로 전송할 수 있다.

  • 카메라 및 짐벌 기능: 페이로드를 가상 카메라나 짐벌로 등록하여, DJI Pilot 앱이나 MSDK 기반 앱에서 표준 DJI 페이로드처럼 제어하고 영상 스트림을 전송할 수 있다.

  • 커스텀 위젯: DJI Pilot 앱 화면에 페이로드의 상태를 표시하거나 제어할 수 있는 맞춤형 UI 위젯을 생성할 수 있다.

적용 사례 및 개발 플랫폼

PSDK는 다양한 전문 분야의 솔루션 개발에 활용되고 있다. 농업 분야의 정밀 분석을 위한 SlantRange의 다중분광 센서, Sentera의 AGX710 센서 등이 대표적인 사례이다.4 개발은 주로 C(C99, C11 표준 지원) 언어를 사용하여 Linux, RTOS 등 다양한 임베디드 시스템 환경에서 이루어진다. 이는 하드웨어와 밀접하게 상호작용해야 하는 페이로드 개발의 특성을 반영한 것이다.22

2.5 Windows SDK: PC 기반 제어 및 자동화 솔루션

DJI Windows SDK는 Windows 10 PC에서 실행되는 UWP(Universal Windows Platform) 애플리케이션을 통해 DJI 드론을 제어하고 자동화하기 위한 개발 도구이다.23 MSDK가 모바일 환경에 최적화되어 있다면, Windows SDK는 강력한 연산 능력과 넓은 화면을 가진 PC의 장점을 활용하는 특정 시나리오에 특화되어 있다.

특징 및 활용 시나리오

PC 기반 제어는 다음과 같은 장점을 제공한다.

  • 복잡한 임무 계획 및 시각화: 넓은 PC 화면을 활용하여 복잡한 비행 경로를 설계하거나, 여러 대의 드론에서 수신되는 정보를 동시에 모니터링하는 관제 센터 애플리케이션 개발에 유리하다.

  • 고성능 컴퓨팅 활용: PC의 강력한 CPU와 GPU를 활용하여 드론으로부터 수신한 영상 데이터를 실시간으로 분석하고 처리하는 애플리케이션(예: 객체 인식, 3D 모델링)을 구축할 수 있다.

  • 기존 Windows 소프트웨어와의 통합: 기업에서 이미 사용 중인 Windows 기반의 다른 업무용 소프트웨어와 드론 제어 기능을 통합하여 워크플로우를 자동화할 수 있다.

지원 제품 및 개발 환경

Windows SDK는 주로 구형 기체인 Mavic 2 시리즈, Mavic Air, Phantom 4 Pro V2 등을 지원한다.23 최신 엔터프라이즈 기체에 대한 지원은 제한적이다. 개발을 위해서는 Windows 10 운영체제와 Visual Studio 2017, 그리고 Windows 10 SDK(버전 1803)가 필요하다.23 연결은 드론 조종기의 mini-USB 포트와 PC를 USB 케이블로 직접 연결하는 유선 방식으로 이루어진다. GitHub에 공개된 샘플 코드를 분석하면, SDK는 C, C++, C# 등 다양한 언어를 활용하여 개발되었음을 알 수 있다.23

DJI의 SDK 지원 정책은 시장 세분화와 수익 모델을 반영하는 중요한 전략적 도구로 기능한다. Matrice 시리즈와 같은 고가의 최신 엔터프라이즈 드론은 OSDK, PSDK 등 모든 개발 도구를 완벽하게 지원하여 고부가가치 상업 솔루션 개발을 촉진한다. 반면, Mini 시리즈와 같은 최신 소비자용 드론의 SDK 지원은 의도적으로 지연되거나 제한되는 경향이 있다.25 이러한 차등적 지원 정책은 서드파티 개발자들이 상업용 솔루션을 개발하기 위해서는 필연적으로 고가의 엔터프라이즈 기체를 선택하도록 유도하는 효과를 낳는다. 이는 기술적 제약의 문제라기보다는, DJI가 생태계의 수익성을 극대화하고 각 제품 라인의 시장 포지셔닝을 명확히 하기 위한 비즈니스적 통제 수단으로 해석될 수 있다.

3. 클라우드 통합: DJI Cloud API

DJI Cloud API는 DJI의 드론 및 자동화 스테이션인 DJI Dock을 서드파티 클라우드 플랫폼에 통합하기 위한 표준화된 인터페이스이다. 이는 DJI의 비즈니스 모델이 단순 하드웨어 판매를 넘어, 대규모 원격 운영 및 데이터 서비스를 제공하는 솔루션 공급자로 진화하고 있음을 보여주는 핵심적인 기술이다.

3.1 아키텍처 및 핵심 사상: IoT 장치로서의 드론 추상화

Cloud API의 가장 근본적인 설계 사상은 드론을 하나의 ’사물인터넷(IoT) 장치’로 추상화하는 것이다.3 이 접근 방식은 개발자가 드론의 복잡한 비행 제어 로직이나 실시간 통신 프로토콜에 대한 깊은 이해 없이도, 익숙하고 표준화된 웹 및 클라우드 개발 패러다임을 사용하여 드론을 원격으로 관리하고 제어할 수 있게 해준다.

과거에는 드론을 클라우드에 연결하기 위해 MSDK를 기반으로 한 맞춤형 모바일 앱을 개발하고, 해당 앱과 클라우드 서버 간의 독자적인 통신 프로토콜을 정의해야 하는 복잡한 과정을 거쳐야 했다.3 하지만 Cloud API는 DJI의 공식 앱인 DJI Pilot 2를 표준 클라이언트로 활용함으로써 이러한 구조를 획기적으로 단순화했다. 개발자는 이제 클라우드 서버 측의 로직 개발에만 집중할 수 있으며, DJI Pilot 2가 드론과의 통신 및 데이터 중계를 담당한다.3

또한, DJI Pilot 2 내에 내장된 웹뷰(Webview)는 개발자가 직접 제작한 H5(HTML5) 웹 페이지를 로드할 수 있는 기능을 제공한다.3 이를 통해 개발자는 서버와 통신하며 특정 비즈니스 로직을 수행하는 맞춤형 UI를 구현할 수 있어, 표준화된 아키텍처 내에서도 높은 수준의 유연성을 확보할 수 있다.

3.2 주요 프로토콜: MQTT, HTTPS, WebSocket의 역할과 활용

Cloud API는 특정 공급업체에 종속되지 않는 업계 표준 프로토콜을 채택하여, 기존의 다양한 IT 인프라와의 통합을 용이하게 한다.3 각 프로토콜은 통신의 특성에 따라 명확한 역할을 수행한다.

  • MQTT (Message Queuing Telemetry Transport): 기기의 상태 정보(위치, 배터리 등) 보고, 실시간 제어 명령 전송, 실시간 영상 스트리밍 제어 등 저지연 양방향 통신이 요구되는 기능의 핵심 프로토콜이다. 경량화된 발행/구독(Publish/Subscribe) 모델을 기반으로 하여 IoT 환경에 최적화되어 있으며, 드론과 클라우드 서버 간의 지속적인 연결을 유지하는 데 사용된다.3

  • HTTPS (Hypertext Transfer Protocol Secure): 지도에 표시할 요소(폴리곤, 마커 등)를 생성·수정·삭제하거나, 저장된 웨이라인(비행 경로) 파일 목록을 요청하고 다운로드 주소를 받는 등, 요청과 응답이 명확한 비실시간성 API 호출에 사용된다. 이는 일반적인 웹 서비스 개발에서 널리 사용되는 RESTful API 방식과 동일하다.3

  • WebSocket: 지도 요소의 변경 사항이나 주변 항공기 정보(상황 인식)와 같이, 서버에서 클라이언트(DJI Pilot 2)로 비동기적인 실시간 데이터 푸시(Push)가 필요할 때 사용된다. 지속적인 연결을 통해 서버가 언제든지 클라이언트로 메시지를 보낼 수 있게 한다.3

3.3 기능 집합: 파일럿 및 도크 기능 분석

Cloud API가 제공하는 기능은 크게 두 가지 시나리오, 즉 조종사가 현장에서 운용하는 드론을 클라우드에 연결하는 ’파일럿 기능’과 원격지에 무인으로 설치된 DJI Dock을 제어하는 ’도크 기능’으로 나뉜다.

  • 파일럿 기능 집합(Pilot Function Set): 현장의 조종사가 운용하는 드론의 정보를 원격 관제 센터와 실시간으로 공유하고 협업하는 데 중점을 둔다. 주요 기능으로는 ▲실시간 영상 스트리밍(Live Stream) ▲지도 요소 공유(Map Elements) ▲촬영된 사진/영상 미디어 관리(Media Management) ▲사전에 계획된 비행 경로 관리(Wayline Management) ▲상황 인식 정보 공유(Situation Awareness) 등이 있다.3

  • 도크 기능 집합(Dock Function Set): 원격지에 설치된 DJI Dock과 그 안에 격납된 드론을 완전히 원격으로, 자동화하여 운영하기 위한 기능들을 포함한다. 이는 무인 순찰, 정기 점검 등 사람의 개입을 최소화하는 시나리오에 필수적이다. 주요 기능으로는 ▲도크 및 드론 장치 관리(Device Management) ▲원격 디버깅(Remote Debugging) ▲원격 펌웨어 업그레이드(Firmware Upgrade) ▲자동화된 임무 예약 및 실행(Multi-dock Task) ▲건강 관리 시스템(HMS) 정보 조회 등이 있다.28

이러한 Cloud API의 구조는 DJI가 통신, 에너지, 물류와 같이 대규모 분산 인프라를 운영하는 대기업 시장을 공략하기 위한 전략적 포석이다. 이들 기업은 이미 자체적인 중앙 관제 시스템과 IT 인프라를 보유하고 있다. Cloud API는 드론을 이들의 기존 시스템에 마치 하나의 센서나 IoT 장치처럼 손쉽게 통합할 수 있는 표준화된 방법을 제공함으로써, 드론 도입의 기술적 장벽을 극적으로 낮춘다. 이는 DJI에게 일회성 하드웨어 판매를 넘어, 지속적인 데이터 서비스, 원격 운영 솔루션(Drones as a Service), 그리고 대규모 편대 관리(Fleet Management) 소프트웨어 라이선스 판매와 같은 새로운 고부가가치 수익 모델을 창출할 기회를 열어준다.

3.4 개발 및 배포 절차

Cloud API를 사용하여 서드파티 클라우드 솔루션을 개발하고 배포하는 과정은 다음과 같은 단계로 이루어진다.

  1. DJI 개발자 등록 및 라이선스 생성: 개발자는 DJI 개발자 센터에 등록하고, ‘Cloud API’ 유형의 애플리케이션을 생성해야 한다. 이 과정을 통해 API 인증에 필요한 App ID, App Key, App License를 발급받는다.31

  2. 서버 환경 구축: 개발자는 자체적으로 프론트엔드(웹 UI)와 백엔드(서버 로직) 환경을 구축해야 한다. DJI는 이 과정을 돕기 위해 Node.js 기반의 프론트엔드와 Java 기반의 백엔드 샘플 코드를 제공한다. 또한, MQTT 브로커(EMQX), 데이터베이스(MySQL), 캐시(Redis) 등 필요한 인프라를 설치해야 한다.31

  3. 서버 배포 및 설정: 구축된 서버를 인터넷에서 접근 가능한 주소로 배포한다. 발급받은 App ID, Key, License를 프론트엔드 설정 파일에 입력하여 API 인증을 준비한다.31

  4. DJI Pilot 2 연동: 사용자는 DJI Pilot 2 앱의 ‘클라우드 서비스’ 메뉴 내 ‘오픈 플랫폼’ 항목에서 개발자가 배포한 서버의 URL 주소를 입력한다.

  5. 인증 및 연결: DJI Pilot 2는 해당 URL의 H5 로그인 페이지를 로드한다. 사용자가 이 페이지에서 로그인하면, 웹 페이지는 JSBridge를 통해 DJI Pilot 2에 라이선스 검증을 요청하고, 성공 시 토큰(Token)을 획득하여 서버와의 모든 후속 통신에 사용한다. 이후 MQTT 연결이 수립되면 클라우드 연동이 완료된다.32

4. 하드웨어 호환성 매트릭스

DJI 개발 생태계 내에서 특정 솔루션을 구현하기 위해서는 소프트웨어(SDK)뿐만 아니라 이를 지원하는 적절한 하드웨어(드론, 페이로드)를 선택하는 것이 매우 중요하다. DJI의 SDK 지원 정책은 기체의 등급과 출시 시점에 따라 명확하게 차등화되어 있으며, 이는 개발 프로젝트의 성패를 좌우하는 결정적인 요소로 작용한다.

4.1 SDK별 지원 드론 및 페이로드 상세 목록

DJI의 하드웨어-SDK 호환성 매트릭스는 엔터프라이즈 플랫폼과 소비자용 플랫폼 간에 뚜렷한 차이를 보인다. 이는 각 제품 라인의 목표 시장과 전략적 포지셔닝을 반영한다.

엔터프라이즈 플랫폼

고가의 산업용 드론은 개발자에게 최대한의 유연성과 확장성을 제공하기 위해 광범위한 SDK를 지원한다.

  • Matrice 시리즈 (M400, M350 RTK, M300 RTK): 이 플래그십 기체들은 Mobile SDK, Payload SDK, Onboard SDK(일부 모델), Cloud API, Edge SDK 등 현존하는 거의 모든 DJI 개발 도구를 지원하는 최상위 개발 플랫폼이다. 맞춤형 페이로드 개발, 온보드 AI 컴퓨팅, 클라우드 기반 원격 운영 등 가장 복잡하고 까다로운 요구사항을 충족시킬 수 있다.26

  • Mavic 3 Enterprise 시리즈 (M3E, M3T, M3M): 휴대성과 고성능을 겸비한 이 시리즈는 Mobile SDK, Payload SDK(일부 기능 제한), Cloud API를 지원한다. 전문적인 모바일 앱 개발이나 클라우드 기반의 측량, 검사 솔루션 구축에 매우 적합하지만, 실시간 온보드 제어를 위한 Onboard SDK는 지원하지 않는다.26

  • Matrice 30 시리즈: Mobile SDK, Payload SDK, Cloud API, 그리고 엣지 컴퓨팅을 위한 Edge SDK를 지원하여, 휴대성이 요구되는 현장에서 강력한 개발 능력을 발휘할 수 있는 균형 잡힌 플랫폼이다.26

소비자용 플랫폼

일반 소비자를 대상으로 하는 드론은 주로 모바일 앱 경험을 향상시키는 데 초점을 맞추어 SDK 지원이 제한적이다.

  • Mini / Air / Mavic 시리즈 (비-Enterprise 모델): 이 기체들은 대부분 Mobile SDK만 지원하거나, 최신 기종의 경우 SDK 지원이 출시 후 상당 기간 지연되거나 아예 제공되지 않는 경우가 많다.25 이는 서드파티 앱 개발에 심각한 제약으로 작용하며, 많은 개발자와 사용자들이 이에 대한 불만을 제기하고 있다.27

  • Phantom 4 RTK: 측량용으로 특화된 이 기체는 SDK 기능이 내장된 전용 조종기를 사용할 경우에만 Mobile SDK를 지원한다.26

아래 표는 주요 엔터프라이즈 드론 모델별 SDK 지원 현황을 요약한 것이다.

Table 4.1: 주요 엔터프라이즈 드론별 SDK 지원 현황

드론 모델Mobile SDK (MSDK)Onboard SDK (OSDK)Payload SDK (PSDK)Cloud APIEdge SDK
DJI Matrice 400×/
DJI Matrice 350 RTK×/
M300 RTK/
Matrice 30 Series×
Mavic 3 Enterprise Series×/
Phantom 4 RTK✓ (SDK 조종기)×××/

주: ’✓’는 지원, ’×’는 미지원, ’/’는 정보 없음을 의미한다. 데이터는 26를 기반으로 작성됨.

4.2 하드웨어 선택 시 고려사항 및 제약 조건

성공적인 드론 솔루션 개발을 위해서는 프로젝트 기획 초기 단계에서부터 하드웨어의 SDK 지원 여부를 면밀히 검토해야 한다. 잘못된 하드웨어 선택은 프로젝트 전체를 무산시킬 수 있는 치명적인 실수가 될 수 있다.

첫째, 개발 목표가 하드웨어 선택을 결정한다. 예를 들어, 자체 개발한 LiDAR 센서를 드론에 탑재하여 실시간으로 포인트 클라우드 데이터를 처리하고, 이를 기반으로 자율 비행하는 솔루션을 개발하고자 한다면, Payload SDK와 Onboard SDK를 모두 지원하는 Matrice 300 RTK와 같은 기체가 유일한 선택지가 될 것이다. Mavic 3 Enterprise는 PSDK는 지원하지만 OSDK를 지원하지 않으므로 이 프로젝트에는 부적합하다.

둘째, 상업용 솔루션 개발 시에는 엔터프라이즈 기체를 우선 고려해야 한다. 최신 소비자용 드론은 뛰어난 비행 성능과 카메라 품질을 갖추고 있지만, SDK 지원 여부와 시점이 매우 불확실하다. DJI가 공식적으로 SDK 지원을 약속하지 않은 기체를 기반으로 상업용 제품을 개발하는 것은 매우 높은 리스크를 감수하는 행위이다. 반면, 엔터프라이즈 기체는 출시 시점부터 명확한 SDK 지원 로드맵을 제공하므로 안정적인 개발이 가능하다.

셋째, 플랫폼의 장기적인 지원 동향을 고려해야 한다. 최근 DJI는 iOS Mobile SDK에 대한 신규 기기 지원을 중단하고 Android 플랫폼에 개발 역량을 집중하는 경향을 보이고 있다.25 이는 향후 새로운 모바일 드론 솔루션을 개발할 경우, Android를 우선적인 대상 플랫폼으로 고려하는 것이 더 안정적이고 장기적인 선택이 될 수 있음을 시사한다.

결론적으로, DJI의 하드웨어-SDK 호환성 매트릭스는 단순한 기술 사양표가 아니다. 이는 DJI가 전체 드론 시장의 혁신 속도와 방향을 통제하는 ‘보이지 않는 손’ 역할을 한다. 엔터프라이즈 플랫폼에만 완전한 개발 자유도를 부여함으로써, DJI는 가장 수익성 높은 상업용 시장의 기술 혁신을 자사 플랫폼 중심으로 이끌고 통제한다. 동시에, 대중적인 소비자 드론의 개발 생태계를 의도적으로 제한함으로써, 서드파티 앱이 DJI의 자체 소프트웨어 수익 모델을 잠식하는 것을 방지하고, 잠재적인 경쟁 플랫폼의 등장을 억제하는 정교한 생태계 통제 전략을 구사하고 있다.

5. 주요 산업별 적용 솔루션 및 사례 연구

DJI 개발 생태계는 다양한 산업 현장의 특화된 요구사항을 해결하는 엔드-투-엔드(End-to-End) 워크플로우 솔션을 제공하는 데 그 강점이 있다. 이는 단순히 드론 하드웨어를 판매하는 것을 넘어, 데이터 수집, 처리, 분석, 그리고 실행에 이르는 전 과정을 유기적으로 연결하여 실질적인 가치를 창출한다.

5.1 정밀 농업 (Precision Agriculture)

정밀 농업 분야에서 DJI 솔루션은 디지털화되고 정보에 기반한 정밀한 농경지 관리를 가능하게 한다. 쌀, 밀과 같은 주요 곡물부터 목화, 과수 등 고부가가치 상업 작물에 이르기까지 광범위하게 적용된다.35

전형적인 워크플로우는 다음과 같다.

  1. 데이터 수집: Mavic 3M과 같이 가시광선 및 다중분광 센서가 통합된 드론을 사용하여 농경지 상공을 비행하며 작물의 건강 상태를 나타내는 식생 지수(Vegetation Index) 데이터를 수집한다. RTK 모듈을 활용하여 센티미터 수준의 정확한 위치 정보를 데이터에 기록한다.37

  2. 데이터 처리 및 분석: 수집된 이미지는 DJI의 3D 모델링 소프트웨어인 DJI Terra로 전송된다. DJI Terra는 이 데이터를 처리하여 NDVI와 같은 식생 지수 맵을 생성하고, 이를 기반으로 비료나 농약 살포가 필요한 특정 구역을 식별하는 처방 지도(Prescription Map)를 만든다.37

  3. 정밀 방제 실행: 생성된 처방 지도는 DJI Agras 시리즈와 같은 농업용 방제 드론에 업로드된다. 드론은 이 지도를 따라 자율 비행하며, 필요한 지역에만 정확한 양의 비료나 농약을 살포한다. 이를 통해 비용을 절감하고 환경에 미치는 영향을 최소화하며, 작물의 품질과 수확량을 증대시킨다.36

  4. 운영 자동화: 대규모 농장의 경우, DJI Dock 2와 같은 자동화 스테이션을 활용하여 전체 과정을 자동화할 수 있다. 사전에 설정된 일정에 따라 드론이 자동으로 이륙하여 데이터를 수집하고, 수집된 데이터는 클라우드를 통해 분석 소프트웨어로 전송된다. 이를 통해 인력 투입을 최소화하고, 고빈도의 데이터 샘플링을 통해 작물 성장 추세를 지속적으로 모니터링할 수 있다.37

5.2 건축, 엔지니어링, 건설 (AEC: Architecture, Engineering, Construction)

AEC 산업에서 드론 솔루션은 프로젝트의 기획, 설계, 시공, 유지보수에 이르는 전 생애주기에 걸쳐 효율성과 안전성을 획기적으로 개선한다.39

주요 활용 분야는 다음과 같다.

  • 부지 측량 및 설계: 전통적인 측량 방식에 비해 훨씬 빠르고 안전하게 넓은 부지의 지형 데이터를 수집한다. Phantom 4 RTK나 Matrice 350 RTK에 Zenmuse P1(사진측량) 또는 L1(LiDAR) 페이로드를 장착하여 센티미터 수준의 정확도를 가진 2D 정사사진과 3D 포인트 클라우드, 메시 모델을 생성한다. 이 데이터는 설계 단계에서 BIM(Building Information Modeling) 모델과 중첩하여 설계의 타당성을 검증하고, 시공 오차를 줄이는 데 활용된다.39

  • 공정 모니터링: 공사 현장을 주기적으로 비행하여 촬영한 이미지로 3D 모델을 생성하고, 이를 시간 경과에 따라 비교 분석한다. 이를 통해 실제 공정 진행 상황을 설계와 비교하고, 자원 배치의 효율성을 평가하며, 프로젝트가 일정에 맞게 진행되고 있는지 객관적인 데이터로 관리할 수 있다.40

  • 건물 검사 및 유지보수: 사람이 접근하기 어려운 고층 건물의 외벽, 교량, 지붕 등을 드론으로 안전하게 검사한다. 고해상도 카메라로 촬영한 근접 사진들을 통해 균열, 부식 등 결함을 식별하고, 이를 3D 모델에 매핑하여 체계적인 유지보수 계획을 수립한다. 이는 비용을 절감하고 작업자의 안전을 확보하는 데 매우 효과적이다.40

  • 토공량 및 골재 부피 측정: 건설 현장에 쌓여있는 토사나 골재 더미(Stockpile)를 드론으로 촬영하여 3D 모델을 생성하고, 소프트웨어를 통해 정확한 부피를 신속하게 계산한다. 이는 자재 관리 및 비용 정산의 정확도를 높이는 데 기여한다.40

5.3 공공 안전 (Public Safety)

공공 안전 분야에서 드론은 법 집행, 소방, 수색 및 구조 등 다양한 임무에서 현장 요원의 눈과 귀가 되어, 신속하고 정확한 의사결정을 지원하고 대원의 안전을 확보하는 데 결정적인 역할을 한다.42

주요 활용 분야는 다음과 같다.

  • 법 집행(Law Enforcement): 사건 현장에 드론을 신속하게 투입하여 용의자 추적, 인질극 상황 파악 등 지상팀이 확보하기 어려운 공중 시점의 실시간 정보를 지휘 본부에 제공한다. 또한, 교통사고 현장이나 범죄 현장을 신속하게 3D로 매핑하여 증거를 디지털로 보존하고, 도로 통제 시간을 최소화한다.42

  • 소방(Firefighting): Matrice 30T나 Mavic 2 Enterprise Advanced와 같은 열화상 카메라가 장착된 드론을 활용하여 화재 현장의 발화점과 숨겨진 불씨를 정확히 식별한다. 이를 통해 소방 인력과 자원을 가장 효과적인 곳에 집중 투입하여 진압 효율을 높이고, 소방관의 위험 노출을 줄인다. 특히 산불 진화 작전에서 전체적인 화선(火線)의 확산 방향을 파악하는 데 매우 유용하다.42

  • 수색 및 구조(Search and Rescue): 산악 지대나 광활한 지역에서 실종자를 수색할 때, 드론은 헬리콥터보다 훨씬 저렴하고 신속하게 넓은 범위를 스캔할 수 있다. 고배율 줌 카메라로 시각적 수색을 수행하고, 열화상 카메라를 이용하여 밤이나 숲이 우거진 곳에서도 체온을 가진 실종자를 탐지할 수 있다.42

이러한 특수 임무를 지원하기 위해 DJI는 **QEP(Qualified Entities Program)**라는 특별 프로그램을 운영한다. 이는 정부 및 공공 안전 기관(소방, 경찰, 해안 경비대 등)을 대상으로, 비행 금지 구역(Geo-fencing)과 고도 제한을 최대 5년까지 장기간 해제해주는 프로그램이다. 이를 통해 긴급 상황 발생 시 드론을 제약 없이 신속하게 운용할 수 있도록 지원한다.44

이러한 산업별 솔루션들은 DJI가 단순히 하드웨어를 넘어, 각 산업의 특정 워크플로우에 깊숙이 통합되는 솔루션을 제공하고 있음을 보여준다. 이 전략의 핵심에는 DJI Terra와 같은 자체 데이터 처리 소프트웨어가 있다. 데이터 수집(드론) → 데이터 처리(DJI Terra) → 데이터 분석 및 활용(서드파티 전문 소프트웨어)으로 이어지는 워크플로우를 구축함으로써, DJI는 고객을 하드웨어뿐만 아니라 자사의 소프트웨어 및 데이터 생태계에 강력하게 락인(Lock-in)시킨다. 고객이 한번 이 워크플로우에 익숙해지고 관련 인력과 프로세스를 구축하면, 다른 경쟁 플랫폼으로 전환하는 데 상당한 비용과 노력이 들게 되므로, 이는 DJI의 지속적인 시장 지배력을 유지하는 강력한 기반이 된다.

6. 개발자 지원 및 커뮤니티

DJI는 개발자들이 자사 생태계에 원활하게 진입하고 성공적인 솔루션을 구축할 수 있도록 공식 및 비공식 채널을 통해 다양한 지원 체계를 제공한다. 개발자는 이러한 자원들을 효과적으로 활용하여 기술적 문제를 해결하고 최신 정보를 습득해야 한다.

6.1 공식 문서, API 레퍼런스, 튜토리얼 활용법

DJI 개발자 웹사이트(developer.dji.com)는 모든 SDK와 API에 대한 포괄적인 공식 문서를 제공하는 가장 중요한 정보원이다. 문서는 일반적으로 다음과 같은 체계적인 구조로 구성되어 있어, 개발자가 단계적으로 학습하고 필요한 정보를 신속하게 찾을 수 있도록 돕는다.

  • 소개(Introduction/Overview): 해당 SDK 또는 API의 목적, 핵심 기능, 아키텍처 등 기본적인 개념을 설명한다.3

  • 시작하기(Getting Started): 개발 환경 설정, SDK 설치, 샘플 프로젝트 실행 등 개발을 시작하기 위한 초기 단계를 안내한다.8

  • 튜토리얼(Tutorials): 특정 기능을 구현하는 방법을 단계별로 상세하게 설명하는 실습 가이드이다. 예를 들어, MSDK 튜토리얼은 카메라 제어 앱, 웨이포인트 미션 앱 등을 만드는 과정을 다룬다.8

  • API 레퍼런스(API Reference): SDK에 포함된 모든 클래스, 메소드, 프로퍼티에 대한 상세한 기술 사양을 제공하는 사전과 같은 역할을 한다.28

  • 샘플 코드(Sample Code/Projects): GitHub를 통해 제공되며, SDK의 주요 기능들이 어떻게 구현되는지 보여주는 완전한 형태의 예제 프로젝트이다.8

특히 Cloud API 문서는 제품 소개, 아키텍처, 지원 제품, 기본 개념(MQTT, HTTPS 등)과 같은 이론적 배경부터 환경 준비, 소스 코드 배포, 기능 집합별 상세 구현 방법, 전체 API 레퍼런스에 이르기까지 매우 상세하고 체계적인 가이드를 제공하여 복잡한 클라우드 연동 개발을 지원한다.3

6.2 GitHub 리포지토리 및 개발자 포럼의 역할

공식 문서 외에도, 개발자 커뮤니티와의 상호작용은 문제 해결과 정보 공유에 있어 필수적인 역할을 한다.

  • GitHub: DJI는 각 SDK의 소스 코드, 샘플 프로젝트, 관련 라이브러리를 GitHub의 dji-sdk 조직 계정을 통해 공개한다.47 개발자들은 이곳에서 최신 코드를 다운로드하고, ‘이슈(Issues)’ 탭을 통해 버그를 보고하거나 기능 개선을 제안하고, 다른 개발자나 DJI 엔지니어와 기술적인 논의를 할 수 있다.15

  • 공식 개발자 포럼: DJI가 직접 운영하는 개발자 포럼(sdk-forum.dji.net)은 기술적인 질문에 대해 DJI 엔지니어와 숙련된 커뮤니티 멤버들로부터 공식적인 답변이나 도움을 받을 수 있는 주요 소통 창구이다.15

  • 비공식 커뮤니티: Reddit의 r/dji, RCGroups, Litchi 포럼과 같은 서드파티 커뮤니티는 공식 채널에서는 얻기 힘든 귀중한 정보를 제공한다. 이곳에서는 개발자들이 겪는 실제적인 문제 해결 경험, 공식 문서에 명시되지 않은 팁, 그리고 DJI의 SDK 지원 정책에 대한 솔직한 비판과 토론이 활발하게 이루어진다.27 예를 들어, 특정 소비자용 드론의 SDK 지원이 지연되는 문제에 대한 사용자들의 불만과 DJI 측의 비공식적인 답변 등은 이러한 비공식 채널을 통해서만 파악할 수 있는 경우가 많다.

성공적인 개발자는 이처럼 공식 채널과 비공식 채널이라는 이중적 정보 구조를 모두 능숙하게 활용해야 한다. 공식 문서는 기술적으로 ’무엇이 가능한가’에 대한 청사진을 제공하는 반면, 비공식 커뮤니티는 ’무엇이 실제로 작동하고, 어떤 버그가 있으며, 어떻게 해결해야 하는가’에 대한 현실적인 경험을 공유한다. 이 두 정보 소스 사이의 간극을 이해하고 메우는 능력은 프로젝트의 리스크를 관리하고 개발 효율성을 높이는 데 매우 중요하다.

6.3 최신 동향 및 업데이트: 생태계의 진화 방향

DJI 개발 생태계는 정체되어 있지 않고, 지속적인 펌웨어 및 SDK 업데이트를 통해 끊임없이 진화한다. 개발자는 공식 웹사이트의 릴리즈 노트를 주기적으로 확인하여 새로운 기능, 지원 기기 확대, 버그 수정 내역 등을 파악해야 한다.50

최근 생태계의 진화 방향에서 나타나는 몇 가지 주요 동향은 다음과 같다.

  • 엔터프라이즈 및 클라우드 집중: DJI는 Matrice 400과 같은 최신 플래그십 엔터프라이즈 기체와 Manifold 3와 같은 고성능 온보드 컴퓨터에 대한 지원을 강화하고 있다. 또한, Cloud API의 기능을 지속적으로 확장하며 원격/자동 운영 솔루션 시장에 대한 투자를 늘리고 있다.50

  • 플랫폼 선택과 집중: 과거에는 iOS와 Android를 동등하게 지원했지만, 최근에는 iOS MSDK에 대한 신규 기기 지원을 중단하고 Android 플랫폼에 개발 리소스를 집중하는 전략적 변화를 보이고 있다.34 이는 개발자들이 신규 프로젝트의 플랫폼을 선택할 때 중요한 고려사항이 된다.

  • 커뮤니티 요구의 반영: DJI의 로드맵이 항상 일방적으로 결정되는 것은 아니다. 오랜 기간 수많은 개발자들이 요구해왔던 DJI Mini 4 Pro에 대한 MSDK 지원이 마침내 이루어진 사례에서 볼 수 있듯이 52, 개발자 커뮤니티의 지속적이고 강력한 요구는 DJI의 제품 개발 및 지원 정책에 실질적인 영향을 미치기도 한다.

7. 결론: 전략적 통제 하의 개방형 생태계

DJI 개발 생태계는 ’기술 개방성’이라는 기치 아래 구축되었으나, 그 본질은 정교하게 설계된 ‘관리형 개방(Managed Openness)’ 모델에 기반한 전략적 자산이다. DJI는 SDK, API, 하드웨어 표준, 파트너 프로그램을 통해 개발자들에게 강력한 도구를 제공함과 동시에, 생태계의 품질, 혁신의 방향, 그리고 수익 모델을 철저하게 통제한다.

첫째, SDK 포트폴리오의 차등적 지원 정책은 DJI의 시장 세분화 및 수익 극대화 전략의 핵심이다. 고가의 엔터프라이즈 플랫폼에는 완전한 개발 자유도를 부여하여 고부가가치 상업용 솔루션 시장의 혁신을 주도하고, 이를 통해 하드웨어 판매를 촉진한다. 반면, 대중적인 소비자용 드론의 SDK 지원을 의도적으로 제한함으로써, 서드파티 앱이 자사의 소프트웨어 및 서비스 수익 모델을 잠식하는 것을 방지하고 시장 지배력을 공고히 한다.

둘째, Cloud API의 도입은 DJI가 하드웨어 제조업체를 넘어 엔터프라이즈 인프라 솔루션 공급자로 진화하려는 명확한 의지를 보여준다. 드론을 표준 IoT 장치로 추상화하고 업계 표준 프로토콜을 채택함으로써, 대기업 고객들이 기존 IT 시스템에 드론을 손쉽게 통합할 수 있도록 진입 장벽을 낮췄다. 이는 일회성 판매를 넘어, 지속적인 서비스 및 소프트웨어 라이선스 기반의 새로운 수익 모델을 창출하는 기반이 된다.

셋째, 각 SDK가 요구하는 상이한 기술 스택(모바일, 임베디드, 로보틱스)은 다양한 전문성을 가진 개발자 커뮤니티를 DJI 플랫폼이라는 구심점으로 끌어모으는 효과적인 ‘인재 유치’ 전략으로 기능한다. 이를 통해 DJI는 최소한의 직접 투자로 생태계의 기술적 깊이와 다양성을 극대화하며, 단일 기업의 역량을 뛰어넘는 광범위한 기술 영역으로 영향력을 확장하고 있다.

결론적으로, DJI 개발 생태계는 개발자에게는 혁신을 위한 기회의 장을, DJI에게는 시장을 통제하고 비즈니스를 확장하는 강력한 전략적 도구를 제공하는 이중적인 성격을 지닌다. 이 생태계에 참여하고자 하는 개발자는 제공되는 기술의 가능성뿐만 아니라, 그 이면에 있는 DJI의 비즈니스 전략과 로드맵을 깊이 이해하고, 공식 및 비공식 채널의 정보를 종합적으로 활용하여 변화하는 환경에 능동적으로 대처해야만 성공적인 솔루션을 구축할 수 있을 것이다.

8. 참고 자료

  1. Ecosystem Products Catalogue - DJI Enterprise, https://enterprise.dji.com/ecosystem
  2. DJI Payload SDK Agreement - DJI Developer, https://developer.dji.com/policies/psdk_agreement
  3. Product Introduction - Cloud API, https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-introduction.html
  4. What is DJI Payload Software Development Kit … - DJI Developer, https://developer.dji.com/payload-sdk-v2
  5. Payload SDK | Drone Nerds Enterprise, https://enterprise.dronenerds.com/drone-solutions/payload-sdk/
  6. Ecosystem Products Catalogue - DJI Enterprise, https://enterprise.dji.com/ecosystem/form
  7. Mobile SDK Introduction - DJI Mobile SDK Documentation, https://developer.dji.com/mobile-sdk/documentation/introduction/mobile_sdk_introduction.html
  8. DJI Mobile SDK for iOS Latest Version 4.16.2 - GitHub, https://github.com/dji-sdk/Mobile-SDK-iOS
  9. Can I develop Scripts for DJI Drones and in which programming language? - Stack Overflow, https://stackoverflow.com/questions/45116992/can-i-develop-scripts-for-dji-drones-and-in-which-programming-language
  10. dji-sdk/Mobile-SDK-Android: DJI Mobile SDK for Android: http://developer.dji.com/mobile-sdk - GitHub, https://github.com/dji-sdk/Mobile-SDK-Android
  11. The enterprise solution expert of drone App - DJI Developer, https://developer.dji.com/mobile-sdk
  12. Getting Started with DJI UX SDK - DJI Mobile SDK Documentation - DJI Developer, https://developer.dji.com/mobile-sdk/documentation/ios-tutorials/UXSDKDemo.html
  13. UX SDK Introduction - DJI Mobile SDK Documentation - DJI Developer, https://developer.dji.com/mobile-sdk/documentation/introduction/ux_sdk_introduction.html
  14. UX SDK Introduction - DJI Developer, https://developer.dji.com/document/9ce3de9e-4a4c-42ec-9755-7c5cb4579ad3
  15. DJI Onboard SDK Official Repository - GitHub, https://github.com/dji-sdk/Onboard-SDK
  16. expand the capabilities of your aerial platform with … - DJI Developer, https://developer.dji.com/onboard-sdk
  17. Onboard SDK Introduction - DJI Developer, https://developer.dji.com/onboard-sdk/documentation/introduction/onboard-sdk-introduction.html
  18. Official ROS packages for DJI onboard SDK. - GitHub, https://github.com/dji-sdk/Onboard-SDK-ROS
  19. Prerequisites - DJI Onboard SDK Documentation - DJI Developer, https://developer.dji.com/onboard-sdk/documentation/development-workflow/workflow-prereq.html
  20. PSDK API Documentation | Payload SDK - DJI Developer, https://developer.dji.com/doc/payload-sdk-api-reference/v2/en/
  21. PSDK API Overview - Payload SDK, https://developer.dji.com/doc/payload-sdk-api-reference/en/
  22. DJI Payload SDK (PSDK) - GitHub, https://github.com/dji-sdk/Payload-SDK
  23. DJI Windows SDK - GitHub, https://github.com/dji-sdk/Windows-SDK
  24. Just like the Mobile SDK, Windows SDK allows you to create a customized app to unlock the full potential of your DJI aerial platform. - DJI Developer, https://developer.dji.com/windows-sdk
  25. Supported Hardware - Drones Made Easy, https://support.dronesmadeeasy.com/hc/en-us/articles/205704366-Supported-Hardware
  26. DJI Product SDK Compatibility - Support, https://support.dji.com/help/content?customId=01700000763&spaceId=17&re=US&lang=en&documentType=&paperDocType=ARTICLE
  27. DJI Mini 4 Pro MSDK - General Discussion - Litchi Forum, https://forum.flylitchi.com/t/dji-mini-4-pro-msdk/12450
  28. Tutorial Reading Guide - Cloud API, https://developer.dji.com/doc/cloud-api-tutorial/en/tutorial-map.html
  29. https - Cloud API, https://developer.dji.com/doc/cloud-api-tutorial/en/overview/basic-concept/https.html
  30. Cloud API - DJI Developer, https://developer.dji.com/doc/cloud-api-tutorial/en/
  31. Source Code Deployment Steps - Cloud API - DJI Developer, https://developer.dji.com/doc/cloud-api-tutorial/en/quick-start/source-code-deployment-steps.html
  32. Access to the Cloud Server - Cloud API, https://developer.dji.com/doc/cloud-api-tutorial/en/feature-set/pilot-feature-set/pilot-access-to-cloud.html
  33. SDK for DJI Mini 4 pro - Reddit, https://www.reddit.com/r/dji/comments/1e9jtye/sdk_for_dji_mini_4_pro/
  34. SDK - DroneDJ, https://dronedj.com/guides/sdk/
  35. ag.dji.com, https://ag.dji.com/#:~:text=Our%20solutions%20provide%20digital%2C%20informative,quality%2C%20and%20increases%20yield%20rate.
  36. DJI Agriculture - Drones Better Growth, Better Life, https://ag.dji.com/
  37. Precision Agriculture - DJI Enterprise, https://enterprise.dji.com/geospatial/precision-agriculture
  38. DJI Terra - Make the World Your Digital Asset - DJI Enterprise, https://enterprise.dji.com/dji-terra
  39. Geospatial - Drone surveying solutions - DJI Enterprise, https://enterprise.dji.com/geospatial
  40. Drone Solutions for Architecture, Engineering, and Construction - DJI, https://enterprise.dji.com/surveying/aec
  41. Drones in construction - Why are they good for you? - DroneXperts, https://www.dronexperts.com/en/article/drones-in-construction-why-are-they-beneficial-and-how-can-they-be-used/
  42. Public Safety - Protect and Serve with Drones - DJI Enterprise, https://enterprise.dji.com/public-safety
  43. Law Enforcement - DJI Enterprise, https://enterprise.dji.com/public-safety/law-enforcement
  44. Qualified Entities Program | Conduct Public Safety Missions without Geo-Fencing Restrictions - Insights, https://enterprise-insights.dji.com/qualified-entities-program
  45. dji_sdk/Tutorials/Getting Started - ROS Wiki, https://wiki.ros.org/dji_sdk/Tutorials/Getting%20Started
  46. DJI Windows SDK Documentation, https://developer.dji.com/api-reference/windows-api/index.html
  47. DJI-SDK - GitHub, https://github.com/dji-sdk
  48. Mobile SDK V5 - DJI Developer, https://developer.dji.com/mobile-sdk/downloads
  49. Discussion Official DJI Mavic Owner and Developer’sThread - RC Groups, https://www.rcgroups.com/forums/showthread.php?2747762-Official-DJI-Mavic-%2A%2A%2AOwner-and-Developer-sThread%2A%2A%2A
  50. Release Note - Mobile SDK, https://developer.dji.com/doc/mobile-sdk-tutorial/en/
  51. Android Mobile SDK 4.18 Release Notes - DJI Developer, https://developer.dji.com/document/122b5969-d64d-4752-8452-400c41240aa5
  52. DJI SDK 5.13 & Maven EVO 2.0 roadmap, https://www.mavenpilot.com/2025/03/17/dji-sdk-5-13-maven-evo-2-0-roadmap/