다음을 통해 공유


미리 구성된 원격 모니터링 솔루션에서 동적 원격 분석 사용

동적 원격 분석을 사용하면 미리 구성된 원격 모니터링 솔루션으로 전송된 모든 원격 분석을 시각화할 수 있습니다. 미리 구성된 솔루션을 사용하여 배포하는 시뮬레이션된 디바이스는 대시보드에서 시각화할 수 있는 온도 및 습도 원격 분석을 보냅니다. 기존 시뮬레이션된 디바이스를 사용자 지정하거나, 새 시뮬레이션된 디바이스를 만들거나, 물리적 디바이스를 미리 구성된 솔루션에 연결하는 경우 외부 온도, RPM 또는 윈드스피드와 같은 다른 원격 분석 값을 보낼 수 있습니다. 그런 다음 대시보드에서 이 추가 원격 분석을 시각화할 수 있습니다.

이 자습서에서는 동적 원격 분석을 실험하도록 쉽게 수정할 수 있는 간단한 Node.js 시뮬레이션된 디바이스를 사용합니다.

이 자습서를 완료하려면 다음이 필요합니다.

  • 활성 Azure 구독입니다. 계정이 없는 경우 몇 분 만에 평가판 계정을 만들 수 있습니다. 자세한 내용은 Azure 평가판을 참조하세요.
  • Node.js 버전 0.12.x 이상

Windows 또는 Linux와 같은 모든 운영 체제에서 이 자습서를 완료하여 Node.js설치할 수 있습니다.

솔루션을 제공하다

계정에서 미리 구성된 원격 모니터링 솔루션을 아직 프로비전하지 않은 경우:

  1. Azure 계정 자격 증명을 사용하여 azureiotsuite.com 로그인하고 + 클릭하여 솔루션을 만듭니다.
  2. 클릭 후 원격 모니터링 타일에서 선택합니다.
  3. 미리 구성된 원격 모니터링 솔루션의 솔루션 이름 입력합니다.
  4. 솔루션을 프로비전하는 데 사용할 지역구독 선택합니다.
  5. 솔루션 만들기 클릭하여 프로비저닝 프로세스를 시작합니다. 이 프로세스는 일반적으로 실행하는 데 몇 분 정도 걸립니다.

프로비전 프로세스가 완료되기를 기다립니다.

  1. 프로비저닝 상태가 있는 솔루션의 타일을 클릭합니다.
  2. Azure 서비스가 Azure 구독에 배포될 때 프로비저닝 상태을 확인하십시오.
  3. 프로비전이 완료되면 상태가 Ready변경됩니다.
  4. 오른쪽 창에서 솔루션의 세부 정보를 보려면 타일을 클릭합니다.

비고

미리 구성된 솔루션을 배포하는 데 문제가 발생하는 경우 azureiotsuite.com 사이트 권한 및 FAQ검토합니다. 문제가 지속되면 포털에 서비스 티켓을 만드십시오.

솔루션에 포함되지 않은 세부 정보가 기대되는 점이 있나요? User Voice대한 기능 제안을 제공합니다.

Node.js 시뮬레이션된 디바이스 구성

  1. 원격 모니터링 대시보드에서 + 디바이스 추가를 클릭한 다음 사용자 지정 디바이스를 추가합니다. IoT Hub 호스트 이름, 디바이스 ID 및 디바이스 키를 기록해 둡니다. remote_monitoring.js 디바이스 클라이언트 애플리케이션을 준비할 때 이 자습서의 뒷부분에서 필요합니다.

  2. Node.js 버전 0.12.x 이상이 개발 컴퓨터에 설치되어 있는지 확인합니다. 명령 프롬프트 또는 셸에서 실행 node --version 하여 버전을 확인합니다. 패키지 관리자를 사용하여 Linux에 Node.js 설치하는 방법에 대한 자세한 내용은 패키지 관리자를 통해 Node.js 설치를 참조하세요.

  3. Node.js설치한 경우 최신 버전의 azure-iot-sdk-node 리포지토리를 개발 머신에 복제합니다. 항상 최신 버전의 라이브러리 및 샘플에 마스터 분기를 사용합니다.

  4. azure-iot-sdk-node 리포지토리의 로컬 복사본에서 노드/디바이스/샘플 폴더의 다음 두 파일을 개발 머신의 빈 폴더로 복사합니다.

    • packages.json
    • remote_monitoring.js
  5. remote_monitoring.js 파일을 열고 다음 변수 정의를 찾습니다.

    var connectionString = "[IoT Hub device connection string]";
    
  6. [IoT Hub 디바이스 연결 문자열]을 디바이스 연결 문자열로 대체합니다. 1단계에서 적어 두는 IoT Hub 호스트 이름, 디바이스 ID 및 디바이스 키 값을 사용합니다. 디바이스 연결 문자열의 형식은 다음과 같습니다.

    HostName={your IoT Hub hostname};DeviceId={your device id};SharedAccessKey={your device key}
    

    IoT Hub 호스트 이름이 contoso 이고 디바이스 ID가 mydevice인 경우 연결 문자열은 다음 코드 조각과 같습니다.

    var connectionString = "HostName=contoso.azure-devices.net;DeviceId=mydevice;SharedAccessKey=2s ... =="
    
  7. 파일을 저장합니다. 이러한 파일이 포함된 폴더의 셸 또는 명령 프롬프트에서 다음 명령을 실행하여 필요한 패키지를 설치한 다음 샘플 애플리케이션을 실행합니다.

    npm install
    node remote_monitoring.js
    

동적 원격 분석을 실시간으로 관찰하십시오.

대시보드는 기존 시뮬레이션된 디바이스의 온도 및 습도 원격 분석을 보여줍니다.

기본 대시보드

이전 섹션에서 실행한 Node.js 시뮬레이션된 디바이스를 선택하면 온도, 습도 및 외부 온도 원격 분석이 표시됩니다.

대시보드에 외부 온도 추가

원격 모니터링 솔루션은 추가 외부 온도 원격 분석 유형을 자동으로 검색하여 대시보드의 차트에 추가합니다.

원격 분석 유형 추가

다음 단계는 Node.js 시뮬레이션된 디바이스에서 생성된 원격 분석을 새 값 집합으로 바꾸는 것입니다.

  1. 명령 프롬프트 또는 셸에 Ctrl+C 를 입력하여 시뮬레이션된 Node.js 디바이스를 중지합니다.

  2. remote_monitoring.js 파일에서 기존 온도, 습도 및 외부 온도 원격 분석에 대한 기본 데이터 값을 볼 수 있습니다. 다음과 같이 rpm 에 대한 기본 데이터 값을 추가합니다.

    // Sensors data
    var temperature = 50;
    var humidity = 50;
    var externalTemperature = 55;
    var rpm = 200;
    
  3. Node.js 시뮬레이션된 디바이스는 remote_monitoring.js 파일의 generateRandomIncrement 함수를 사용하여 기본 데이터 값에 임의 증분을 추가합니다. 다음과 같이 기존 임의화 뒤에 코드 줄을 추가하여 rpm 값을 임의화합니다.

    temperature += generateRandomIncrement();
    externalTemperature += generateRandomIncrement();
    humidity += generateRandomIncrement();
    rpm += generateRandomIncrement();
    
  4. 디바이스가 IoT Hub에 보내는 JSON 페이로드에 새 rpm 값을 추가합니다.

    var data = JSON.stringify({
      'DeviceID': deviceId,
      'Temperature': temperature,
      'Humidity': humidity,
      'ExternalTemperature': externalTemperature,
      'RPM': rpm
    });
    
  5. 다음 명령을 사용하여 Node.js 시뮬레이션된 디바이스를 실행합니다.

    node remote_monitoring.js

  6. 대시보드의 차트에 표시되는 새 RPM 원격 분석 유형을 관찰합니다.

대시보드에 RPM 추가

비고

대시보드의 디바이스 페이지에서 Node.js 디바이스를 사용하지 않도록 설정한 다음, 변경 내용을 즉시 확인해야 할 수 있습니다.

대시보드 표시 사용자 지정

디바이스 정보 메시지에는 디바이스가 IoT Hub에 보낼 수 있는 원격 분석에 대한 메타데이터가 포함될 수 있습니다. 이 메타데이터는 디바이스가 보내는 원격 분석 유형을 지정할 수 있습니다. 명령 정의 다음에 원격 분석 정의를 포함하도록 remote_monitoring.js 파일의 deviceMetaData 값을 수정합니다. 다음 코드 스니펫은 명령 정의를 보여줍니다. (반드시 명령 정의 다음에 ,를 추가하세요.)

'Commands': [{
  'Name': 'SetTemperature',
  'Parameters': [{
    'Name': 'Temperature',
    'Type': 'double'
  }]
},
{
  'Name': 'SetHumidity',
  'Parameters': [{
    'Name': 'Humidity',
    'Type': 'double'
  }]
}],
'Telemetry': [{
  'Name': 'Temperature',
  'Type': 'double'
},
{
  'Name': 'Humidity',
  'Type': 'double'
},
{
  'Name': 'ExternalTemperature',
  'Type': 'double'
}]

비고

원격 모니터링 솔루션은 대/소문자를 구분하지 않는 일치를 사용하여 메타데이터 정의를 원격 분석 스트림의 데이터와 비교합니다.

이전 코드 조각에 표시된 대로 원격 분석 정의를 추가해도 대시보드의 동작은 변경되지 않습니다. 그러나 메타데이터에는 대시보드의 디스플레이를 사용자 지정하는 DisplayName 특성이 포함될 수도 있습니다. 다음 코드 조각과 같이 원격 분석 메타데이터 정의를 업데이트합니다.

'Telemetry': [
{
  'Name': 'Temperature',
  'Type': 'double',
  'DisplayName': 'Temperature (C*)'
},
{
  'Name': 'Humidity',
  'Type': 'double',
  'DisplayName': 'Humidity (relative)'
},
{
  'Name': 'ExternalTemperature',
  'Type': 'double',
  'DisplayName': 'Outdoor Temperature (C*)'
}
]

다음 스크린샷은 이 변경 내용이 대시보드에서 차트 레이블을 어떻게 변경하는지 보여줍니다.

차트 범례 사용자 지정

비고

대시보드의 디바이스 페이지에서 Node.js 디바이스를 사용하지 않도록 설정한 다음, 변경 내용을 즉시 확인해야 할 수 있습니다.

원격 분석 유형 필터링

기본적으로 대시보드의 차트는 원격 분석 스트림의 모든 데이터 계열을 표시합니다. Device-Info 메타데이터를 사용하여 차트에서 특정 원격 분석 형식의 표시를 표시하지 않을 수 있습니다.

차트에 온도 및 습도 원격 분석만 표시하려면 다음과 같이 Device-Info원격 분석 메타데이터에서 ExternalTemperature를 생략합니다.

'Telemetry': [
{
  'Name': 'Temperature',
  'Type': 'double',
  'DisplayName': 'Temperature (C*)'
},
{
  'Name': 'Humidity',
  'Type': 'double',
  'DisplayName': 'Humidity (relative)'
},
//{
//  'Name': 'ExternalTemperature',
//  'Type': 'double',
//  'DisplayName': 'Outdoor Temperature (C*)'
//}
]

실외 온도가 차트에 더 이상 표시되지 않습니다.

대시보드에서 원격 분석을 필터링하십시오

이 변경 내용은 차트 표시에만 영향을 줍니다. ExternalTemperature 데이터 값은 여전히 저장되고 모든 백 엔드 처리에 사용할 수 있습니다.

비고

대시보드의 디바이스 페이지에서 Node.js 디바이스를 사용하지 않도록 설정한 다음, 변경 내용을 즉시 확인해야 할 수 있습니다.

오류를 처리하십시오.

데이터 스트림이 차트에 표시되도록 하려면 디바이스 정보 메타데이터의 형식이 원격 분석 값의 데이터 형식과 일치해야 합니다. 예를 들어 메타데이터가 습도 데이터의 유형int 이고 원격 분석 스트림에서 double 이 발견되면 습도 원격 분석이 차트에 표시되지 않습니다. 그러나 습도 값은 여전히 저장되고 모든 백 엔드 처리에 사용할 수 있습니다.

다음 단계

동적 원격 분석을 사용하는 방법을 살펴보았으므로 미리 구성된 솔루션에서 디바이스 정보를 사용하는 방법에 대해 자세히 알아볼 수 있습니다. 미리 구성된 원격 모니터링 솔루션의 디바이스 정보 메타데이터입니다.