다음을 통해 공유


Azure IoT 디바이스 개발

Azure IoT는 IoT 디바이스를 연결, 모니터링 및 제어하는 관리되는 플랫폼 서비스 컬렉션입니다. Azure IoT는 개발자에게 포괄적인 옵션 집합을 제공합니다. 옵션에는 디바이스 플랫폼, 지원 클라우드 서비스, SDK, MQTT 지원 및 디바이스 지원 클라우드 애플리케이션을 빌드하기 위한 도구가 포함됩니다.

이 문서에서는 Azure IoT를 시작하는 개발자를 위한 몇 가지 주요 고려 사항을 간략하게 설명합니다.

디바이스 개발 경로

이 문서에서는 두 가지 일반적인 디바이스 개발 경로에 대해 설명합니다. 각 경로에는 관련된 개발 옵션 및 작업 집합이 포함됩니다.

  • 일반 디바이스 개발: 최신 개발 방식에 부합하고, 상위 언어를 대상으로 하며, Windows 또는 Linux와 같은 범용 운영 체제에서 실행됩니다.

    비고

    디바이스가 범용 운영 체제를 실행할 수 있는 경우 일반 디바이스 개발 경로를 따르는 것이 좋습니다. 보다 풍부한 개발 옵션 집합을 제공합니다.

  • 포함된 디바이스 개발: 리소스 제한 디바이스를 대상으로 하는 개발에 대해 설명합니다. 리소스가 제한된 디바이스를 사용하여 단위 비용, 전력 소비 또는 디바이스 크기를 줄이는 경우가 많습니다. 이러한 디바이스는 실행되는 하드웨어 플랫폼을 직접 제어할 수 있습니다.

일반 디바이스 개발

일부 개발자는 기존 범용 디바이스를 클라우드에 연결하고 IoT 솔루션에 통합하도록 조정합니다. 이러한 디바이스는 C# 또는 Python과 같은 상위 언어를 지원할 수 있으며 Windows 또는 Linux와 같은 강력한 범용 운영 체제를 지원하는 경우가 많습니다. 일반적인 대상 디바이스에는 PC, 컨테이너, Raspberry Pis 및 모바일 디바이스가 포함됩니다.

일반 디바이스 개발자는 제한된 디바이스를 대규모로 개발하는 대신 클라우드 솔루션에 필요한 특정 IoT 시나리오를 사용하도록 설정하는 데 집중합니다. 일부 개발자는 클라우드 솔루션에 대해 제한된 디바이스에서도 작업합니다. 리소스가 제한된 디바이스로 작업하는 개발자는 포함된 디바이스 개발 경로를 참조하세요.

중요합니다

일반 디바이스 개발에 사용할 SDK에 대한 자세한 내용은 디바이스 SDK를 참조하세요.

포함 디바이스 개발

포함된 개발은 메모리 및 처리가 제한된 제한된 디바이스를 대상으로 합니다. 제한된 디바이스는 기존 개발 플랫폼에 비해 달성할 수 있는 것을 제한합니다.

포함된 디바이스는 일반적으로 RTOS(실시간 운영 체제)를 사용하거나 운영 체제를 전혀 사용하지 않습니다. 포함된 디바이스는 범용 운영 체제가 없기 때문에 하드웨어를 완전히 제어할 수 있습니다. 이러한 사실은 임베디드 디바이스를 실시간 시스템에 적합하게 만듭니다.

현재 포함된 SDK는 C 언어를 대상으로 합니다. 포함된 SDK는 운영 체제 또는 Eclipse ThreadX 지원을 제공하지 않습니다. 이러한 SDK는 포함 대상을 고려하여 설계됩니다. 디자인 고려 사항에는 최소 공간과 메모리를 할당하지 않는 설계가 포함됩니다.

중요합니다

포함된 디바이스 개발에 사용할 SDK에 대한 자세한 내용은 Embedded 디바이스 SDK를 참조하세요.

하드웨어 선택

Azure IoT 디바이스는 IoT 솔루션의 기본 구성 요소이며 해당 환경을 관찰하고 상호 작용하는 역할을 담당합니다. 다양한 유형의 IoT 디바이스가 있으며, 존재하는 디바이스의 종류와 디바이스가 개발 프로세스에 미치는 영향을 이해하는 것이 유용합니다.

이 문서에서 다루는 디바이스 유형 간의 차이점에 대한 자세한 내용은 IoT 디바이스 유형 정보를 참조하세요.

SDK 선택

Azure IoT 디바이스 개발자는 디바이스 지원 클라우드 애플리케이션을 빌드하는 데 도움이 되는 다양한 SDK, 프로토콜 및 도구 집합을 제공합니다.

디바이스를 연결하고 IoT Hub와 통신하는 두 가지 주요 옵션이 있습니다.

  • Azure IoT SDK를 사용합니다. 대부분의 경우 MQTT를 직접 사용하는 대신 Azure IoT SDK를 사용하는 것이 좋습니다. SDK는 개발 작업을 간소화하고 디바이스 연결 및 관리의 복잡성을 간소화합니다. IoT Hub는 MQTT v3.1.1 프로토콜을 지원하며, IoT SDK는 MQTT를 사용하여 IoT Hub와 통신하는 프로세스를 간소화합니다.
  • MQTT 프로토콜을 직접 사용합니다. MQTT를 직접 사용하도록 IoT Hub 솔루션을 빌드할 때는 몇 가지 이점이 있습니다. 예를 들어 SDK 없이 MQTT를 직접 사용하는 솔루션은 개방형 MQTT 표준을 기반으로 빌드할 수 있습니다. 표준 기반 접근 방식을 사용하면 솔루션의 이식성이 높아지고 디바이스가 연결 및 통신하는 방법을 보다 세세하게 제어할 수 있습니다. 그러나 IoT Hub는 완전한 기능을 갖춘 MQTT 브로커가 아니며 MQTT v3.1.1 표준에 지정된 모든 동작을 지원하지는 않습니다. MQTT v3.1.1에 대한 부분 지원은 개발 비용과 복잡성을 추가합니다. 디바이스 개발자는 MQTT를 직접 사용하는 것과 IoT 디바이스 SDK 사용의 장단분에 무게를 두어야 합니다. 자세한 내용은 MQTT 프로토콜을 사용하여 IoT Hub와 통신을 참조하세요.

디바이스 개발을 위한 세 가지 IoT SDK 집합이 있습니다.

  • 디바이스 SDK(더 높은 순서의 언어를 사용하여 기존 범용 디바이스를 IoT 애플리케이션에 연결)
  • 포함된 디바이스 SDK(리소스가 제한된 디바이스를 IoT 애플리케이션에 연결하기 위한)
  • 서비스 SDK(디바이스를 서비스에 연결하는 Azure IoT 솔루션 빌드용)

Azure IoT 디바이스 또는 서비스 SDK를 선택하는 방법에 대한 자세한 내용은 Azure IoT SDK를 참조하세요.

서비스 선택

개발 프로세스의 주요 단계는 디바이스를 연결할 서비스를 선택하는 것입니다. 디바이스를 연결하고 관리하기 위한 두 가지 기본 Azure IoT 서비스 옵션인 IoT Hub와 IoT Central이 있습니다.

  • Azure IoT Hub - IoT Hub를 사용하여 IoT 애플리케이션을 호스트하고 디바이스를 연결합니다. IoT Hub는 IoT 애플리케이션과 연결된 디바이스 간의 양방향 통신을 위한 중앙 메시지 허브 역할을 하는 PaaS(Platform-as-a-Service) 애플리케이션입니다. IoT Hub는 수백만 개의 디바이스를 지원하도록 확장할 수 있습니다. 다른 Azure IoT 서비스에 비해 IoT Hub는 애플리케이션 디자인에 대한 가장 큰 제어 및 사용자 지정을 제공합니다. 또한 개발 및 관리 복잡성이 약간 증가하는 비용으로 서비스를 사용하기 위한 가장 많은 개발자 도구 옵션을 제공합니다.
  • Azure IoT Central. IoT Central은 IoT 솔루션 작업 프로세스를 간소화하도록 설계되었습니다. 개념 증명으로 사용하여 IoT 솔루션을 평가할 수 있습니다. IoT Central은 애플리케이션을 만들고 디바이스를 연결 및 관리하는 작업을 간소화하는 웹 UI를 제공하는 SaaS(Software-as-a-Service) 애플리케이션입니다. IoT Central은 IoT Hub를 사용하여 애플리케이션을 만들고 관리하지만 대부분의 세부 정보는 사용자에게 투명하게 유지합니다.

디바이스 연결 및 관리 도구

사용할 하드웨어 및 디바이스 SDK를 선택한 후에는 여러 가지 개발자 도구 옵션이 있습니다. 이러한 도구를 사용하여 디바이스를 IoT Hub에 연결하고 관리할 수 있습니다. 다음 표에서는 일반적인 도구 옵션을 요약합니다.

도구 문서 설명
Azure Portal Azure Portal을 사용하여 IoT Hub 만들기 IoT Hub 및 디바이스에 대한 브라우저 기반 포털입니다. IoT Central을 비롯한 다른 Azure 리소스에서도 작동합니다.
Azure IoT 탐색기 Azure IoT 탐색기 IoT Hub를 만들 수 없습니다. 기존 IoT Hub에 연결하여 디바이스를 관리합니다. CLI 또는 포털에서 자주 사용됩니다.
Azure 커맨드 라인 인터페이스 (CLI) CLI를 사용하여 IoT Hub 만들기 IoT 애플리케이션을 만들고 관리하기 위한 명령줄 인터페이스입니다.
Azure PowerShell PowerShell을 사용하여 IoT Hub 만들기 IoT 애플리케이션을 만들고 관리하기 위한 PowerShell 인터페이스
VS Code용 Azure IoT Tools VS Code용 도구를 사용하여 IoT Hub 만들기 IoT Hub 애플리케이션에 대한 VS Code 확장입니다.

비고

이전에 나열된 도구 외에도 REST API, Azure SDK 또는 Azure Resource Manager 템플릿을 사용하여 프로그래밍 방식으로 IoT 애플리케이션을 만들고 관리할 수 있습니다. IoT Hub 서비스 설명서에서 자세히 알아보세요.

다음 단계

디바이스를 Azure IoT에 연결하는 데 사용할 수 있는 디바이스 SDK에 대한 자세한 내용은 다음 문서를 참조하세요.

실습 디바이스 개발을 시작하려면 사용 중인 디바이스와 관련된 디바이스 개발 자습서를 선택합니다. 다음 자습서는 일반 디바이스 개발 또는 포함된 디바이스 개발을 위한 좋은 시작점입니다.