IoT Hub DPS(Device Provisioning Service)용 Microsoft SDK는 하나 이상의 IoT Hub에 IoT 디바이스를 프로비전하는 디바이스 및 백 엔드 애플리케이션을 빌드하는 데 도움이 됩니다. SDK는 디바이스 또는 백 엔드 앱과 DPS 간의 기본 전송 및 보안 프로토콜을 처리하므로 애플리케이션 개발에 집중할 수 있습니다. SDK를 사용하면 보안 업데이트를 포함하여 향후 DPS 업데이트에 대한 지원을 받을 수 있습니다. 이 문서에서는 세 가지 SDK 범주를 설명하고, 인기 있는 언어로 게시된 DPS SDK를 나열하며, SDK 참조, 샘플 및 빠른 시작에 대한 링크를 제공합니다.
SDK 범주
SDK(소프트웨어 개발 키트)의 세 가지 범주는 DPS에서 작동합니다.
DPS 디바이스 SDK는 디바이스에 대한 데이터 평면 작업을 제공합니다. 디바이스 SDK를 사용하여 DPS를 통해 디바이스를 프로비전합니다.
DPS 서비스 SDK는 백 엔드 앱에 대한 데이터 평면 작업을 제공합니다. 서비스 SDK를 사용하여 개별 등록 및 등록 그룹을 만들고 관리하고 디바이스 등록 레코드를 쿼리하고 관리합니다.
DPS 관리 SDK는 백 엔드 앱에 대한 컨트롤 플레인 작업을 제공합니다. 관리 SDK를 사용하여 DPS 인스턴스 및 메타데이터를 만들고 관리합니다. 예를 들어 구독에서 DPS 인스턴스를 만들고 관리하거나, DPS 인스턴스를 사용하여 인증서를 업로드 및 확인하거나, DPS 인스턴스에서 권한 부여 정책 또는 할당 정책을 만들고 관리하는 데 사용합니다.
DPS SDK는 디바이스를 IoT Hub에 프로비전하는 데 도움이 됩니다. 또한 Microsoft Azure IoT Hub 직접 통신하는 디바이스 앱 및 백 엔드 앱을 빌드하는 데 도움이 되는 SDK 집합을 제공합니다. 예를 들어 프로비전된 디바이스가 원격 분석을 IoT 허브로 보내고 필요에 따라 IoT 허브에서 메시지 및 작업, 메서드 또는 트윈 업데이트를 수신하도록 지원합니다. 자세한 내용은 Azure IoT Hub SDK 참조하세요.
디바이스 SDK
DPS 디바이스 SDK를 사용하면 디바이스가 DPS에 등록하고 IoT Hub 할당을 받을 수 있습니다. 디바이스 SDK를 사용하여 대칭 키, X.509 인증서 또는 TPM 증명을 사용하여 디바이스 쪽 프로비저닝을 구현합니다. 플랫폼 디바이스 SDK는 전체 운영 체제를 실행하는 디바이스에 사용할 수 있으며, 포함된 디바이스 SDK는 리소스 제한 및 마이크로 컨트롤러 기반 디바이스에 사용할 수 있습니다.
플랫폼 디바이스 SDK
DPS 디바이스 SDK는 디바이스가 DPS를 통해 프로비전하기 위해 호출하는 Register API 및 기타의 구현을 제공합니다. 디바이스 SDK는 PC, 태블릿, 스마트폰 또는 Raspberry Pi와 같은 일반적인 MPU 기반 컴퓨팅 디바이스에서 실행할 수 있습니다. SDK는 C#, Node.js, Python 및 Java 포함하여 C 및 최신 관리 언어로 개발을 지원합니다.
다음 표에서는 지원되는 각 언어에 사용할 수 있는 디바이스 SDK를 나열합니다.
| 플랫폼 | Package(패키지) | 코드 리포지토리 | 샘플 | 빠른 시작 | 참조 |
|---|---|---|---|---|---|
| .NET | NuGet | GitHub | 샘플스 | 빠른 시작 | 참조 |
| C | apt-get, MBED, Arduino IDE 또는 iOS | GitHub | 샘플스 | 빠른 시작 | 참조 |
| Java | Maven | GitHub | 샘플스 | 빠른 시작 | 참조 |
| Node.JS | npm | GitHub | 샘플스 | 빠른 시작 | 참조 |
| Python | pip | GitHub | 샘플스 | 빠른 시작 | 참조 |
Warning
위에 나열된 C SDK는 메모리 관리 및 스레딩 모델로 인해 포함된 애플리케이션에 적합하지 않습니다. 임베디드 디바이스의 경우 Embedded 디바이스 SDK를 참조하세요.
Embedded 디바이스 SDK
이러한 SDK는 컴퓨팅 및 메모리 리소스가 제한된 디바이스에서 실행되도록 설계 및 생성되었으며 C 언어를 사용하여 구현됩니다.
| RTOS | SDK | 원본 | 샘플 | 참조 |
|---|---|---|---|---|
| 이클립스 스레드X | Azure RTOS 미들웨어 | GitHub | 빠른 시작 | 참조 |
| FreeRTOS | FreeRTOS 미들웨어 | GitHub | 샘플스 | 참조 |
| 운영 체제 미설치 | 포함된 C에 대한 Azure SDK | GitHub | 샘플스 | 참조 |
IoT SDK의 디바이스 및 포함 디바이스 SDK에 대해 자세히 알아봅니다.
서비스 SDK
DPS 서비스 SDK는 DPS 인스턴스에서 등록 및 등록 레코드를 관리하는 백 엔드 애플리케이션을 빌드하는 데 도움이 됩니다.
| 플랫폼 | Package(패키지) | 코드 리포지토리 | 샘플 | 빠른 시작 | 참조 |
|---|---|---|---|---|---|
| .NET | NuGet | GitHub | 샘플스 | 빠른 시작 | 참조 |
| Java | Maven | GitHub | 샘플스 | 빠른 시작 | 참조 |
| Node.JS | npm | GitHub | 샘플스 | 빠른 시작 | 참조 |
관리 SDK
DPS 관리 SDK를 사용하면 Azure 구독에서 DPS 인스턴스 및 해당 메타데이터를 관리하는 백 엔드 애플리케이션을 빌드할 수 있습니다.
| 플랫폼 | Package(패키지) | 코드 리포지토리 | 참조 |
|---|---|---|---|
| .NET | NuGet | GitHub | 참조 |
| Java | Maven | GitHub | 참조 |
| Node.JS | npm | GitHub | 참조 |
| Python | pip | GitHub | 참조 |
다음 단계
Device Provisioning Service 설명서에서는 SDK 및 라이브러리를 사용해 볼 수 있는 자습서 및 추가 샘플을 제공합니다.