다음을 통해 공유


테스트를 위해 시뮬레이션된 센서 설정(프리뷰)

[이 문서는 시험판 문서이며 변경될 수 있습니다.]

물리적 센서를 설치하지 않고 Sensor Data Intelligence를 테스트하려면 Raspberry PI Azure IoT 온라인 시뮬레이터 서비스를 사용하여 센서 신호를 에뮬레이션하고 Microsoft Azure의 사물 인터넷(IoT) 솔루션으로 보낼 수 있습니다. 시뮬레이터에 대한 자세한 내용은 Raspberry Pi 온라인 시뮬레이터를 Azure IoT Hub(Node.js)에 연결을 참조하세요.

비디오 지침

다음 비디오는 테스트를 위해 시뮬레이션된 센서를 설정하는 방법을 보여줍니다. 이 문서의 나머지 섹션에서는 동일한 지침을 텍스트 기반 형식으로 제공합니다.

Azure IoT Hub에서 디바이스 만들기

먼저 Azure IoT Hub에 대한 센서 신호를 인증하도록 디바이스를 설정해야 합니다.

  1. Azure에서 Sensor Data Intelligence와 함께 사용하기 위해 만든 리소스 그룹의 리소스 목록으로 이동합니다. (자세한 내용은 Azure에 IoT 솔루션 배포를 참조하세요.)

  2. 리소스 목록에서 유형 필드가 IoT Hub로 설정된 레코드를 찾습니다. 이름 열에서 이름을 선택하여 리소스에 대한 세부 정보 페이지를 엽니다.

  3. 왼쪽 탐색 창에서 디바이스를 선택합니다.

  4. 디바이스 페이지에서 디바이스 추가를 선택합니다.

  5. 디바이스 만들기 페이지에서 다음 필드를 설정합니다.

    • Device ID(디바이스 ID ) – 새 디바이스의 이름을 입력합니다(예: My-IoT-Device).
    • Authentication type(인증 유형 ) - 대칭 키를 선택합니다 .
    • 자동 생성– 이 확인란을 선택합니다.
    • 이 디바이스를 IoT Hub 에 연결 – 사용을 선택합니다.
  6. 저장을 선택하여 디바이스 페이지로 돌아갑니다.

  7. 목록에서 새 디바이스를 찾으세요. 디바이스 ID 열에서 이름을 선택하여 디바이스에 대한 세부 정보 페이지를 엽니다. 목록에 새 디바이스가 표시되지 않으면 페이지를 새로 고치세요.

  8. 기본 연결 문자열 값을 복사합니다(예: 클립보드에 복사 버튼 선택). 나중에 센서 신호를 에뮬레이션하기 위해 Raspberry Pi IoT 시뮬레이터를 설정할 때 이 값이 필요합니다. 따라서 지금은 텍스트 파일에 붙여넣는 것을 고려해 보세요.

Raspberry Pi IoT 시뮬레이터에 Azure 연결 문자열 추가

Azure IoT Hub에 있는 장치의 연결 문자열을 Raspberry 서비스의 스크립트에 추가하려면 다음 단계를 따르세요.

  1. Raspberry Pi IoT 시뮬레이터를 엽니다.

  2. 코드 편집기 창에서 다음 명령이 포함된 줄을 찾습니다.

    const connectionString = '[Your IoT hub device connection string]';

  3. 대괄호를 포함한 도움말 텍스트를 이전 섹션에서 복사한 기본 연결 문자열 값으로 바꿉니다. 결과는 다음 예제와 유사해야 합니다.

    const connectionString = 'HostName=XXX;DeviceId=YYY;SharedAccessKey=ZZZ';

Raspberry Pi IoT 시뮬레이터의 페이로드에 센서 ID 및 값 추가

이제 시뮬레이션된 센서와 페이로드로 전송할 값을 사용하여 Raspberry Pi IoT 시뮬레이터를 설정해야 합니다.

  • Raspberry Pi IoT 시뮬레이터의 코드 편집기에서 getMessage 함수를 찾아 다음 코드와 일치하도록 편집합니다. (센서는 cb() 라인에 설정되어 있습니다.)

    function getMessage(cb) {
        messageId++;
        sensor.readSensorData()
        .then(function (data) {
            cb(JSON.stringify({ value: 1, sensorId: 'MachineStatus' }), false);
            cb(JSON.stringify({ value: 70, sensorId: 'Quality' }), false);
            cb(JSON.stringify({ value: 1, sensorId: 'AssetMaintenance' }), false);
            cb(JSON.stringify({ value: 1, sensorId: 'ProductionDelay' }), false);
            cb(JSON.stringify({ value: 20, sensorId: 'AssetDowntime' }), false);
        })
        .catch(function (err) {
            console.error('Failed to read out sensor data: ' + err);
        });
    }
    

    중요

    Raspberry Pi IoT 시뮬레이터의 코드 편집기에 정의된 센서 ID는 나중에 Supply Chain Management의 시나리오에 대해 지정하는 센서 ID와 동일해야 합니다. 앞의 예제 코드는 사람이 읽을 수 있는 센서 ID를 사용합니다. 그러나 실제 시나리오에서 센서 ID는 센서 제조업체가 제공하는 GUID(Globally Unique Identifier) ​​값입니다. 이 예제 코드에 사용된 사람이 읽을 수 있는 센서 ID는 제품 품질 시나리오, 자산 유지 관리 시나리오, 생산 지연 시나리오, 자산 가동 중단 시나리오기계 상태 시나리오의 예제에도 사용됩니다. 따라서 해당 시나리오를 진행하려면 이 코드를 사용하세요.

센서 신호 전송 간격 편집

이제 Raspberry Pi IoT 시뮬레이터가 에뮬레이트된 센서 신호를 보내야 하는 간격을 설정해야 합니다.

  1. Raspberry Pi IoT 시뮬레이터의 코드 편집기에서 다음 함수 호출을 찾습니다.

    setInterval(sendMessage, 2000);

  2. 기본적으로 Raspberry Pi IoT 시뮬레이터는 2,000밀리초(2초)마다 센서 신호를 보냅니다. 필요에 따라 값을 조정할 수 있습니다.

Raspberry Pi IoT 시뮬레이터 실행

  • 실행을 선택하여 시뮬레이터를 시작하고 시뮬레이션된 센서 데이터 전송을 시작합니다.