Eclipse ThreadX를 사용하여 Azure IoT Hub에 대한 디바이스 업데이트

이 문서에서는 Eclipse ThreadX NetX Duo에서 Azure IoT Hub 에이전트에 대한 디바이스 업데이트를 만드는 방법을 보여 줍니다. 또한 개발자가 해당 애플리케이션에 디바이스 업데이트 기능을 통합하는 데 사용할 수 있는 간단한 API를 제공합니다. 시작 가이드가 포함된 주요 반도체 평가 보드의 샘플을 탐색하여 디바이스에 무선 업데이트를 구성, 빌드 및 배포하는 방법을 알아봅니다.

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

필수 조건

  • IoT Hub 인스턴스에 대한 액세스. S1(표준) 계층 이상을 사용하는 것이 좋습니다.
  • IoT 허브에 연결된 디바이스 업데이트 인스턴스 및 계정 이전에 수행하지 않은 경우 지침에 따라 디바이스 업데이트 계정을 만들고 연결합니다.

시작하기

각 보드 관련 샘플 Azure RTOS(실시간 운영 체제) 프로젝트에는 Device Update for IoT Hub를 사용하는 방법에 대한 코드와 문서가 포함되어 있습니다. 다음을 수행합니다.

  1. Eclipse ThreadX 및 디바이스 업데이트 샘플에서 보드별 샘플 파일을 다운로드합니다.
  2. 다운로드한 샘플에서 문서 폴더를 찾습니다.
  3. 문서에서 Azure 리소스와 계정을 준비하고 여기에 IoT 디바이스를 등록하는 방법에 대한 단계를 수행합니다.
  4. 문서를 따라 새 펌웨어 이미지를 빌드하고 보드에 대한 매니페스트를 가져옵니다.
  5. 펨웨어 이미지와 매니페스트를 Device Update for IoT Hub에 게시합니다.
  6. 디바이스에서 프로젝트를 다운로드하여 실행합니다.

Eclipse ThreadX에 대해 자세히 알아봅니다.

디바이스 태그

  1. 이전 단계에서 실행 중인 디바이스 애플리케이션을 유지합니다.

  2. Azure Portal에 로그인하고 IoT 허브로 이동합니다.

  3. 왼쪽 창에서 디바이스를 선택합니다. IoT 디바이스를 찾고 디바이스 쌍으로 이동합니다.

  4. 디바이스 쌍에서 기존 디바이스 업데이트 태그 값을 null로 설정하여 삭제합니다.

  5. 다음과 같이 루트 JSON 개체에 새 디바이스 업데이트 태그 값을 추가합니다.

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

디바이스 그룹 보기

Device Update는 그룹을 사용하여 디바이스를 구성합니다. Device Update는 할당된 태그 및 호환성 속성에 따라 디바이스를 그룹으로 자동 정렬합니다. 각 디바이스는 하나의 그룹에만 속하지만 그룹은 서로 다른 디바이스 클래스를 정렬하기 위해 여러 하위 그룹을 가질 수 있습니다.

  1. 페이지 위에 있는 그룹 및 배포 탭으로 이동합니다.

    그룹 해제된 디바이스를 보여주는 스크린샷.

  2. 그룹 목록 및 업데이트 준수 차트를 봅니다. 업데이트 준수 차트에는 최신 업데이트, 사용 가능한 새 업데이트진행 중인 업데이트 등 다양한 준수 상태의 디바이스 수가 표시됩니다. 업데이트 준수를 알아봅니다.

    업데이트 규정 준수 보기를 보여주는 스크린샷.

  3. 새 그룹의 디바이스에 대해 사용 가능한 업데이트와 함께 이 자습서에서 설정한 시뮬레이션된 디바이스가 포함된 디바이스 그룹이 표시되어야 합니다. 그룹의 디바이스 클래스 요구 사항을 충족하지 않는 디바이스가 있는 경우 해당하는 잘못된 그룹에 표시됩니다. 이 보기에서 새 사용자 정의 그룹에 가장 적합한 업데이트를 배포하려면 그룹 옆에 있는 배포를 선택합니다.

태그 및 그룹에 대한 자세한 내용은 디바이스 그룹 관리를 참조하세요.

새 펌웨어 배포

  1. 그룹이 생성되면 최상의 업데이트 아래에 업데이트 링크와 함께 디바이스 그룹에 사용할 수 있는 새 업데이트가 표시되어야 합니다. 한 번 새로 고쳐야 할 수도 있습니다. 업데이트 규정 준수에 대해 자세히 알아보세요.

  2. 그룹 이름을 선택하여 대상 그룹을 선택합니다. 그룹 기본 사항에서 그룹 세부 정보로 리디렉션됩니다.

    그룹 세부 정보를 보여주는 스크린샷.

  3. 배포를 시작하려면 현재 배포 탭으로 이동합니다. 사용 가능한 업데이트 섹션에서 원하는 업데이트 옆에 있는 배포 링크를 선택합니다. 지정된 그룹에서 사용할 수 있는 최상의 업데이트는 최상이라는 강조 표시로 나타납니다.

    업데이트 선택을 보여주는 스크린샷.

  4. 즉시 또는 나중에 시작하도록 배포를 예약합니다. 다음으로 만들기를 선택합니다.

    기본적으로 시작 날짜/시간은 현재 시간으로부터 24시간입니다. 배포를 더 일찍 시작하려면 다른 날짜/시간을 선택해야 합니다.

    배포 만들기 화면을 보여 주는 스크린샷.

  5. 배포 세부 정보에서 상태활성으로 바뀝니다. 배포된 업데이트는 (배포 중)으로 표시됩니다.

    배포가 활성 상태임을 보여주는 스크린샷.

  6. 업데이트가 현재 진행 중인지 확인하려면 준수 차트를 봅니다.

  7. 디바이스가 성공적으로 업데이트되면 규정 준수 차트 및 배포 세부 정보가 동일하게 반영되도록 업데이트된 것을 볼 수 있습니다.

    업데이트가 성공했음을 보여 주는 스크린샷

업데이트 배포 모니터링

  1. 페이지 맨 위에 있는 배포 기록 탭을 선택합니다.

    배포 기록을 보여 주는 스크린샷.

  2. 만든 배포 옆에 있는 세부 정보를 선택합니다.

    배포 세부 정보를 보여 주는 스크린샷

  3. 최신 상태 세부 정보를 보려면 새로 고침을 선택합니다.

이제 Eclipse ThreadX 임베디드 디바이스에서 Device Update for IoT Hub를 사용하여 엔드투엔드 이미지 업데이트를 성공적으로 완료했습니다.

다음 단계

Eclipse ThreadX 및 IoT Hub에서 작동하는 방식에 대한 자세한 내용은 Eclipse ThreadX를 참조하세요.