다음을 통해 공유


미리 구성된 원격 모니터링 솔루션의 디바이스 정보 메타데이터

미리 구성된 Azure IoT Suite 원격 모니터링 솔루션은 디바이스 메타데이터를 관리하기 위한 방식을 보여 줍니다. 이 문서에서는 이 솔루션이 취하는 방식을 이해할 수 있도록 설명합니다.

  • 솔루션이 저장한 디바이스 메타데이터입니다.
  • 솔루션이 디바이스 메타데이터를 관리하는 방법입니다.

컨텍스트

미리 구성된 원격 모니터링 솔루션은 Azure IoT Hub를 사용하여 디바이스가 클라우드로 데이터를 보낼 수 있도록 합니다. 솔루션은 세 개의 서로 다른 위치에 디바이스에 대한 정보를 저장합니다.

위치 저장된 정보 구현
ID 레지스트리 디바이스 ID, 인증 키, 사용 상태 IoT Hub에 기본 제공
디바이스 쌍 메타데이터: reported 속성, desired 속성, 태그 IoT Hub에 기본 제공
Cosmos DB 명령 및 메서드 기록 솔루션에 대한 사용자 지정

IoT Hub는 IoT Hub에 대한 액세스를 관리하는 디바이스 ID 레지스트리를 포함하고 디바이스 쌍을 사용하여 디바이스 메타데이터를 관리합니다. 명령 및 메서드 기록을 저장하는 원격 모니터링 솔루션 특정 디바이스 레지스트리도 있습니다. 원격 모니터링 솔루션은 Cosmos DB 데이터베이스를 사용하여 명령 및 메서드 기록에 대한 사용자 지정 저장소를 구현합니다.

참고

미리 구성된 원격 모니터링 솔루션은 Cosmos DB 데이터베이스의 정보와 동기화된 디바이스 ID 레지스트리를 유지합니다. 둘 다 동일한 디바이스 ID를 사용하여 IoT Hub에 연결된 각 디바이스를 고유하게 식별합니다.

디바이스 메타데이터

IoT Hub는 원격 모니터링 솔루션에 연결된 각 시뮬레이션된 디바이스 및 물리적 디바이스에 대한 디바이스 쌍을 유지 관리합니다. 솔루션은 디바이스 쌍을 사용하여 디바이스와 연결된 메타데이터를 관리합니다. 디바이스 쌍은 IoT Hub에서 유지 관리하는 JSON 문서이며 솔루션은 IoT Hub API를 사용하여 디바이스 쌍과 상호 작용합니다.

디바이스 쌍은 세 가지 유형의 메타데이터를 저장합니다.

  • 디바이스에서 Reported 속성이 IoT Hub로 전송됩니다. 원격 모니터링 솔루션에서 시뮬레이션된 디바이스는 시작 시와 디바이스 상태 변경 명령 및 메서드에 대한 응답으로 reported 속성을 전송합니다. 솔루션 포털의 디바이스 목록디바이스 세부 정보에서 reported 속성을 볼 수 있습니다. reported 속성은 읽기 전용입니다.
  • 디바이스에 의해 desired 속성이 IoT Hub에서 검색됩니다. 디바이스에 대한 모든 필요한 구성을 변경하는 것은 디바이스의 책임입니다. reported 속성으로 허브에 변경 내용을 보고하는 것도 디바이스의 책임입니다. 솔루션 포털을 통해 desired 속성 값을 설정할 수 있습니다.
  • 태그는 디바이스 쌍에만 존재하며 디바이스와 동기화되지 않습니다. 솔루션 포털에서 태그 값을 설정하고 디바이스 목록을 필터링 할 때 사용할 수 있습니다. 또한 솔루션은 태그를 사용하여 솔루션 포털에서 디바이스에 대해 표시할 아이콘을 식별합니다.

시뮬레이션된 디바이스의 예제 reported 속성은 제조업체, 모델 번호, 위도 및 경도를 포함합니다. 시뮬레이션된 디바이스는 reported 속성으로 지원되는 메서드의 목록도 반환합니다.

참고

시뮬레이션된 디바이스 코드는 Desired.Config.TemperatureMeanValueDesired.Config.TelemetryInterval desired 속성만을 사용하여 IoT Hub로 다시 전송된 reported 속성을 업데이트합니다. 다른 모든 desired 속성 변경 요청은 무시됩니다.

디바이스 레지스트리 Cosmos DB 데이터베이스에 저장된 디바이스 정보 메타데이터 JSON 문서는 다음과 같은 구조입니다.

{
  "DeviceProperties": {
    "DeviceID": "deviceid1",
    "HubEnabledState": null,
    "CreatedTime": "2016-04-25T23:54:01.313802Z",
    "DeviceState": "normal",
    "UpdatedTime": null
    },
  "SystemProperties": {
    "ICCID": null
  },
  "Commands": [],
  "CommandHistory": [],
  "IsSimulatedDevice": false,
  "id": "fe81a81c-bcbc-4970-81f4-7f12f2d8bda8"
}

참고

디바이스 정보는 디바이스가 IoT Hub에 전송하는 원격 분석을 설명하는 메타데이터를 포함할 수도 있습니다. 원격 모니터링 솔루션은 원격 분석 메타데이터를 사용하여 대시보드가 동적 원격 분석을 표시하는 방법을 사용자 지정합니다.

수명 주기

솔루션 포털에서 디바이스를 처음 만들 때 솔루션은 Cosmos DB 데이터베이스에 항목을 만들어 명령 및 메서드 기록을 저장합니다. 또한 이 시점에서 솔루션은 디바이스가 IoT Hub로 인증하는 데 사용할 키를 생성하는 디바이스 ID 레지스트리에서 디바이스에 대한 항목을 만듭니다. 또한 디바이스 쌍을 만듭니다.

디바이스가 솔루션에 처음 연결되면 reported 속성 및 디바이스 정보 메시지를 보냅니다. reported 속성 값은 디바이스 쌍에 자동으로 저장됩니다. reported 속성은 디바이스 제조업체, 모델 번호, 일련 번호 및 지원되는 메서드의 목록을 포함합니다. 디바이스 정보 메시지는 명령 매개 변수에 대한 정보를 비롯하여 디바이스에서 지원하는 명령 목록을 포함합니다. 솔루션이 이 메시지를 받으면 Cosmos DB 데이터베이스의 디바이스 정보를 업데이트합니다.

솔루션 포털에서 디바이스 정보 보기 및 편집

솔루션 포털의 디바이스 목록은 기본적으로 상태, DeviceId, 제조업체, 모델 번호, 일련 번호, 펌웨어, 플랫폼, 프로세서, 설치된 RAM 등의 디바이스 속성을 열로 표시합니다. 열 편집기를 클릭하여 열을 사용자 지정할 수 있습니다. 디바이스 속성 위도경도는 대시보드의 Bing 맵에서 위치를 결정합니다.

디바이스 목록의 열 편집기

솔루션 포털의 디바이스 세부 정보 창에서 desired 속성 및 태그를 편집할 수 있습니다(reported 속성은 읽기 전용).

디바이스 세부 정보 창

솔루션 포털을 사용하여 솔루션에서 디바이스를 제거할 수 있습니다. 디바이스를 제거하면 솔루션은 ID 레지스트리에서 디바이스 항목을 제거한 다음, 디바이스 쌍을 삭제합니다. 또한 솔루션은 Cosmos DB 데이터베이스에서 디바이스와 관련된 정보를 제거합니다. 디바이스를 사용하지 않도록 설정해야 제거할 수 있습니다.

디바이스 제거

디바이스 정보 메시지 처리

디바이스에서 보낸 디바이스 정보 메시지는 원격 분석 메시지와 구별됩니다. 디바이스 정보 메시지는 디바이스가 응답할 수 있는 명령 및 모든 명령 기록을 포함합니다. IoT Hub 자체에는 디바이스 정보 메시지에 포함된 메타데이터의 정보가 없으며 디바이스-클라우드 메시지를 처리하는 것과 동일한 방식으로 메시지를 처리합니다. 원격 모니터링 솔루션에서 Azure Stream Analytics(ASA) 작업은 IoT Hub의 메시지를 읽습니다. DeviceInfo Stream Analytics 작업은 "ObjectType": "DeviceInfo"를 포함하는 메시지를 필터링하고 웹 작업에서 실행되는 EventProcessorHost 호스트 인스턴스에 전달합니다. EventProcessorHost 인스턴스의 논리는 디바이스 ID를 사용하여 특정 디바이스에 대한 Cosmos DB 레코드를 찾고 레코드를 업데이트합니다.

참고

디바이스 정보 메시지는 표준 디바이스-클라우드 메시지입니다. 솔루션은 ASA 쿼리를 사용하여 디바이스 정보 메시지와 원격 분석 메시지를 구분합니다.

다음 단계

지금까지 미리 구성된 솔루션은 사용자 지정하는 방법을 살펴보았으므로 IoT Suite의 미리 구성된 솔루션이 제공하는 기능 및 기타 특징에 대해 살펴보겠습니다.