자습서: IoT 플러그 앤 플레이 디바이스에서 Azure IoT Hub로 원격 분석 전송

코드 찾아보기

이 빠른 시작에서는 기본 Azure IoT 애플리케이션 개발 워크플로에 대해 알아봅니다. Azure CLI 및 IoT Explorer를 사용하여 Azure IoT 허브와 디바이스를 만듭니다. 그런 다음 Azure IoT 디바이스 SDK 샘플을 사용하여 온도 컨트롤러를 실행하고, 허브에 안전하게 연결하고, 원격 분석을 보냅니다. 온도 컨트롤러 샘플 애플리케이션은 로컬 컴퓨터에서 실행되고 IoT Hub로 보낼 시뮬레이션된 센서 데이터를 생성합니다.

필수 조건

이 빠른 시작은 Windows, Linux 및 Raspberry Pi에서 실행됩니다. 다음 OS 및 디바이스 버전에서 테스트되었습니다.

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 Model B+에서 실행되는 Raspberry Pi OS(Raspbian) 버전 10

Raspberry Pi에 명시된 경우를 제외하고 다음 사전 요구 사항을 개발 컴퓨터에 설치합니다.

  • Azure 구독이 아직 없는 경우 시작하기 전에 무료 구독을 만듭니다.
  • Git
  • Azure IoT Explorer: Azure IoT를 모니터링하고 관리하는 플랫폼 간 GUI 기반 유틸리티입니다. Raspberry Pi를 개발 플랫폼으로 사용하는 경우 IoT Explorer를 다른 컴퓨터에 설치하는 것이 좋습니다. IoT Explorer를 설치하지 않으려면 Azure CLI를 사용하여 동일한 단계를 수행할 수 있습니다.
  • Azure CLI 이 빠른 시작에서 Azure CLI 명령을 실행하기 위한 두 가지 옵션이 있습니다.
    • 브라우저에서 CLI 명령을 실행하는 대화형 셸인 Azure Cloud Shell을 사용합니다. 이 옵션은 아무 것도 설치할 필요가 없으므로 권장됩니다. 처음으로 Cloud Shell을 사용하는 경우 Azure Portal에 로그인합니다. Azure Cloud Shell 시작의 단계를 따라 Cloud Shell을 시작하고Bash 환경을 선택합니다.
    • 선택적으로 로컬 컴퓨터에서 Azure CLI를 실행합니다. Azure CLI가 이미 설치된 경우 az upgrade를 실행하여 CLI 및 확장을 현재 버전으로 업그레이드합니다. Azure CLI를 설치하는 방법은 Azure CLI 2.0 설치를 참조하세요. Raspberry Pi를 개발 플랫폼으로 사용하는 경우 Azure Cloud Shell을 사용하거나 Azure CLI를 다른 컴퓨터에 설치하는 것이 좋습니다.

운영 체제의 나머지 필수 구성 요소를 설치합니다.

Linux 또는 Raspberry Pi OS

Linux 또는 Raspberry Pi OS에서 이 빠른 시작을 완료하려면 다음 소프트웨어를 설치합니다.

apt-get 명령을 사용하여 GCC, Git, CMake 및 필요한 종속성을 설치합니다.

sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev

CMake 버전이 3.13 이상이고 GCC 버전이 4.4.7 이상인지 확인합니다.

cmake --version
gcc --version

Windows

Windows 에서 이 빠른 시작을 완료하려면 Visual Studio 2022를 설치하고 C 및 C++ 개발에 필요한 구성 요소를 추가합니다.

  1. 새로운 사용자의 경우 Visual Studio(Community, Professional 또는 Enterprise) 2022를 설치합니다. 설치하려는 버전을 다운로드하고 설치 프로그램을 시작합니다.

    참고 항목

    기존 Visual Studio 2022 사용자의 경우 Windows 시작을 선택하고, Visual Studio 설치 관리자 입력하고, 설치 관리자를 실행한 다음, 수정을 선택합니다.

  2. 설치 프로그램 워크로드 탭에서 C++로 데스크탑 개발 워크로드를 선택합니다.
  3. 설치를 실행합니다.

IoT Hub 만들기

이 섹션에서는 Azure CLI를 사용하여 IoT 허브 및 리소스 그룹을 만듭니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다. IoT 허브는 IoT 애플리케이션과 디바이스 간의 양방향 통신을 위한 중앙 메시지 허브 역할을 합니다.

IoT 허브 및 리소스 그룹을 만들려면 다음을 수행합니다.

  1. Azure CLI를 시작합니다.

    • Cloud Shell을 사용하려면 CLI 명령에서 사용해 보기 단추를 선택하여 분할 브라우저 창에서 Cloud Shell을 시작합니다. 또는 별도의 브라우저 탭에서 Cloud Shell을 열 수 있습니다.
    • Azure CLI를 로컬로 사용하는 경우 Windows CMD, PowerShell 또는 Bash와 같은 콘솔을 열고 Azure CLI에 로그인합니다.

    이 빠른 시작의 나머지 부분에서 CLI 명령을 실행하려면 명령 구문을 복사하고 Cloud Shell 창이나 CLI 콘솔에 붙여넣고 변수 값을 편집한 다음, Enter 키를 누릅니다.

  2. az extension add를 실행하여 azure-iot 확장을 현재 버전으로 설치하거나 업그레이드합니다.

    az extension add --upgrade --name azure-iot
    
  3. az group create를 실행하여 리소스 그룹을 만듭니다. 다음 명령은 eastus 위치에 MyResourceGroup이라는 리소스 그룹을 만듭니다.

    참고 항목

    선택적으로 대체 위치를 설정할 수 있습니다. 사용 가능한 위치를 보려면 az account list-locations를 실행합니다. 이 자습서에서는 예제 명령에 표시된 대로 eastus를 사용합니다.

    az group create --name MyResourceGroup --location eastus
    
  4. az iot hub create 명령을 사용하여 IoT Hub를 만듭니다. IoT Hub를 만드는 데 몇 분 정도 걸릴 수 있습니다.

    YourIotHubName. IoT 허브에 대해 선택한 이름을 사용하여 다음 명령에서 이 자리 표시자와 주변 중괄호를 바꿉니다. IoT Hub 이름은 Azure에서 전역적으로 고유해야 합니다. 자리 표시자가 표시될 때마다 이 빠른 시작의 나머지 부분에서 IoT 허브 이름을 사용합니다.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

    IoT Hub를 만든 후 이 빠른 시작의 나머지 부분에서 Azure IoT Explorer를 사용하여 IoT Hub와 상호 작용합니다. IoT Explorer는 기존 IoT 허브에 연결하고 디바이스를 추가, 관리 및 모니터링할 수 있는 GUI 애플리케이션입니다. 자세히 알아보려면 Azure IoT 탐색기 설치 및 사용을 참조하세요. 선택적으로 CLI 명령을 계속 사용할 수 있습니다.

IoT Explorer 구성

이 빠른 시작의 나머지 부분에서는 IoT Explorer를 사용하여 IoT Hub에 디바이스를 등록하고 디바이스 원격 분석을 봅니다. 이 섹션에서는 방금 만든 IoT Hub에 연결하고 퍼블릭 모델 리포지토리에서 플러그 앤 플레이 모델을 읽도록 IoT Explorer를 구성합니다.

참고 항목

또한 Azure CLI를 사용하여 디바이스를 등록할 수 있습니다. az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} 명령을 사용하여 새 디바이스를 등록하고 az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} 명령을 사용하여 디바이스의 기본 연결 문자열을 가져옵니다. 디바이스 연결 문자열을 메모해 둔 후에는 디바이스 실행 샘플로 건너뛸 수 있습니다.

IoT Hub에 대한 연결을 추가하려면

  1. az iot hub connection-string show 명령을 실행하여 IoT 허브에 대한 연결 문자열을 가져옵니다.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. 따옴표 문자로 묶지 말고 연결 문자열을 복사합니다.

  3. Azure IoT Explorer의 왼쪽 메뉴에서 IoT Hub를 선택한 다음, + 연결 추가를 선택합니다.

  4. 연결 문자열을 연결 문자열 상자에 붙여넣습니다.

  5. 저장을 선택합니다.

    IoT Explorer에서 연결을 추가하는 스크린샷

  6. 연결에 성공하면 IoT Explorer가 디바이스 보기로 전환됩니다.

퍼블릭 모델 리포지토리를 추가하려면

  1. IoT Explorer에서 을 선택하여 홈 보기로 돌아갑니다.

  2. 왼쪽 메뉴에서 IoT 플러그 앤 플레이 설정을 선택한 다음, +추가를 선택하고 드롭다운 메뉴에서 러블릭 리포지토리를 선택합니다.

  3. https://devicemodels.azure.com에 있는 퍼블릭 모델 리포지토리에 대한 항목이 나타납니다.

    IoT Explorer에서 퍼블릭 모델 리포지토리를 추가하는 스크린샷

  4. 저장을 선택합니다.

디바이스 등록

이 섹션에서는 새 디바이스 인스턴스를 만들고 만든 IoT Hub에 등록합니다. 새로 등록된 디바이스의 연결 정보를 사용하여 이후 섹션에서 디바이스를 안전하게 연결합니다.

디바이스를 등록하려면

  1. IoT Explorer의 홈 보기에서 IoT Hub를 선택합니다.

  2. 이전에 추가한 연결이 표시됩니다. 연결 속성 아래에서 이 허브의 디바이스 보기를 선택합니다.

  3. + 새로 만들기를 선택하고 디바이스의 디바이스 ID(예: mydevice)를 입력합니다. 다른 모든 속성은 동일하게 유지합니다.

  4. 만들기를 실행합니다.

    Azure IoT Explorer 디바이스 ID의 스크린샷

  5. 복사 단추를 사용하여 기본 연결 문자열 필드를 복사하고 기록해 둡니다. 이 연결 문자열은 나중에 필요합니다.

디바이스 샘플 실행

이 섹션에서는 C SDK를 사용하여 디바이스에서 IoT Hub로 메시지를 보냅니다. 두 개의 온도 조절기 센서가 있는 온도 컨트롤러를 구현하는 샘플을 실행합니다.

샘플 빌드

  1. 새 콘솔을 열어 Azure IoT C 디바이스 SDK를 설치하고 코드 샘플을 실행합니다. Windows의 경우 시작 메뉴에서 Developer Command Prompt for VS 2019를 선택하여 콘솔을 엽니다. Linux 및 Raspberry Pi OS의 경우 Bash 명령에 대한 터미널을 엽니다.

    참고 항목

    Azure CLI의 로컬 설치를 사용하는 경우 이제 두 개의 콘솔 창이 열려 있을 수 있습니다. CLI에 사용한 콘솔이 아니라 방금 연 콘솔에서 이 섹션의 명령을 입력해야 합니다.

  2. 샘플 리포지토리를 복제하려는 로컬 폴더로 이동합니다.

  3. Azure IoT C 디바이스 SDK를 로컬 컴퓨터에 복제합니다.

    git clone https://github.com/Azure/azure-iot-sdk-c.git
    
  4. SDK의 루트 폴더로 이동하고 다음 명령을 실행하여 종속성을 업데이트합니다.

    cd azure-iot-sdk-c
    git submodule update --init
    

    이 작업은 몇 분 정도 걸립니다.

  5. SDK 및 샘플을 빌드하려면 다음 명령을 실행합니다.

    cmake -Bcmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF
    cmake --build cmake
    
  6. 디바이스가 Azure IoT에 연결할 수 있도록 다음 환경 변수를 설정합니다.

    • IOTHUB_DEVICE_CONNECTION_STRING이라는 환경 변수를 설정합니다. 변수 값의 경우 이전 섹션에서 저장한 디바이스 연결 문자열을 사용합니다.
    • IOTHUB_DEVICE_SECURITY_TYPE이라는 환경 변수를 설정합니다. 변수의 경우 리터럴 문자열 값 connectionString을 사용합니다.

    CMD

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    참고 항목

    Windows CMD의 경우 각 변수의 문자열 값을 묶는 따옴표가 없습니다.

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    

코드 실행

  1. 콘솔에 적합한 명령을 사용하여 샘플 코드를 실행합니다.

    CMD

    cmake\iothub_client\samples\pnp\pnp_temperature_controller\Debug\pnp_temperature_controller.exe
    

    Bash

    cmake/iothub_client/samples/pnp/pnp_temperature_controller/pnp_temperature_controller
    

    참고 항목

    이 코드 샘플에서는 수동 구성 없이 솔루션에 스마트 디바이스를 통합할 수 있도록 하는 Azure IoT 플러그 앤 플레이를 사용합니다. 기본적으로 이 설명서에 있는 대부분의 샘플은 IoT 플러그 앤 플레이를 사용합니다. IoT PnP의 장점과 사용 여부에 대한 자세한 내용은 IoT 플러그 앤 플레이란?을 참조하세요.

샘플은 등록한 디바이스로 IoT 허브에 안전하게 연결하고 원격 분석 메시지를 보내기 시작합니다. 샘플 출력이 콘솔에 나타납니다.

원격 분석 데이터 보기

IoT Explorer를 사용하여 디바이스 원격 분석을 볼 수 있습니다. 선택적으로 Azure CLI를 사용하여 원격 분석을 볼 수 있습니다.

Azure IoT Explorer에서 원격 분석을 보려면

  1. IoT Explorer의 IoT 허브에서 이 허브의 디바이스 보기를 선택한 다음 목록에서 디바이스를 선택합니다.

  2. 디바이스의 왼쪽 메뉴에서 원격 분석을 선택합니다.

  3. 기본 제공 이벤트 허브 사용로 설정되어 있는지 확인한 다음, 시작을 선택합니다.

  4. 디바이스에서 메시지를 클라우드에 보낼 때 원격 분석을 봅니다.

    IoT Explorer의 디바이스 원격 분석 스크린샷

  5. 중지를 선택하여 수신 이벤트를 종료합니다.

개별 디바이스 구성 요소에서 보낸 원격 분석을 읽으려면 IoT Explorer의 플러그 앤 플레이 기능을 사용할 수 있습니다. 예를 들어 이 빠른 시작의 온도 컨트롤러에는 thermostat1과 thermostat2의 두 온도 조절기가 있습니다. thermostat1에서 보고한 온도를 보려면 다음 단계를 따르세요.

  1. IoT Explorer의 디바이스 왼쪽 메뉴에서 IoT 플러그 앤 플레이 구성 요소를 선택합니다. 그런 다음, 구성 요소 목록에서 thermostat1을 선택합니다.

  2. thermostat1 구성 요소 창의 상단 메뉴에서 원격 분석을 선택합니다.

  3. 원격 분석 창에서 이전과 동일한 단계를 따릅니다. 기본 제공 이벤트 허브 사용로 설정되어 있는지 확인한 다음, 시작을 선택합니다.

Azure CLI를 사용하여 디바이스 원격 분석을 보려면 다음을 수행합니다.

  1. az iot hub monitor-events 명령을 실행하여 디바이스에서 IoT Hub로 전송된 이벤트를 모니터링합니다. 이전에 디바이스 및 IoT Hub에 대해 Azure IoT에서 만든 이름을 사용합니다.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. 콘솔에서 연결 세부 정보 및 원격 분석 출력을 봅니다.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: ''
      interface: dtmi:com:example:TemperatureController;1
      module: ''
      origin: mydevice
      payload: '{"workingSet":1251}'
    
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;1
      module: ''
      origin: mydevice
      payload: '{"temperature":22.00}'
    

코드 찾아보기

이 빠른 시작에서는 기본 Azure IoT 애플리케이션 개발 워크플로에 대해 알아봅니다. Azure CLI 및 IoT Explorer를 사용하여 Azure IoT 허브와 디바이스를 만듭니다. 그런 다음 Azure IoT 디바이스 SDK 샘플을 사용하여 온도 컨트롤러를 실행하고, 허브에 안전하게 연결하고, 원격 분석을 보냅니다. 온도 컨트롤러 샘플 애플리케이션은 로컬 컴퓨터에서 실행되고 IoT Hub로 보낼 시뮬레이션된 센서 데이터를 생성합니다.

필수 조건

이 빠른 시작은 Windows, Linux 및 Raspberry Pi에서 실행됩니다. 다음 OS 및 디바이스 버전에서 테스트되었습니다.

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 Model B+에서 실행되는 Raspberry Pi OS(Raspbian) 버전 10

Raspberry Pi에 명시된 경우를 제외하고 다음 사전 요구 사항을 개발 컴퓨터에 설치합니다.

  • Azure 구독이 아직 없는 경우 시작하기 전에 무료 구독을 만듭니다.

  • Git

  • .NET Core SDK 3.1 런타임뿐만 아니라 .NET SDK를 설치해야 합니다. 머신에 설치된 .NET SDK 및 런타임 버전을 확인하려면 dotnet --info를 실행합니다.

    • Windows 및 Linux(Raspberry Pi 제외)의 경우 지침에 따라 플랫폼에 .NET Core SDK 3.1을 설치합니다.
    • Raspberry Pi의 경우 지침에 따라 SDK를 수동으로 설치해야 합니다. 이는 Debian에서 .NET SDK의 패키지 관리자 설치가 x64 아키텍처에 대해서만 지원되기 때문입니다.
  • Azure IoT Explorer: Azure IoT를 모니터링하고 관리하는 플랫폼 간 GUI 기반 유틸리티입니다. Raspberry Pi를 개발 플랫폼으로 사용하는 경우 IoT Explorer를 다른 컴퓨터에 설치하는 것이 좋습니다. IoT Explorer를 설치하지 않으려면 Azure CLI를 사용하여 동일한 단계를 수행할 수 있습니다.

  • Azure CLI 이 빠른 시작에서 Azure CLI 명령을 실행하기 위한 두 가지 옵션이 있습니다.

    • 브라우저에서 CLI 명령을 실행하는 대화형 셸인 Azure Cloud Shell을 사용합니다. 이 옵션은 아무 것도 설치할 필요가 없으므로 권장됩니다. 처음으로 Cloud Shell을 사용하는 경우 Azure Portal에 로그인합니다. Azure Cloud Shell 시작의 단계를 따라 Cloud Shell을 시작하고Bash 환경을 선택합니다.
    • 선택적으로 로컬 컴퓨터에서 Azure CLI를 실행합니다. Azure CLI가 이미 설치된 경우 az upgrade를 실행하여 CLI 및 확장을 현재 버전으로 업그레이드합니다. Azure CLI를 설치하는 방법은 Azure CLI 2.0 설치를 참조하세요. Raspberry Pi를 개발 플랫폼으로 사용하는 경우 Azure Cloud Shell을 사용하거나 Azure CLI를 다른 컴퓨터에 설치하는 것이 좋습니다.

IoT Hub 만들기

이 섹션에서는 Azure CLI를 사용하여 IoT 허브 및 리소스 그룹을 만듭니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다. IoT 허브는 IoT 애플리케이션과 디바이스 간의 양방향 통신을 위한 중앙 메시지 허브 역할을 합니다.

IoT 허브 및 리소스 그룹을 만들려면 다음을 수행합니다.

  1. Azure CLI를 시작합니다.

    • Cloud Shell을 사용하려면 CLI 명령에서 사용해 보기 단추를 선택하여 분할 브라우저 창에서 Cloud Shell을 시작합니다. 또는 별도의 브라우저 탭에서 Cloud Shell을 열 수 있습니다.
    • Azure CLI를 로컬로 사용하는 경우 Windows CMD, PowerShell 또는 Bash와 같은 콘솔을 열고 Azure CLI에 로그인합니다.

    이 빠른 시작의 나머지 부분에서 CLI 명령을 실행하려면 명령 구문을 복사하고 Cloud Shell 창이나 CLI 콘솔에 붙여넣고 변수 값을 편집한 다음, Enter 키를 누릅니다.

  2. az extension add를 실행하여 azure-iot 확장을 현재 버전으로 설치하거나 업그레이드합니다.

    az extension add --upgrade --name azure-iot
    
  3. az group create를 실행하여 리소스 그룹을 만듭니다. 다음 명령은 eastus 위치에 MyResourceGroup이라는 리소스 그룹을 만듭니다.

    참고 항목

    선택적으로 대체 위치를 설정할 수 있습니다. 사용 가능한 위치를 보려면 az account list-locations를 실행합니다. 이 자습서에서는 예제 명령에 표시된 대로 eastus를 사용합니다.

    az group create --name MyResourceGroup --location eastus
    
  4. az iot hub create 명령을 사용하여 IoT Hub를 만듭니다. IoT Hub를 만드는 데 몇 분 정도 걸릴 수 있습니다.

    YourIotHubName. IoT 허브에 대해 선택한 이름을 사용하여 다음 명령에서 이 자리 표시자와 주변 중괄호를 바꿉니다. IoT Hub 이름은 Azure에서 전역적으로 고유해야 합니다. 자리 표시자가 표시될 때마다 이 빠른 시작의 나머지 부분에서 IoT 허브 이름을 사용합니다.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

    IoT Hub를 만든 후 이 빠른 시작의 나머지 부분에서 Azure IoT Explorer를 사용하여 IoT Hub와 상호 작용합니다. IoT Explorer는 기존 IoT 허브에 연결하고 디바이스를 추가, 관리 및 모니터링할 수 있는 GUI 애플리케이션입니다. 자세히 알아보려면 Azure IoT 탐색기 설치 및 사용을 참조하세요. 선택적으로 CLI 명령을 계속 사용할 수 있습니다.

IoT Explorer 구성

이 빠른 시작의 나머지 부분에서는 IoT Explorer를 사용하여 IoT Hub에 디바이스를 등록하고 디바이스 원격 분석을 봅니다. 이 섹션에서는 방금 만든 IoT Hub에 연결하고 퍼블릭 모델 리포지토리에서 플러그 앤 플레이 모델을 읽도록 IoT Explorer를 구성합니다.

참고 항목

또한 Azure CLI를 사용하여 디바이스를 등록할 수 있습니다. az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} 명령을 사용하여 새 디바이스를 등록하고 az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} 명령을 사용하여 디바이스의 기본 연결 문자열을 가져옵니다. 디바이스 연결 문자열을 메모해 둔 후에는 디바이스 실행 샘플로 건너뛸 수 있습니다.

IoT Hub에 대한 연결을 추가하려면

  1. az iot hub connection-string show 명령을 실행하여 IoT 허브에 대한 연결 문자열을 가져옵니다.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. 따옴표 문자로 묶지 말고 연결 문자열을 복사합니다.

  3. Azure IoT Explorer의 왼쪽 메뉴에서 IoT Hub를 선택한 다음, + 연결 추가를 선택합니다.

  4. 연결 문자열을 연결 문자열 상자에 붙여넣습니다.

  5. 저장을 선택합니다.

    IoT Explorer에서 연결을 추가하는 스크린샷

  6. 연결에 성공하면 IoT Explorer가 디바이스 보기로 전환됩니다.

퍼블릭 모델 리포지토리를 추가하려면

  1. IoT Explorer에서 을 선택하여 홈 보기로 돌아갑니다.

  2. 왼쪽 메뉴에서 IoT 플러그 앤 플레이 설정을 선택한 다음, +추가를 선택하고 드롭다운 메뉴에서 러블릭 리포지토리를 선택합니다.

  3. https://devicemodels.azure.com에 있는 퍼블릭 모델 리포지토리에 대한 항목이 나타납니다.

    IoT Explorer에서 퍼블릭 모델 리포지토리를 추가하는 스크린샷

  4. 저장을 선택합니다.

디바이스 등록

이 섹션에서는 새 디바이스 인스턴스를 만들고 만든 IoT Hub에 등록합니다. 새로 등록된 디바이스의 연결 정보를 사용하여 이후 섹션에서 디바이스를 안전하게 연결합니다.

디바이스를 등록하려면

  1. IoT Explorer의 홈 보기에서 IoT Hub를 선택합니다.

  2. 이전에 추가한 연결이 표시됩니다. 연결 속성 아래에서 이 허브의 디바이스 보기를 선택합니다.

  3. + 새로 만들기를 선택하고 디바이스의 디바이스 ID(예: mydevice)를 입력합니다. 다른 모든 속성은 동일하게 유지합니다.

  4. 만들기를 실행합니다.

    Azure IoT Explorer 디바이스 ID의 스크린샷

  5. 복사 단추를 사용하여 기본 연결 문자열 필드를 복사하고 기록해 둡니다. 이 연결 문자열은 나중에 필요합니다.

디바이스 샘플 실행

이 섹션에서는 C# SDK를 사용하여 디바이스에서 IoT Hub로 메시지를 보냅니다. 두 개의 온도 조절기 센서가 있는 온도 컨트롤러를 구현하는 샘플을 실행합니다.

  1. 새 콘솔(예: Windows CMD, PowerShell 또는 Bash)을 엽니다. 다음 단계에서 이 콘솔을 사용하여 Node.js SDK를 설치하고 Node.js 샘플 코드로 작업합니다.

    참고 항목

    Azure CLI의 로컬 설치를 사용하는 경우 이제 두 개의 콘솔 창이 열려 있을 수 있습니다. CLI에 사용한 콘솔이 아니라 방금 연 콘솔에서 이 섹션의 명령을 입력해야 합니다.

  2. C#(.NET)용 Microsoft Azure IoT SDK를 로컬 컴퓨터에 복제합니다.

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  3. 샘플 디렉터리로 이동합니다.

    Windows

    cd azure-iot-sdk-csharp\iothub\device\samples\solutions\PnpDeviceSamples\TemperatureController
    

    Linux 또는 Raspberry Pi OS

    cd azure-iot-sdk-csharp/iothub/device/samples/solutions/PnpDeviceSamples/TemperatureController
    
  4. Azure IoT C# SDK 및 필요한 종속성을 설치합니다.

    dotnet restore
    

    이 명령은 TemperatureController.csproj 파일에 지정된 대로 적절한 종속성을 설치합니다.

  5. 디바이스가 Azure IoT에 연결할 수 있도록 다음 환경 변수를 모두 설정합니다.

    • IOTHUB_DEVICE_CONNECTION_STRING이라는 환경 변수를 설정합니다. 변수 값의 경우 이전 섹션에서 저장한 디바이스 연결 문자열을 사용합니다.
    • IOTHUB_DEVICE_SECURITY_TYPE이라는 환경 변수를 설정합니다. 변수의 경우 리터럴 문자열 값 connectionString을 사용합니다.

    CMD(Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    참고 항목

    Windows CMD의 경우 각 변수의 문자열 값을 묶는 따옴표가 없습니다.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. 코드 샘플을 실행합니다.

    dotnet run
    

    참고 항목

    이 코드 샘플에서는 수동 구성 없이 솔루션에 스마트 디바이스를 통합할 수 있도록 하는 Azure IoT 플러그 앤 플레이를 사용합니다. 기본적으로 이 설명서에 있는 대부분의 샘플은 IoT 플러그 앤 플레이를 사용합니다. IoT PnP의 장점과 사용 여부에 대한 자세한 내용은 IoT 플러그 앤 플레이란?을 참조하세요.

샘플은 등록한 디바이스로 IoT 허브에 안전하게 연결하고 원격 분석 메시지를 보내기 시작합니다. 샘플 출력이 콘솔에 나타납니다.

원격 분석 데이터 보기

IoT Explorer를 사용하여 디바이스 원격 분석을 볼 수 있습니다. 선택적으로 Azure CLI를 사용하여 원격 분석을 볼 수 있습니다.

Azure IoT Explorer에서 원격 분석을 보려면

  1. IoT Explorer의 IoT 허브에서 이 허브의 디바이스 보기를 선택한 다음 목록에서 디바이스를 선택합니다.

  2. 디바이스의 왼쪽 메뉴에서 원격 분석을 선택합니다.

  3. 기본 제공 이벤트 허브 사용로 설정되어 있는지 확인한 다음, 시작을 선택합니다.

  4. 디바이스에서 메시지를 클라우드에 보낼 때 원격 분석을 봅니다.

    IoT Explorer의 디바이스 원격 분석 스크린샷

  5. 중지를 선택하여 수신 이벤트를 종료합니다.

개별 디바이스 구성 요소에서 보낸 원격 분석을 읽으려면 IoT Explorer의 플러그 앤 플레이 기능을 사용할 수 있습니다. 예를 들어 이 빠른 시작의 온도 컨트롤러에는 thermostat1과 thermostat2의 두 온도 조절기가 있습니다. thermostat1에서 보고한 온도를 보려면 다음 단계를 따르세요.

  1. IoT Explorer의 디바이스 왼쪽 메뉴에서 IoT 플러그 앤 플레이 구성 요소를 선택합니다. 그런 다음, 구성 요소 목록에서 thermostat1을 선택합니다.

  2. thermostat1 구성 요소 창의 상단 메뉴에서 원격 분석을 선택합니다.

  3. 원격 분석 창에서 이전과 동일한 단계를 따릅니다. 기본 제공 이벤트 허브 사용로 설정되어 있는지 확인한 다음, 시작을 선택합니다.

Azure CLI를 사용하여 디바이스 원격 분석을 보려면 다음을 수행합니다.

  1. az iot hub monitor-events 명령을 실행하여 디바이스에서 IoT Hub로 전송된 이벤트를 모니터링합니다. 이전에 디바이스 및 IoT Hub에 대해 Azure IoT에서 만든 이름을 사용합니다.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. 콘솔에서 연결 세부 정보 및 원격 분석 출력을 봅니다.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 39.8
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 36.7
    
  3. Ctrl+C를 선택하여 모니터링을 종료합니다.

코드 찾아보기

이 빠른 시작에서는 기본 Azure IoT 애플리케이션 개발 워크플로에 대해 알아봅니다. Azure CLI 및 IoT Explorer를 사용하여 Azure IoT 허브와 디바이스를 만듭니다. 그런 다음 Azure IoT 디바이스 SDK 샘플을 사용하여 온도 컨트롤러를 실행하고, 허브에 안전하게 연결하고, 원격 분석을 보냅니다. 온도 컨트롤러 샘플 애플리케이션은 로컬 컴퓨터에서 실행되고 IoT Hub로 보낼 시뮬레이션된 센서 데이터를 생성합니다.

필수 조건

이 빠른 시작은 Windows, Linux 및 Raspberry Pi에서 실행됩니다. 다음 OS 및 디바이스 버전에서 테스트되었습니다.

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 Model B+에서 실행되는 Raspberry Pi OS(Raspbian) 버전 10

Raspberry Pi에 명시된 경우를 제외하고 다음 사전 요구 사항을 개발 컴퓨터에 설치합니다.

  • Azure 구독이 아직 없는 경우 시작하기 전에 무료 구독을 만듭니다.
  • Git
  • Azure IoT Explorer: Azure IoT를 모니터링하고 관리하는 플랫폼 간 GUI 기반 유틸리티입니다. Raspberry Pi를 개발 플랫폼으로 사용하는 경우 IoT Explorer를 다른 컴퓨터에 설치하는 것이 좋습니다. IoT Explorer를 설치하지 않으려면 Azure CLI를 사용하여 동일한 단계를 수행할 수 있습니다.
  • Azure CLI 이 빠른 시작에서 Azure CLI 명령을 실행하기 위한 두 가지 옵션이 있습니다.
    • 브라우저에서 CLI 명령을 실행하는 대화형 셸인 Azure Cloud Shell을 사용합니다. 이 옵션은 아무 것도 설치할 필요가 없으므로 권장됩니다. 처음으로 Cloud Shell을 사용하는 경우 Azure Portal에 로그인합니다. Azure Cloud Shell 시작의 단계를 따라 Cloud Shell을 시작하고Bash 환경을 선택합니다.
    • 선택적으로 로컬 컴퓨터에서 Azure CLI를 실행합니다. Azure CLI가 이미 설치된 경우 az upgrade를 실행하여 CLI 및 확장을 현재 버전으로 업그레이드합니다. Azure CLI를 설치하는 방법은 Azure CLI 2.0 설치를 참조하세요. Raspberry Pi를 개발 플랫폼으로 사용하는 경우 Azure Cloud Shell을 사용하거나 Azure CLI를 다른 컴퓨터에 설치하는 것이 좋습니다.

운영 체제의 나머지 필수 구성 요소를 설치합니다.

Windows

Windows에서 이 빠른 시작을 완료하려면 다음 소프트웨어를 설치합니다.

  • Java SE Development Kit 8 이상. 여러 플랫폼용 Java 8(LTS) JDK는 OpenJDK의 Zulu 빌드 다운로드에서 다운로드할 수 있습니다. 설치 프로그램에서 경로에 추가 옵션을 선택합니다.

  • Apache Maven 3. 다운로드를 로컬 폴더로 추출한 후 Maven /bin 폴더의 전체 경로를 Windows PATH 환경 변수에 추가합니다.

Linux 또는 Raspberry Pi OS

Linux 또는 Raspberry Pi OS에서 이 빠른 시작을 완료하려면 다음 소프트웨어를 설치합니다.

참고 항목

이 섹션의 단계는 Linux Ubuntu/Debian 배포판을 기준으로 합니다. Raspberry Pi OS는 Debian을 기준으로 합니다. 다른 Linux 배포판을 사용하는 경우 해당 단계를 적절하게 수정해야 합니다.

  • OpenJDK(Open Java Development Kit) 8 이상. java -version 명령을 사용하여 시스템에 설치된 Java 버전을 확인할 수 있습니다. JRE(Java 런타임) 뿐만 아니라 JDK가 설치되어 있는지 확인합니다.

    1. 사용하는 시스템용 OpenJDK를 설치하려면 다음 명령을 입력합니다.

      사용하는 시스템용 OpenJDK의 기본 버전을 설치하려면(작성 당시 Ubuntu 20.04 및 Raspberry Pi OS 10용 OpenJDK 11) 다음을 수행합니다.

      sudo apt update
      sudo apt install default-jdk
      

      또는 설치할 JDK 버전을 지정할 수 있습니다. 예시:

      sudo apt update
      sudo apt install openjdk-8-jdk
      
    2. 시스템에 여러 버전의 Java가 설치되어 있는 경우 다음 명령을 사용하여 Java 및 Java 컴파일러의 기본(자동) 버전을 구성할 수 있습니다.

      update-java-alternatives --list          #list the Java versions installed
      sudo update-alternatives --config java   #set the default Java version
      sudo  update-alternatives --config javac #set the default Java compiler version
      
    3. JAVA_HOME 환경 변수를 JDK 설치 경로로 설정합니다. 일반적으로 /usr/lib/jvm 디렉터리의 버전이 지정된 하위 디렉터리입니다.

      export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
      

      Important

      이 명령은 현재 셸 환경에서 JAVA_HOME 변수를 설정합니다. 새 셸을 열 때마다 사용할 수 있도록 ~/.bashrc 또는 /etc/profile 파일에 이 명령을 추가하는 것이 좋습니다.

    4. 설치된 Java JDK(및 JRE) 버전, Java 컴파일러 버전이 JDK 버전과 일치하는지와 JAVA_HOME 환경 변수가 제대로 설정되었는지 확인합니다.

      java -version
      javac -version
      echo $JAVA_HOME
      
  • Apache Maven 3 mvn --version 명령을 사용하여 사용 중인 시스템에 설치된 Maven 버전을 확인할 수 있습니다.

    1. Maven을 설치하려면 다음 명령을 입력합니다.

      sudo apt-get update
      sudo apt-get install maven
      
    2. 다음 명령을 입력하여 설치를 확인합니다.

      mvn --version
      

IoT Hub 만들기

이 섹션에서는 Azure CLI를 사용하여 IoT 허브 및 리소스 그룹을 만듭니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다. IoT 허브는 IoT 애플리케이션과 디바이스 간의 양방향 통신을 위한 중앙 메시지 허브 역할을 합니다.

IoT 허브 및 리소스 그룹을 만들려면 다음을 수행합니다.

  1. Azure CLI를 시작합니다.

    • Cloud Shell을 사용하려면 CLI 명령에서 사용해 보기 단추를 선택하여 분할 브라우저 창에서 Cloud Shell을 시작합니다. 또는 별도의 브라우저 탭에서 Cloud Shell을 열 수 있습니다.
    • Azure CLI를 로컬로 사용하는 경우 Windows CMD, PowerShell 또는 Bash와 같은 콘솔을 열고 Azure CLI에 로그인합니다.

    이 빠른 시작의 나머지 부분에서 CLI 명령을 실행하려면 명령 구문을 복사하고 Cloud Shell 창이나 CLI 콘솔에 붙여넣고 변수 값을 편집한 다음, Enter 키를 누릅니다.

  2. az extension add를 실행하여 azure-iot 확장을 현재 버전으로 설치하거나 업그레이드합니다.

    az extension add --upgrade --name azure-iot
    
  3. az group create를 실행하여 리소스 그룹을 만듭니다. 다음 명령은 eastus 위치에 MyResourceGroup이라는 리소스 그룹을 만듭니다.

    참고 항목

    선택적으로 대체 위치를 설정할 수 있습니다. 사용 가능한 위치를 보려면 az account list-locations를 실행합니다. 이 자습서에서는 예제 명령에 표시된 대로 eastus를 사용합니다.

    az group create --name MyResourceGroup --location eastus
    
  4. az iot hub create 명령을 사용하여 IoT Hub를 만듭니다. IoT Hub를 만드는 데 몇 분 정도 걸릴 수 있습니다.

    YourIotHubName. IoT 허브에 대해 선택한 이름을 사용하여 다음 명령에서 이 자리 표시자와 주변 중괄호를 바꿉니다. IoT Hub 이름은 Azure에서 전역적으로 고유해야 합니다. 자리 표시자가 표시될 때마다 이 빠른 시작의 나머지 부분에서 IoT 허브 이름을 사용합니다.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

    IoT Hub를 만든 후 이 빠른 시작의 나머지 부분에서 Azure IoT Explorer를 사용하여 IoT Hub와 상호 작용합니다. IoT Explorer는 기존 IoT 허브에 연결하고 디바이스를 추가, 관리 및 모니터링할 수 있는 GUI 애플리케이션입니다. 자세히 알아보려면 Azure IoT 탐색기 설치 및 사용을 참조하세요. 선택적으로 CLI 명령을 계속 사용할 수 있습니다.

IoT Explorer 구성

이 빠른 시작의 나머지 부분에서는 IoT Explorer를 사용하여 IoT Hub에 디바이스를 등록하고 디바이스 원격 분석을 봅니다. 이 섹션에서는 방금 만든 IoT Hub에 연결하고 퍼블릭 모델 리포지토리에서 플러그 앤 플레이 모델을 읽도록 IoT Explorer를 구성합니다.

참고 항목

또한 Azure CLI를 사용하여 디바이스를 등록할 수 있습니다. az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} 명령을 사용하여 새 디바이스를 등록하고 az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} 명령을 사용하여 디바이스의 기본 연결 문자열을 가져옵니다. 디바이스 연결 문자열을 메모해 둔 후에는 디바이스 실행 샘플로 건너뛸 수 있습니다.

IoT Hub에 대한 연결을 추가하려면

  1. az iot hub connection-string show 명령을 실행하여 IoT 허브에 대한 연결 문자열을 가져옵니다.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. 따옴표 문자로 묶지 말고 연결 문자열을 복사합니다.

  3. Azure IoT Explorer의 왼쪽 메뉴에서 IoT Hub를 선택한 다음, + 연결 추가를 선택합니다.

  4. 연결 문자열을 연결 문자열 상자에 붙여넣습니다.

  5. 저장을 선택합니다.

    IoT Explorer에서 연결을 추가하는 스크린샷

  6. 연결에 성공하면 IoT Explorer가 디바이스 보기로 전환됩니다.

퍼블릭 모델 리포지토리를 추가하려면

  1. IoT Explorer에서 을 선택하여 홈 보기로 돌아갑니다.

  2. 왼쪽 메뉴에서 IoT 플러그 앤 플레이 설정을 선택한 다음, +추가를 선택하고 드롭다운 메뉴에서 러블릭 리포지토리를 선택합니다.

  3. https://devicemodels.azure.com에 있는 퍼블릭 모델 리포지토리에 대한 항목이 나타납니다.

    IoT Explorer에서 퍼블릭 모델 리포지토리를 추가하는 스크린샷

  4. 저장을 선택합니다.

디바이스 등록

이 섹션에서는 새 디바이스 인스턴스를 만들고 만든 IoT Hub에 등록합니다. 새로 등록된 디바이스의 연결 정보를 사용하여 이후 섹션에서 디바이스를 안전하게 연결합니다.

디바이스를 등록하려면

  1. IoT Explorer의 홈 보기에서 IoT Hub를 선택합니다.

  2. 이전에 추가한 연결이 표시됩니다. 연결 속성 아래에서 이 허브의 디바이스 보기를 선택합니다.

  3. + 새로 만들기를 선택하고 디바이스의 디바이스 ID(예: mydevice)를 입력합니다. 다른 모든 속성은 동일하게 유지합니다.

  4. 만들기를 실행합니다.

    Azure IoT Explorer 디바이스 ID의 스크린샷

  5. 복사 단추를 사용하여 기본 연결 문자열 필드를 복사하고 기록해 둡니다. 이 연결 문자열은 나중에 필요합니다.

디바이스 샘플 실행

이 섹션에서는 Java SDK를 사용하여 디바이스에서 IoT Hub로 메시지를 보냅니다. 두 개의 온도 조절기 센서가 있는 온도 컨트롤러를 구현하는 샘플을 실행합니다.

  1. 콘솔을 열어 Azure IoT Java 디바이스 SDK를 설치하고, 빌드하고, 코드 샘플을 실행합니다. 다음 단계에서 이 콘솔을 사용합니다.

    참고 항목

    Azure CLI의 로컬 설치를 사용하는 경우 이제 두 개의 콘솔 창이 열려 있을 수 있습니다. CLI에 사용한 콘솔이 아니라 방금 연 콘솔에서 이 섹션의 명령을 입력해야 합니다.

    Linux 및 Raspberry Pi OS

    JAVA_HOME(echo $JAVA_HOME) 환경 변수가 설정되어 있는지 확인합니다. JAVA_HOME 설정에 대한 내용은 Linux/Raspberry Pi 필수 조건을 참조하세요.

  2. Azure IoT Java 디바이스 SDK를 로컬 컴퓨터에 복제합니다.

    git clone https://github.com/Azure/azure-iot-sdk-java.git
    
  3. SDK의 루트 폴더로 이동하고 다음 명령을 실행하여 SDK를 빌드한 후 샘플을 업데이트합니다.

    cd azure-iot-sdk-java
    mvn install -T 2C -DskipTests
    

    이 작업은 몇 분이 걸립니다.

  4. 디바이스가 Azure IoT에 연결할 수 있도록 다음 환경 변수를 설정합니다.

    • IOTHUB_DEVICE_CONNECTION_STRING이라는 환경 변수를 설정합니다. 변수 값의 경우 이전 섹션에서 저장한 디바이스 연결 문자열을 사용합니다.
    • IOTHUB_DEVICE_SECURITY_TYPE이라는 환경 변수를 설정합니다. 변수의 경우 리터럴 문자열 값 connectionString을 사용합니다.

    CMD

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    참고 항목

    Windows CMD의 경우 각 변수의 문자열 값을 묶는 따옴표가 없습니다.

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  5. 샘플 디렉터리로 이동합니다.

    CMD

    cd device\iot-device-samples\pnp-device-sample\temperature-controller-device-sample
    

    Bash

    cd device/iot-device-samples/pnp-device-sample/temperature-controller-device-sample
    
  6. 코드 샘플을 실행합니다.

    java -jar -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.TemperatureController"
    

    참고 항목

    이 코드 샘플에서는 수동 구성 없이 솔루션에 스마트 디바이스를 통합할 수 있도록 하는 Azure IoT 플러그 앤 플레이를 사용합니다. 기본적으로 이 설명서에 있는 대부분의 샘플은 IoT 플러그 앤 플레이를 사용합니다. IoT PnP의 장점과 사용 여부에 대한 자세한 내용은 IoT 플러그 앤 플레이란?을 참조하세요.

샘플은 등록한 디바이스로 IoT 허브에 안전하게 연결하고 원격 분석 메시지를 보내기 시작합니다. 샘플 출력이 콘솔에 나타납니다.

원격 분석 데이터 보기

IoT Explorer를 사용하여 디바이스 원격 분석을 볼 수 있습니다. 선택적으로 Azure CLI를 사용하여 원격 분석을 볼 수 있습니다.

Azure IoT Explorer에서 원격 분석을 보려면

  1. IoT Explorer의 IoT 허브에서 이 허브의 디바이스 보기를 선택한 다음 목록에서 디바이스를 선택합니다.

  2. 디바이스의 왼쪽 메뉴에서 원격 분석을 선택합니다.

  3. 기본 제공 이벤트 허브 사용로 설정되어 있는지 확인한 다음, 시작을 선택합니다.

  4. 디바이스에서 메시지를 클라우드에 보낼 때 원격 분석을 봅니다.

    IoT Explorer의 디바이스 원격 분석 스크린샷

  5. 중지를 선택하여 수신 이벤트를 종료합니다.

개별 디바이스 구성 요소에서 보낸 원격 분석을 읽으려면 IoT Explorer의 플러그 앤 플레이 기능을 사용할 수 있습니다. 예를 들어 이 빠른 시작의 온도 컨트롤러에는 thermostat1과 thermostat2의 두 온도 조절기가 있습니다. thermostat1에서 보고한 온도를 보려면 다음 단계를 따르세요.

  1. IoT Explorer의 디바이스 왼쪽 메뉴에서 IoT 플러그 앤 플레이 구성 요소를 선택합니다. 그런 다음, 구성 요소 목록에서 thermostat1을 선택합니다.

  2. thermostat1 구성 요소 창의 상단 메뉴에서 원격 분석을 선택합니다.

  3. 원격 분석 창에서 이전과 동일한 단계를 따릅니다. 기본 제공 이벤트 허브 사용로 설정되어 있는지 확인한 다음, 시작을 선택합니다.

Azure CLI를 사용하여 디바이스 원격 분석을 보려면 다음을 수행합니다.

  1. az iot hub monitor-events 명령을 실행하여 디바이스에서 IoT Hub로 전송된 이벤트를 모니터링합니다. 이전에 디바이스 및 IoT Hub에 대해 Azure IoT에서 만든 이름을 사용합니다.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. 콘솔에서 연결 세부 정보 및 원격 분석 출력을 봅니다.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 24.1
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 33.3
    

코드 찾아보기

이 빠른 시작에서는 기본 Azure IoT 애플리케이션 개발 워크플로에 대해 알아봅니다. Azure CLI 및 IoT Explorer를 사용하여 Azure IoT 허브와 디바이스를 만듭니다. 그런 다음 Azure IoT 디바이스 SDK 샘플을 사용하여 온도 컨트롤러를 실행하고, 허브에 안전하게 연결하고, 원격 분석을 보냅니다. 온도 컨트롤러 샘플 애플리케이션은 로컬 컴퓨터에서 실행되고 IoT Hub로 보낼 시뮬레이션된 센서 데이터를 생성합니다.

필수 조건

이 빠른 시작은 Windows, Linux 및 Raspberry Pi에서 실행됩니다. 다음 OS 및 디바이스 버전에서 테스트되었습니다.

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 Model B+에서 실행되는 Raspberry Pi OS(Raspbian) 버전 10

Raspberry Pi에 명시된 경우를 제외하고 다음 사전 요구 사항을 개발 컴퓨터에 설치합니다.

  • Azure 구독이 아직 없는 경우 시작하기 전에 무료 구독을 만듭니다.
  • Git
  • Node.js 버전 12 이상 노드 버전을 확인하려면 node --version을 실행합니다.
  • Azure IoT Explorer: Azure IoT를 모니터링하고 관리하는 플랫폼 간 GUI 기반 유틸리티입니다. Raspberry Pi를 개발 플랫폼으로 사용하는 경우 IoT Explorer를 다른 컴퓨터에 설치하는 것이 좋습니다. IoT Explorer를 설치하지 않으려면 Azure CLI를 사용하여 동일한 단계를 수행할 수 있습니다.
  • Azure CLI 이 빠른 시작에서 Azure CLI 명령을 실행하기 위한 두 가지 옵션이 있습니다.
    • 브라우저에서 CLI 명령을 실행하는 대화형 셸인 Azure Cloud Shell을 사용합니다. 이 옵션은 아무 것도 설치할 필요가 없으므로 권장됩니다. 처음으로 Cloud Shell을 사용하는 경우 Azure Portal에 로그인합니다. Azure Cloud Shell 시작의 단계를 따라 Cloud Shell을 시작하고Bash 환경을 선택합니다.
    • 선택적으로 로컬 컴퓨터에서 Azure CLI를 실행합니다. Azure CLI가 이미 설치된 경우 az upgrade를 실행하여 CLI 및 확장을 현재 버전으로 업그레이드합니다. Azure CLI를 설치하는 방법은 Azure CLI 2.0 설치를 참조하세요. Raspberry Pi를 개발 플랫폼으로 사용하는 경우 Azure Cloud Shell을 사용하거나 Azure CLI를 다른 컴퓨터에 설치하는 것이 좋습니다.

IoT Hub 만들기

이 섹션에서는 Azure CLI를 사용하여 IoT 허브 및 리소스 그룹을 만듭니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다. IoT 허브는 IoT 애플리케이션과 디바이스 간의 양방향 통신을 위한 중앙 메시지 허브 역할을 합니다.

IoT 허브 및 리소스 그룹을 만들려면 다음을 수행합니다.

  1. Azure CLI를 시작합니다.

    • Cloud Shell을 사용하려면 CLI 명령에서 사용해 보기 단추를 선택하여 분할 브라우저 창에서 Cloud Shell을 시작합니다. 또는 별도의 브라우저 탭에서 Cloud Shell을 열 수 있습니다.
    • Azure CLI를 로컬로 사용하는 경우 Windows CMD, PowerShell 또는 Bash와 같은 콘솔을 열고 Azure CLI에 로그인합니다.

    이 빠른 시작의 나머지 부분에서 CLI 명령을 실행하려면 명령 구문을 복사하고 Cloud Shell 창이나 CLI 콘솔에 붙여넣고 변수 값을 편집한 다음, Enter 키를 누릅니다.

  2. az extension add를 실행하여 azure-iot 확장을 현재 버전으로 설치하거나 업그레이드합니다.

    az extension add --upgrade --name azure-iot
    
  3. az group create를 실행하여 리소스 그룹을 만듭니다. 다음 명령은 eastus 위치에 MyResourceGroup이라는 리소스 그룹을 만듭니다.

    참고 항목

    선택적으로 대체 위치를 설정할 수 있습니다. 사용 가능한 위치를 보려면 az account list-locations를 실행합니다. 이 자습서에서는 예제 명령에 표시된 대로 eastus를 사용합니다.

    az group create --name MyResourceGroup --location eastus
    
  4. az iot hub create 명령을 사용하여 IoT Hub를 만듭니다. IoT Hub를 만드는 데 몇 분 정도 걸릴 수 있습니다.

    YourIotHubName. IoT 허브에 대해 선택한 이름을 사용하여 다음 명령에서 이 자리 표시자와 주변 중괄호를 바꿉니다. IoT Hub 이름은 Azure에서 전역적으로 고유해야 합니다. 자리 표시자가 표시될 때마다 이 빠른 시작의 나머지 부분에서 IoT 허브 이름을 사용합니다.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

    IoT Hub를 만든 후 이 빠른 시작의 나머지 부분에서 Azure IoT Explorer를 사용하여 IoT Hub와 상호 작용합니다. IoT Explorer는 기존 IoT 허브에 연결하고 디바이스를 추가, 관리 및 모니터링할 수 있는 GUI 애플리케이션입니다. 자세히 알아보려면 Azure IoT 탐색기 설치 및 사용을 참조하세요. 선택적으로 CLI 명령을 계속 사용할 수 있습니다.

IoT Explorer 구성

이 빠른 시작의 나머지 부분에서는 IoT Explorer를 사용하여 IoT Hub에 디바이스를 등록하고 디바이스 원격 분석을 봅니다. 이 섹션에서는 방금 만든 IoT Hub에 연결하고 퍼블릭 모델 리포지토리에서 플러그 앤 플레이 모델을 읽도록 IoT Explorer를 구성합니다.

참고 항목

또한 Azure CLI를 사용하여 디바이스를 등록할 수 있습니다. az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} 명령을 사용하여 새 디바이스를 등록하고 az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} 명령을 사용하여 디바이스의 기본 연결 문자열을 가져옵니다. 디바이스 연결 문자열을 메모해 둔 후에는 디바이스 실행 샘플로 건너뛸 수 있습니다.

IoT Hub에 대한 연결을 추가하려면

  1. az iot hub connection-string show 명령을 실행하여 IoT 허브에 대한 연결 문자열을 가져옵니다.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. 따옴표 문자로 묶지 말고 연결 문자열을 복사합니다.

  3. Azure IoT Explorer의 왼쪽 메뉴에서 IoT Hub를 선택한 다음, + 연결 추가를 선택합니다.

  4. 연결 문자열을 연결 문자열 상자에 붙여넣습니다.

  5. 저장을 선택합니다.

    IoT Explorer에서 연결을 추가하는 스크린샷

  6. 연결에 성공하면 IoT Explorer가 디바이스 보기로 전환됩니다.

퍼블릭 모델 리포지토리를 추가하려면

  1. IoT Explorer에서 을 선택하여 홈 보기로 돌아갑니다.

  2. 왼쪽 메뉴에서 IoT 플러그 앤 플레이 설정을 선택한 다음, +추가를 선택하고 드롭다운 메뉴에서 러블릭 리포지토리를 선택합니다.

  3. https://devicemodels.azure.com에 있는 퍼블릭 모델 리포지토리에 대한 항목이 나타납니다.

    IoT Explorer에서 퍼블릭 모델 리포지토리를 추가하는 스크린샷

  4. 저장을 선택합니다.

디바이스 등록

이 섹션에서는 새 디바이스 인스턴스를 만들고 만든 IoT Hub에 등록합니다. 새로 등록된 디바이스의 연결 정보를 사용하여 이후 섹션에서 디바이스를 안전하게 연결합니다.

디바이스를 등록하려면

  1. IoT Explorer의 홈 보기에서 IoT Hub를 선택합니다.

  2. 이전에 추가한 연결이 표시됩니다. 연결 속성 아래에서 이 허브의 디바이스 보기를 선택합니다.

  3. + 새로 만들기를 선택하고 디바이스의 디바이스 ID(예: mydevice)를 입력합니다. 다른 모든 속성은 동일하게 유지합니다.

  4. 만들기를 실행합니다.

    Azure IoT Explorer 디바이스 ID의 스크린샷

  5. 복사 단추를 사용하여 기본 연결 문자열 필드를 복사하고 기록해 둡니다. 이 연결 문자열은 나중에 필요합니다.

디바이스 샘플 실행

이 섹션에서는 Node.js SDK를 사용하여 디바이스에서 IoT Hub로 메시지를 보냅니다. 두 개의 온도 조절기 센서가 있는 온도 컨트롤러를 구현하는 샘플을 실행합니다.

  1. 새 콘솔(예: Windows CMD, PowerShell 또는 Bash)을 엽니다. 다음 단계에서 이 콘솔을 사용하여 Node.js SDK를 설치하고 Node.js 샘플 코드로 작업합니다.

    참고 항목

    Azure CLI의 로컬 설치를 사용하는 경우 이제 두 개의 콘솔 창이 열려 있을 수 있습니다. CLI에 사용한 콘솔이 아니라 방금 연 콘솔에서 이 섹션의 명령을 입력해야 합니다.

  2. Azure IoT Node.js SDK 디바이스 샘플을 로컬 컴퓨터에 복제합니다.

    git clone https://github.com/Azure/azure-iot-sdk-node
    
  3. 샘플 디렉터리로 이동합니다.

    Windows

    cd azure-iot-sdk-node\device\samples\javascript
    

    Linux 또는 Raspberry Pi OS

    cd azure-iot-sdk-node/device/samples/javascript
    
  4. Azure IoT Node.js SDK 및 필요한 종속성을 설치합니다.

    npm install
    

    이 명령은 디바이스 샘플 디렉터리의 package.json 파일에 지정된 대로 적절한 종속성을 설치합니다.

  5. 디바이스가 Azure IoT에 연결할 수 있도록 다음 환경 변수를 모두 설정합니다.

    • IOTHUB_DEVICE_CONNECTION_STRING이라는 환경 변수를 설정합니다. 변수 값의 경우 이전 섹션에서 저장한 디바이스 연결 문자열을 사용합니다.
    • IOTHUB_DEVICE_SECURITY_TYPE이라는 환경 변수를 설정합니다. 변수의 경우 리터럴 문자열 값 connectionString을 사용합니다.

    CMD(Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    참고 항목

    Windows CMD의 경우 각 변수의 문자열 값을 묶는 따옴표가 없습니다.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. 다음 코드 샘플을 실행합니다.

    node pnp_temperature_controller.js
    

    참고 항목

    이 코드 샘플에서는 수동 구성 없이 솔루션에 스마트 디바이스를 통합할 수 있도록 하는 Azure IoT 플러그 앤 플레이를 사용합니다. 기본적으로 이 설명서에 있는 대부분의 샘플은 IoT 플러그 앤 플레이를 사용합니다. IoT PnP의 장점과 사용 여부에 대한 자세한 내용은 IoT 플러그 앤 플레이란?을 참조하세요.

샘플은 등록한 디바이스로 IoT 허브에 안전하게 연결하고 원격 분석 메시지를 보내기 시작합니다. 샘플 출력이 콘솔에 나타납니다.

원격 분석 데이터 보기

IoT Explorer를 사용하여 디바이스 원격 분석을 볼 수 있습니다. 선택적으로 Azure CLI를 사용하여 원격 분석을 볼 수 있습니다.

Azure IoT Explorer에서 원격 분석을 보려면

  1. IoT Explorer의 IoT 허브에서 이 허브의 디바이스 보기를 선택한 다음 목록에서 디바이스를 선택합니다.

  2. 디바이스의 왼쪽 메뉴에서 원격 분석을 선택합니다.

  3. 기본 제공 이벤트 허브 사용로 설정되어 있는지 확인한 다음, 시작을 선택합니다.

  4. 디바이스에서 메시지를 클라우드에 보낼 때 원격 분석을 봅니다.

    IoT Explorer의 디바이스 원격 분석 스크린샷

  5. 중지를 선택하여 수신 이벤트를 종료합니다.

개별 디바이스 구성 요소에서 보낸 원격 분석을 읽으려면 IoT Explorer의 플러그 앤 플레이 기능을 사용할 수 있습니다. 예를 들어 이 빠른 시작의 온도 컨트롤러에는 thermostat1과 thermostat2의 두 온도 조절기가 있습니다. thermostat1에서 보고한 온도를 보려면 다음 단계를 따르세요.

  1. IoT Explorer의 디바이스 왼쪽 메뉴에서 IoT 플러그 앤 플레이 구성 요소를 선택합니다. 그런 다음, 구성 요소 목록에서 thermostat1을 선택합니다.

  2. thermostat1 구성 요소 창의 상단 메뉴에서 원격 분석을 선택합니다.

  3. 원격 분석 창에서 이전과 동일한 단계를 따릅니다. 기본 제공 이벤트 허브 사용로 설정되어 있는지 확인한 다음, 시작을 선택합니다.

Azure CLI를 사용하여 디바이스 원격 분석을 보려면 다음을 수행합니다.

  1. az iot hub monitor-events 명령을 실행하여 디바이스에서 IoT Hub로 전송된 이벤트를 모니터링합니다. 이전에 디바이스 및 IoT Hub에 대해 Azure IoT에서 만든 이름을 사용합니다.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. 콘솔에서 연결 세부 정보 및 원격 분석 출력을 봅니다.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 70.5897683228018
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 52.87582619316418
    

코드 찾아보기

이 빠른 시작에서는 기본 Azure IoT 애플리케이션 개발 워크플로에 대해 알아봅니다. Azure CLI 및 IoT Explorer를 사용하여 Azure IoT 허브와 디바이스를 만듭니다. 그런 다음 Azure IoT 디바이스 SDK 샘플을 사용하여 온도 컨트롤러를 실행하고, 허브에 안전하게 연결하고, 원격 분석을 보냅니다. 온도 컨트롤러 샘플 애플리케이션은 로컬 컴퓨터에서 실행되고 IoT Hub로 보낼 시뮬레이션된 센서 데이터를 생성합니다.

필수 조건

이 빠른 시작은 Windows, Linux 및 Raspberry Pi에서 실행됩니다. 다음 OS 및 디바이스 버전에서 테스트되었습니다.

  • Windows 10 또는 Windows 11
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 Model B+에서 실행되는 Raspberry Pi OS(Raspbian) 버전 10

Raspberry Pi에 명시된 경우를 제외하고 다음 사전 요구 사항을 개발 컴퓨터에 설치합니다.

  • Azure 구독이 아직 없는 경우 시작하기 전에 무료 구독을 만듭니다.
  • Git
  • Python. 현재 Python 버전 요구 사항에 대해서는 Azure IoT Python SDK를 확인합니다. Python 버전을 확인하려면 python3 --version을 실행합니다.
  • Azure IoT Explorer: Azure IoT를 모니터링하고 관리하는 플랫폼 간 GUI 기반 유틸리티입니다. Raspberry Pi를 개발 플랫폼으로 사용하는 경우 IoT Explorer를 다른 컴퓨터에 설치하는 것이 좋습니다. IoT Explorer를 설치하지 않으려면 Azure CLI를 사용하여 동일한 단계를 수행할 수 있습니다.
  • Azure CLI 이 빠른 시작에서 Azure CLI 명령을 실행하기 위한 두 가지 옵션이 있습니다.
    • 브라우저에서 CLI 명령을 실행하는 대화형 셸인 Azure Cloud Shell을 사용합니다. 이 옵션은 아무 것도 설치할 필요가 없으므로 권장됩니다. 처음으로 Cloud Shell을 사용하는 경우 Azure Portal에 로그인합니다. Azure Cloud Shell 시작의 단계를 따라 Cloud Shell을 시작하고Bash 환경을 선택합니다.
    • 선택적으로 로컬 컴퓨터에서 Azure CLI를 실행합니다. Azure CLI가 이미 설치된 경우 az upgrade를 실행하여 CLI 및 확장을 현재 버전으로 업그레이드합니다. Azure CLI를 설치하는 방법은 Azure CLI 2.0 설치를 참조하세요. Raspberry Pi를 개발 플랫폼으로 사용하는 경우 Azure Cloud Shell을 사용하거나 Azure CLI를 다른 컴퓨터에 설치하는 것이 좋습니다.

IoT Hub 만들기

이 섹션에서는 Azure CLI를 사용하여 IoT 허브 및 리소스 그룹을 만듭니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다. IoT 허브는 IoT 애플리케이션과 디바이스 간의 양방향 통신을 위한 중앙 메시지 허브 역할을 합니다.

IoT 허브 및 리소스 그룹을 만들려면 다음을 수행합니다.

  1. Azure CLI를 시작합니다.

    • Cloud Shell을 사용하려면 CLI 명령에서 사용해 보기 단추를 선택하여 분할 브라우저 창에서 Cloud Shell을 시작합니다. 또는 별도의 브라우저 탭에서 Cloud Shell을 열 수 있습니다.
    • Azure CLI를 로컬로 사용하는 경우 Windows CMD, PowerShell 또는 Bash와 같은 콘솔을 열고 Azure CLI에 로그인합니다.

    이 빠른 시작의 나머지 부분에서 CLI 명령을 실행하려면 명령 구문을 복사하고 Cloud Shell 창이나 CLI 콘솔에 붙여넣고 변수 값을 편집한 다음, Enter 키를 누릅니다.

  2. az extension add를 실행하여 azure-iot 확장을 현재 버전으로 설치하거나 업그레이드합니다.

    az extension add --upgrade --name azure-iot
    
  3. az group create를 실행하여 리소스 그룹을 만듭니다. 다음 명령은 eastus 위치에 MyResourceGroup이라는 리소스 그룹을 만듭니다.

    참고 항목

    선택적으로 대체 위치를 설정할 수 있습니다. 사용 가능한 위치를 보려면 az account list-locations를 실행합니다. 이 자습서에서는 예제 명령에 표시된 대로 eastus를 사용합니다.

    az group create --name MyResourceGroup --location eastus
    
  4. az iot hub create 명령을 사용하여 IoT Hub를 만듭니다. IoT Hub를 만드는 데 몇 분 정도 걸릴 수 있습니다.

    YourIotHubName. IoT 허브에 대해 선택한 이름을 사용하여 다음 명령에서 이 자리 표시자와 주변 중괄호를 바꿉니다. IoT Hub 이름은 Azure에서 전역적으로 고유해야 합니다. 자리 표시자가 표시될 때마다 이 빠른 시작의 나머지 부분에서 IoT 허브 이름을 사용합니다.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

    IoT Hub를 만든 후 이 빠른 시작의 나머지 부분에서 Azure IoT Explorer를 사용하여 IoT Hub와 상호 작용합니다. IoT Explorer는 기존 IoT 허브에 연결하고 디바이스를 추가, 관리 및 모니터링할 수 있는 GUI 애플리케이션입니다. 자세히 알아보려면 Azure IoT 탐색기 설치 및 사용을 참조하세요. 선택적으로 CLI 명령을 계속 사용할 수 있습니다.

IoT Explorer 구성

이 빠른 시작의 나머지 부분에서는 IoT Explorer를 사용하여 IoT Hub에 디바이스를 등록하고 디바이스 원격 분석을 봅니다. 이 섹션에서는 방금 만든 IoT Hub에 연결하고 퍼블릭 모델 리포지토리에서 플러그 앤 플레이 모델을 읽도록 IoT Explorer를 구성합니다.

참고 항목

또한 Azure CLI를 사용하여 디바이스를 등록할 수 있습니다. az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} 명령을 사용하여 새 디바이스를 등록하고 az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} 명령을 사용하여 디바이스의 기본 연결 문자열을 가져옵니다. 디바이스 연결 문자열을 메모해 둔 후에는 디바이스 실행 샘플로 건너뛸 수 있습니다.

IoT Hub에 대한 연결을 추가하려면

  1. az iot hub connection-string show 명령을 실행하여 IoT 허브에 대한 연결 문자열을 가져옵니다.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. 따옴표 문자로 묶지 말고 연결 문자열을 복사합니다.

  3. Azure IoT Explorer의 왼쪽 메뉴에서 IoT Hub를 선택한 다음, + 연결 추가를 선택합니다.

  4. 연결 문자열을 연결 문자열 상자에 붙여넣습니다.

  5. 저장을 선택합니다.

    IoT Explorer에서 연결을 추가하는 스크린샷

  6. 연결에 성공하면 IoT Explorer가 디바이스 보기로 전환됩니다.

퍼블릭 모델 리포지토리를 추가하려면

  1. IoT Explorer에서 을 선택하여 홈 보기로 돌아갑니다.

  2. 왼쪽 메뉴에서 IoT 플러그 앤 플레이 설정을 선택한 다음, +추가를 선택하고 드롭다운 메뉴에서 러블릭 리포지토리를 선택합니다.

  3. https://devicemodels.azure.com에 있는 퍼블릭 모델 리포지토리에 대한 항목이 나타납니다.

    IoT Explorer에서 퍼블릭 모델 리포지토리를 추가하는 스크린샷

  4. 저장을 선택합니다.

디바이스 등록

이 섹션에서는 새 디바이스 인스턴스를 만들고 만든 IoT Hub에 등록합니다. 새로 등록된 디바이스의 연결 정보를 사용하여 이후 섹션에서 디바이스를 안전하게 연결합니다.

디바이스를 등록하려면

  1. IoT Explorer의 홈 보기에서 IoT Hub를 선택합니다.

  2. 이전에 추가한 연결이 표시됩니다. 연결 속성 아래에서 이 허브의 디바이스 보기를 선택합니다.

  3. + 새로 만들기를 선택하고 디바이스의 디바이스 ID(예: mydevice)를 입력합니다. 다른 모든 속성은 동일하게 유지합니다.

  4. 만들기를 실행합니다.

    Azure IoT Explorer 디바이스 ID의 스크린샷

  5. 복사 단추를 사용하여 기본 연결 문자열 필드를 복사하고 기록해 둡니다. 이 연결 문자열은 나중에 필요합니다.

디바이스 샘플 실행

이 섹션에서는 Python SDK를 사용하여 디바이스에서 IoT Hub로 메시지를 보냅니다. 두 개의 온도 조절기 센서가 있는 온도 컨트롤러를 구현하는 샘플을 실행합니다.

  1. 새 콘솔(예: Windows CMD, PowerShell 또는 Bash)을 엽니다. 다음 단계에서는 이 콘솔을 사용하여 Python SDK를 설치하고 Python 샘플 코드로 작업합니다.

    참고 항목

    Azure CLI의 로컬 설치를 사용하는 경우 이제 두 개의 콘솔 창이 열려 있을 수 있습니다. CLI에 사용한 콘솔이 아니라 방금 연 콘솔에서 이 섹션의 명령을 입력해야 합니다.

  2. Azure IoT Python SDK 디바이스 샘플을 로컬 컴퓨터에 복사합니다.

    git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python
    
  3. 샘플 디렉터리로 이동합니다.

    Windows

    cd azure-iot-sdk-python\samples\pnp
    

    Linux 또는 Raspberry Pi OS

    cd azure-iot-sdk-python/samples/pnp
    
  4. Azure IoT Python SDK를 설치합니다.

    pip3 install azure-iot-device
    
  5. 디바이스가 Azure IoT에 연결할 수 있도록 다음 환경 변수를 설정합니다.

    • IOTHUB_DEVICE_CONNECTION_STRING이라는 환경 변수를 설정합니다. 변수 값의 경우 이전 섹션에서 저장한 디바이스 연결 문자열을 사용합니다.
    • IOTHUB_DEVICE_SECURITY_TYPE이라는 환경 변수를 설정합니다. 변수의 경우 리터럴 문자열 값 connectionString을 사용합니다.

    CMD(Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    참고 항목

    Windows CMD의 경우 각 변수의 문자열 값을 묶는 따옴표가 없습니다.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. 다음 샘플 파일에 대한 코드를 실행합니다.

    python temp_controller_with_thermostats.py
    

    참고 항목

    이 코드 샘플에서는 수동 구성 없이 솔루션에 스마트 디바이스를 통합할 수 있도록 하는 Azure IoT 플러그 앤 플레이를 사용합니다. 기본적으로 이 설명서에 있는 대부분의 샘플은 IoT 플러그 앤 플레이를 사용합니다. IoT 플러그 앤 플레이의 장점과 사용 여부에 대한 자세한 내용은 IoT 플러그 앤 플레이란?을 참조하세요.

샘플은 등록한 디바이스로 IoT 허브에 안전하게 연결하고 원격 분석 메시지를 보내기 시작합니다. 샘플 출력이 콘솔에 나타납니다.

원격 분석 데이터 보기

IoT Explorer를 사용하여 디바이스 원격 분석을 볼 수 있습니다. 선택적으로 Azure CLI를 사용하여 원격 분석을 볼 수 있습니다.

Azure IoT Explorer에서 원격 분석을 보려면

  1. IoT Explorer의 IoT 허브에서 이 허브의 디바이스 보기를 선택한 다음 목록에서 디바이스를 선택합니다.

  2. 디바이스의 왼쪽 메뉴에서 원격 분석을 선택합니다.

  3. 기본 제공 이벤트 허브 사용로 설정되어 있는지 확인한 다음, 시작을 선택합니다.

  4. 디바이스에서 메시지를 클라우드에 보낼 때 원격 분석을 봅니다.

    IoT Explorer의 디바이스 원격 분석 스크린샷

  5. 중지를 선택하여 수신 이벤트를 종료합니다.

개별 디바이스 구성 요소에서 보낸 원격 분석을 읽으려면 IoT Explorer의 플러그 앤 플레이 기능을 사용할 수 있습니다. 예를 들어 이 빠른 시작의 온도 컨트롤러에는 thermostat1과 thermostat2의 두 온도 조절기가 있습니다. thermostat1에서 보고한 온도를 보려면 다음 단계를 따르세요.

  1. IoT Explorer의 디바이스 왼쪽 메뉴에서 IoT 플러그 앤 플레이 구성 요소를 선택합니다. 그런 다음, 구성 요소 목록에서 thermostat1을 선택합니다.

  2. thermostat1 구성 요소 창의 상단 메뉴에서 원격 분석을 선택합니다.

  3. 원격 분석 창에서 이전과 동일한 단계를 따릅니다. 기본 제공 이벤트 허브 사용로 설정되어 있는지 확인한 다음, 시작을 선택합니다.

Azure CLI를 사용하여 디바이스 원격 분석을 보려면 다음을 수행합니다.

  1. az iot hub monitor-events 명령을 실행하여 디바이스에서 IoT Hub로 전송된 이벤트를 모니터링합니다. 이전에 디바이스 및 IoT Hub에 대해 Azure IoT에서 만든 이름을 사용합니다.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. 콘솔에서 연결 세부 정보 및 원격 분석 출력을 봅니다.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 28
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 10
    

리소스 정리

이 자습서에서 만든 Azure 리소스가 더 이상 필요하지 않으면 Azure CLI를 사용하여 삭제할 수 있습니다.

Important

리소스 그룹을 삭제하면 다시 되돌릴 수 없습니다. 리소스 그룹 및 그 안에 포함된 모든 리소스가 영구적으로 삭제됩니다. 잘못된 리소스 그룹 또는 리소스를 자동으로 삭제하지 않도록 해야 합니다.

리소스 그룹을 이름으로 삭제하려면:

  1. az group delete 명령을 실행합니다. 이 명령을 실행하면 만든 리소스 그룹, IoT Hub 및 디바이스 등록이 제거됩니다.

    az group delete --name MyResourceGroup
    
  2. az group list 명령을 실행하여 리소스 그룹을 삭제했는지 확인합니다.

    az group list
    

다음 단계

이 자습서에서는 디바이스를 클라우드에 안전하게 연결하고 디바이스-클라우드 원격 분석을 보내는 데 사용할 수 있는 기본 Azure IoT 애플리케이션 워크플로를 알아보았습니다. Azure CLI를 사용하여 Azure IoT Hub 및 디바이스 인스턴스를 작성했습니다. 그런 다음 Azure IoT 디바이스 SDK를 사용하여 온도 컨트롤러를 만들고 허브에 연결하고 원격 분석을 보냅니다. 또한 Azure CLI를 사용하여 원격 분석을 모니터링했습니다.

다음 단계로, 다음 문서를 통해 Azure IoT를 사용하여 디바이스 솔루션을 빌드하는 방법에 대해 자세히 알아봅니다.