다음을 통해 공유


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

코드 찾아보기

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

필수 조건

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

  • 윈도우 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 모델 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 설치를 참조하세요. 개발 플랫폼으로 Raspberry Pi를 사용하는 경우 Azure Cloud Shell을 사용하거나 다른 컴퓨터에 Azure CLI를 설치하는 것이 좋습니다.

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

Linux 또는 Raspberry Pi OS

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

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

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에서 이 빠른 시작을 완료하려면 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 Hub는 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 Hub에 연결하고 디바이스를 추가, 관리 및 모니터링할 수 있는 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 Hub에 대한 연결 문자열을 가져옵니다.

    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 탐색기에서 을 선택하여 홈 보기로 돌아갑니다.

  2. 왼쪽 메뉴에서 IoT 플러그 앤 플레이 설정을 선택합니다.

  3. 에서 공용 모델 리포지토리에 대한 항목이 존재하는 것을 볼 수 있습니다 https://devicemodels.azure.com.

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

디바이스 등록

이 섹션에서는 새 디바이스 인스턴스를 만들고 만든 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의 경우 시작을 선택하고 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의 경우 각 변수의 문자열 값을 둘러싼 따옴표가 없습니다.

    배쉬

    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
    

    배쉬

    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 Hub 에서 이 허브의 디바이스 보기를 선택한 다음, 목록에서 디바이스를 선택합니다.

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

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

  4. 디바이스가 클라우드로 메시지를 전송할 때 측정 데이터를 확인합니다.

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

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

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

  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 Hub 및 디바이스를 만듭니다. 그런 다음 Azure IoT 디바이스 SDK 샘플을 사용하여 온도 컨트롤러를 실행하고, 허브에 안전하게 연결하고, 원격 분석을 보냅니다. 온도 컨트롤러 샘플 애플리케이션은 로컬 컴퓨터에서 실행되며 IoT Hub로 보낼 시뮬레이션된 센서 데이터를 생성합니다.

필수 조건

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

  • 윈도우 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 모델 B+에서 실행되는 Raspberry Pi OS(Raspbian) 버전 10

Raspberry Pi에 대해 언급된 경우를 제외하고 개발 머신에 다음 필수 구성 요소를 설치합니다.

  • Azure 구독이 아직 없는 경우 시작하기 전에 무료 구독을 만듭니다.
  • Git
  • .NET 6.0 SDK. 런타임뿐만 아니라 .NET SDK를 설치해야 합니다. 컴퓨터에 설치된 .NET SDK 및 런타임의 버전을 확인하려면 명령 dotnet --info을 실행합니다.
  • 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 설치를 참조하세요. 개발 플랫폼으로 Raspberry Pi를 사용하는 경우 Azure Cloud Shell을 사용하거나 다른 컴퓨터에 Azure CLI를 설치하는 것이 좋습니다.

중요합니다

이 빠른 시작에서는 .NET 6.0 SDK를 사용하여 C# 샘플 코드를 빌드하고 실행해야 합니다. 샘플은 현재 이후 버전의 SDK에서 작동하지 않습니다.

IoT Hub 만들기

이 섹션에서는 Azure CLI를 사용하여 IoT 허브 및 리소스 그룹을 만듭니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다. IoT Hub는 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 Hub에 연결하고 디바이스를 추가, 관리 및 모니터링할 수 있는 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 Hub에 대한 연결 문자열을 가져옵니다.

    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 탐색기에서 을 선택하여 홈 보기로 돌아갑니다.

  2. 왼쪽 메뉴에서 IoT 플러그 앤 플레이 설정을 선택합니다.

  3. 에서 공용 모델 리포지토리에 대한 항목이 존재하는 것을 볼 수 있습니다 https://devicemodels.azure.com.

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

디바이스 등록

이 섹션에서는 새 디바이스 인스턴스를 만들고 만든 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와 같은 새 콘솔을 엽니다. 다음 단계에서는 이 콘솔을 사용하여 .NET SDK를 설치하고 C# 샘플 코드를 사용합니다.

    비고

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

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

    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'
    

    배쉬

    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 Hub 에서 이 허브의 디바이스 보기를 선택한 다음, 목록에서 디바이스를 선택합니다.

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

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

  4. 디바이스가 클라우드로 메시지를 전송할 때 측정 데이터를 확인합니다.

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

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

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

  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 Hub 및 디바이스를 만듭니다. 그런 다음 Azure IoT 디바이스 SDK 샘플을 사용하여 온도 컨트롤러를 실행하고, 허브에 안전하게 연결하고, 원격 분석을 보냅니다. 온도 컨트롤러 샘플 애플리케이션은 로컬 컴퓨터에서 실행되며 IoT Hub로 보낼 시뮬레이션된 센서 데이터를 생성합니다.

필수 조건

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

  • 윈도우 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 모델 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 설치를 참조하세요. 개발 플랫폼으로 Raspberry Pi를 사용하는 경우 Azure Cloud Shell을 사용하거나 다른 컴퓨터에 Azure CLI를 설치하는 것이 좋습니다.

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

윈도우즈

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

  • Java SE 개발 키트 8 이상. OpenJDK의 Zulu Builds 다운로드에서 여러 플랫폼용 Java 8(LTS) JDK를 다운로드할 수 있습니다. 설치 관리자에서 경로에 추가 옵션을 선택합니다.

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

Linux 또는 Raspberry Pi OS

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

비고

이 섹션의 단계는 Linux Ubuntu/Debian 배포를 기반으로 합니다. (Raspberry Pi OS는 Debian을 기반으로 합니다.) 다른 Linux 배포를 사용하는 경우 이에 따라 단계를 수정해야 합니다.

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

    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::")
      

      중요합니다

      이 명령은 현재 셸 환경에서 변수를 설정합니다 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 Hub는 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 Hub에 연결하고 디바이스를 추가, 관리 및 모니터링할 수 있는 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 Hub에 대한 연결 문자열을 가져옵니다.

    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 탐색기에서 을 선택하여 홈 보기로 돌아갑니다.

  2. 왼쪽 메뉴에서 IoT 플러그 앤 플레이 설정을 선택합니다.

  3. 에서 공용 모델 리포지토리에 대한 항목이 존재하는 것을 볼 수 있습니다 https://devicemodels.azure.com.

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

디바이스 등록

이 섹션에서는 새 디바이스 인스턴스를 만들고 만든 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의 경우 각 변수의 문자열 값을 둘러싼 따옴표가 없습니다.

    배쉬

    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
    

    배쉬

    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 Hub 에서 이 허브의 디바이스 보기를 선택한 다음, 목록에서 디바이스를 선택합니다.

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

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

  4. 디바이스가 클라우드로 메시지를 전송할 때 측정 데이터를 확인합니다.

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

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

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

  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 Hub 및 디바이스를 만듭니다. 그런 다음 Azure IoT 디바이스 SDK 샘플을 사용하여 온도 컨트롤러를 실행하고, 허브에 안전하게 연결하고, 원격 분석을 보냅니다. 온도 컨트롤러 샘플 애플리케이션은 로컬 컴퓨터에서 실행되며 IoT Hub로 보낼 시뮬레이션된 센서 데이터를 생성합니다.

필수 조건

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

  • 윈도우 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 모델 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 설치를 참조하세요. 개발 플랫폼으로 Raspberry Pi를 사용하는 경우 Azure Cloud Shell을 사용하거나 다른 컴퓨터에 Azure CLI를 설치하는 것이 좋습니다.

IoT Hub 만들기

이 섹션에서는 Azure CLI를 사용하여 IoT 허브 및 리소스 그룹을 만듭니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다. IoT Hub는 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 Hub에 연결하고 디바이스를 추가, 관리 및 모니터링할 수 있는 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 Hub에 대한 연결 문자열을 가져옵니다.

    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 탐색기에서 을 선택하여 홈 보기로 돌아갑니다.

  2. 왼쪽 메뉴에서 IoT 플러그 앤 플레이 설정을 선택합니다.

  3. 에서 공용 모델 리포지토리에 대한 항목이 존재하는 것을 볼 수 있습니다 https://devicemodels.azure.com.

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

디바이스 등록

이 섹션에서는 새 디바이스 인스턴스를 만들고 만든 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'
    

    배쉬

    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 Hub 에서 이 허브의 디바이스 보기를 선택한 다음, 목록에서 디바이스를 선택합니다.

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

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

  4. 디바이스가 클라우드로 메시지를 전송할 때 측정 데이터를 확인합니다.

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

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

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

  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 Hub 및 디바이스를 만듭니다. 그런 다음 Azure IoT 디바이스 SDK 샘플을 사용하여 온도 컨트롤러를 실행하고, 허브에 안전하게 연결하고, 원격 분석을 보냅니다. 온도 컨트롤러 샘플 애플리케이션은 로컬 컴퓨터에서 실행되며 IoT Hub로 보낼 시뮬레이션된 센서 데이터를 생성합니다.

필수 조건

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

  • Windows 10 또는 Windows 11
  • Ubuntu 20.04 LTS
  • Raspberry Pi 3 모델 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 설치를 참조하세요. 개발 플랫폼으로 Raspberry Pi를 사용하는 경우 Azure Cloud Shell을 사용하거나 다른 컴퓨터에 Azure CLI를 설치하는 것이 좋습니다.

IoT Hub 만들기

이 섹션에서는 Azure CLI를 사용하여 IoT 허브 및 리소스 그룹을 만듭니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다. IoT Hub는 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 Hub에 연결하고 디바이스를 추가, 관리 및 모니터링할 수 있는 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 Hub에 대한 연결 문자열을 가져옵니다.

    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 탐색기에서 을 선택하여 홈 보기로 돌아갑니다.

  2. 왼쪽 메뉴에서 IoT 플러그 앤 플레이 설정을 선택합니다.

  3. 에서 공용 모델 리포지토리에 대한 항목이 존재하는 것을 볼 수 있습니다 https://devicemodels.azure.com.

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

디바이스 등록

이 섹션에서는 새 디바이스 인스턴스를 만들고 만든 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'
    

    배쉬

    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 Hub 에서 이 허브의 디바이스 보기를 선택한 다음, 목록에서 디바이스를 선택합니다.

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

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

  4. 디바이스가 클라우드로 메시지를 전송할 때 측정 데이터를 확인합니다.

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

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

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

  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를 사용하여 삭제할 수 있습니다.

중요합니다

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

이름으로 리소스 그룹을 삭제하려면 다음을 수행합니다.

  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를 사용하여 디바이스 솔루션을 빌드하는 방법에 대해 자세히 알아보려면 다음 문서를 살펴보세요.