자습서: 매장 내 분석 애플리케이션 템플릿 만들기 및 배포
엔드투엔드 솔루션을 빌드하려면 IoT Central 매장 내 분석 체크 아웃 애플리케이션 템플릿을 사용합니다. 이 템플릿을 사용하면 다양한 센서 디바이스를 통해 매장 환경에 연결하고 모니터링할 수 있습니다. 이러한 디바이스는 비즈니스 인사이트로 변환할 수 있는 원격 분석을 만들어 운영 비용을 절감하고 고객에게 훌륭한 환경을 제공합니다.
이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.
- Azure IoT Central 매장 내 분석 - 체크 아웃 템플릿을 사용하여 소매점 애플리케이션 만들기
- 애플리케이션 설정 사용자 지정
- IoT 디바이스 템플릿 만들기 및 사용자 지정
- 디바이스를 애플리케이션에 연결
- 조건을 모니터링하기 위한 규칙 및 작업 추가
Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
필수 조건
이 자습서를 완료하려면 로컬 컴퓨터에 dmr-client 명령줄 도구를 설치해야 합니다.
dotnet tool install --global Microsoft.IoT.ModelsRepository.CommandLine --version 1.0.0-beta.9
애플리케이션 아키텍처
많은 소매점에게 환경 조건은 자사 저장소를 경쟁업체 저장소와 차별화하는 핵심 방법입니다. 가장 성공적인 소매점은 고객의 편안함을 위해 저장소 내 쾌적한 환경을 유지하기 위해 최선을 다합니다.
애플리케이션 템플릿은 디바이스 템플릿 집합과 함께 제공되며, 시뮬레이션된 디바이스 집합을 사용하여 대시보드를 채웁니다.
기존의 애플리케이션 아키텍처 다이어그램에 표시된 대로 애플리케이션 템플릿을 사용하여 다음을 수행할 수 있습니다.
(1) 다양한 IoT 센서를 IoT Central 애플리케이션 인스턴스에 연결합니다.
IoT 솔루션은 소매점 환경 내에서 의미 있는 신호를 캡처하는 일련의 센서로 시작됩니다. 아키텍처 다이어그램의 맨 왼쪽에 있는 다양한 아이콘은 센서를 나타냅니다.
(2) 센서 네트워크 및 환경의 모든 게이트웨이 디바이스의 상태를 모니터링하고 관리합니다.
많은 IoT 센서가 원시 신호를 클라우드 또는 근처에 있는 게이트웨이 디바이스에 직접 제공할 수 있습니다. 게이트웨이 디바이스는 IoT Central 애플리케이션에 요약 인사이트를 보내기 전에 에지에서 데이터를 집계합니다. 또한 게이트웨이 디바이스는 해당되는 경우 센서 디바이스에 명령 및 제어 작업을 릴레이하는 역할을 담당합니다.
(3) 매장 관리자에게 경고를 트리거하도록 매장 내 환경 조건에 대한 사용자 지정 규칙을 만듭니다.
Azure IoT Central 애플리케이션은 소매점 환경 내의 다양한 IoT 센서 및 게이트웨이 디바이스에서 데이터를 수집한 다음 의미 있는 인사이트 집합을 생성합니다.
Azure IoT Central은 또한 매장 운영자가 인프라 디바이스를 원격으로 모니터링하고 관리할 수 있는 맞춤형 환경을 제공합니다.
(4) 매장 내 환경 조건을 매장 팀이 고객 환경을 개선하는 데 사용할 수 있는 인사이트로 변환합니다.
원시 인사이트 또는 집계된 인사이트를 Azure PaaS(서비스 제공 플랫폼) 서비스 집합으로 내보내도록 솔루션 내에서 Azure IoT Central 애플리케이션을 구성할 수 있습니다. PaaS 서비스는 비즈니스 애플리케이션에 도달하기 전에 데이터 조작을 수행하고 이러한 인사이트를 보강할 수 있습니다.
(5) 집계된 인사이트를 기존 또는 새 비즈니스 애플리케이션으로 내보내 소매점 직원에게 유용하고 시기 적절한 정보를 제공합니다.
IoT 데이터는 소매 환경 내 다양한 종류의 비즈니스 애플리케이션을 지원하는 데 사용될 수 있습니다. 소매점 관리자나 직원 구성원은 이러한 애플리케이션을 사용하여 비즈니스 인사이트를 시각화하고 실시간으로 의미 있는 작업을 수행할 수 있습니다. Azure IoT Central에서 데이터 내보내기와 Power BI에서 인사이트 시각화 자습서에서 실시간 Power BI 대시보드를 빌드하는 방법을 알아봅니다.
저장소 내 분석 애플리케이션 만들기
IoT Central 애플리케이션을 만들려면
Azure Portal에서 IoT Central 애플리케이션 만들기 페이지로 이동합니다. 메시지가 표시되면 Azure 계정으로 로그인합니다.
다음 정보를 입력합니다.
필드 Description 구독 사용하려는 Azure 구독입니다. Resource group 사용하려는 리소스 그룹입니다. 새 리소스 그룹을 만들거나 기존 그룹을 사용할 수 있습니다. 리소스 이름 유효한 Azure 리소스 이름입니다. 애플리케이션 URL 애플리케이션의 URL 하위 도메인입니다. IoT Central 애플리케이션의 URL은 https://yoursubdomain.azureiotcentral.com
과 같은 모양입니다.템플릿 스토어 내 분석 - 체크아웃 지역 사용하려는 Azure 지역입니다. 요금제 사용하려는 가격 책정 계획입니다. 검토 + 만들기를 선택합니다. 그런 다음 만들기를 선택합니다.
앱이 준비되면 Azure Portal에서 앱으로 이동할 수 있습니다.
자세한 내용은 Azure IoT Central 애플리케이션 만들기를 참조하세요.
애플리케이션 살펴보기
다음 섹션에서는 애플리케이션의 주요 기능에 대해 설명합니다.
애플리케이션 설정 사용자 지정
여러 설정을 변경하여 애플리케이션에서 사용자 환경을 사용자 지정할 수 있습니다. 사용자 지정 테마를 사용하면 애플리케이션 브라우저 색, 브라우저 아이콘 및 발행인란에 표시되는 애플리케이션 로고를 설정할 수 있습니다.
사용자 지정 테마를 만들려면 샘플 이미지를 사용하여 애플리케이션을 사용자 지정합니다. GitHub에서 4개의 Contoso 샘플 이미지를 다운로드합니다.
사용자 지정 테마를 만들려면 다음을 수행합니다.
왼쪽 창에서 사용자 지정 > 모양을 선택합니다.
masthead 로고를 변경하려면 변경을 선택한 다음, contoso_wht_mast.png 이미지를 선택하여 업로드합니다. 선택적으로 로고 대체 텍스트 값을 입력합니다.
브라우저 아이콘을 변경하려면 변경을 선택한 다음, 브라우저 탭에 표시할 contoso_favicon.png 이미지를 선택합니다.
HTML 16진수 색 코드를 추가하여 기본 브라우저 색을 바꿉니다.
- 헤더에 #008575를 입력합니다.
- 강조에 #A1F3EA를 입력합니다.
저장을 선택합니다. 변경 내용을 저장하면 애플리케이션이 브라우저 색, 발행인란의 로고 및 브라우저 아이콘을 업데이트합니다.
Azure IoT Central 내 앱 사이트의 내 앱 페이지에 있는 애플리케이션 타일에 이미지를 업데이트하려면 다음을 수행합니다.
애플리케이션 > 관리를 선택합니다.
변경을 선택한 다음, 애플리케이션 이미지로 업로드할 contoso_main_lg.png 이미지를 선택합니다.
저장을 선택합니다.
디바이스 템플릿 만들기
디바이스 템플릿을 사용하면 디바이스를 구성하고 관리할 수 있습니다. 사용자 지정 템플릿을 빌드하거나, 기존 템플릿 파일을 가져오거나, 주요 디바이스 템플릿 목록에서 템플릿을 가져올 수 있습니다. 디바이스 템플릿을 만들고 사용자 지정한 후에는 이를 사용하여 실제 디바이스를 애플리케이션에 연결합니다.
필요에 따라 디바이스 템플릿을 사용하여 테스트를 위해 시뮬레이션된 디바이스를 생성할 수 있습니다.
매장 내 분석 - 체크 아웃 애플리케이션 템플릿에는 여러 디바이스용 디바이스 템플릿이 있습니다. RuuviTag 디바이스 템플릿은 매장 내 분석 - 체크 아웃 애플리케이션 템플릿에 포함되어 있지 않습니다.
이 섹션에서는 애플리케이션에 RuuviTag 센서용 디바이스 템플릿을 추가합니다. 수행할 작업:
모델 리포지토리에서 RuuviTag 디바이스 템플릿의 복사본을 다운로드하려면 다음 명령을 실행합니다.
dmr-client export --dtmi "dtmi:rigado:RuuviTag;2" --repo https://raw.githubusercontent.com/Azure/iot-plugandplay-models/main > ruuvitag.json
왼쪽 창에서 디바이스 템플릿을 선택합니다.
새 디바이스 템플릿을 만들려면 +새로 만들기를 선택합니다.
IoT 디바이스 타일을 선택한 후 다음: 사용자 지정을 선택합니다.
사용자 지정 페이지에서 디바이스 템플릿 이름으로 RuuviTag를 입력합니다.
완료되면 다음: 검토를 클릭합니다.
만들기를 실행합니다.
모델 가져오기 타일을 선택합니다. 그런 다음 이전에 다운로드한 ruuvitag.json 파일을 찾아 가져옵니다.
가져오기가 완료되면 게시를 선택하여 디바이스 템플릿을 게시합니다.
왼쪽 창에서 디바이스 템플릿을 선택합니다.
이 페이지에는 애플리케이션 템플릿의 모든 디바이스 템플릿과 방금 추가한 RuuviTag 디바이스 템플릿이 표시됩니다.
디바이스 템플릿 사용자 지정
세 가지 방법으로 애플리케이션에서 디바이스 템플릿을 사용자 지정할 수 있습니다.
디바이스 기능을 변경하여 디바이스에서 네이티브 제공 인터페이스를 사용자 지정합니다.
예를 들어 온도 센서를 사용하면 표시 이름 및 측정 단위와 같은 세부 정보를 변경할 수 있습니다.
클라우드 속성을 추가하여 디바이스 템플릿을 사용자 지정합니다.
클라우드 속성은 Azure IoT Central 애플리케이션에서 만들고 저장하고 디바이스에 연결하는 사용자 지정 데이터입니다. 클라우드 속성의 예는 다음과 같습니다.
- 계산된 값.
- 디바이스 집합과 연결하려는 위치와 같은 메타데이터.
사용자 지정 보기를 빌드하여 디바이스 템플릿을 사용자 지정합니다.
보기에서는 운영자가 디바이스 메트릭 및 상태와 같은 디바이스에 대한 원격 분석 및 메타데이터를 시각화할 수 있습니다.
이 섹션에서는 처음 두 가지 방법을 사용하여 RuuviTag 센서에 대한 디바이스 템플릿을 사용자 지정합니다.
RuuviTag 디바이스 템플릿의 기본 제공 인터페이스를 사용자 지정하려면 다음을 수행합니다.
왼쪽 창에서 디바이스 템플릿을 선택합니다.
RuuviTag를 선택합니다.
왼쪽 창을 숨깁니다. 템플릿의 요약 보기에는 디바이스 기능이 표시됩니다.
RuuviTag 디바이스 템플릿 메뉴에서 RuuviTag 모델을 선택합니다.
기능 목록에서 RelativeHumidity 원격 분석 유형을 스크롤합니다. 편집 가능한 표시 이름 값이 RelativeHumidity인 행 항목입니다.
다음 단계에서는 RuuviTag 센서에 대한 RelativeHumidity 원격 분석 유형을 사용자 지정합니다. 필요에 따라 일부 다른 원격 분석 유형을 사용자 지정할 수 있습니다.
RelativeHumidity 원격 분석 유형의 경우 다음과 같이 변경합니다.
표시 이름 값을 RelativeHumidity에서 Humidity와 같은 사용자 지정 값으로 업데이트합니다.
의미 체계 형식 옵션을 상대 습도에서 습도로 변경합니다.
필요에 따라 확장된 스키마 보기에서 습도 원격 분석 유형의 스키마 값을 설정합니다. 스키마 값을 설정하여 센서가 추적하는 데이터에 대한 자세한 유효성 검사 요구 사항을 만들 수 있습니다. 예를 들어 지정된 인터페이스의 최소 및 최대 작동 범위 값을 설정할 수 있습니다.
저장을 선택하여 변경 내용을 저장합니다.
애플리케이션의 디바이스 템플릿에 클라우드 속성을 추가하려면 다음을 수행합니다.
기능 추가를 선택합니다.
표시 이름에 위치를 입력합니다.
속성의 식별 이름인 이 값은 자동으로 식별 이름에 복사됩니다. 복사한 값을 사용하거나 변경할 수 있습니다.
기능 형식에서 클라우드 속성을 선택합니다.
확장을 선택합니다.
스키마 드롭다운 목록에서 문자열을 선택합니다.
이 옵션을 사용하면 템플릿을 기반으로 위치 이름을 디바이스와 연결할 수 있습니다. 예를 들어 매장의 명명된 영역을 각 디바이스와 연결할 수 있습니다.
최소 길이를 2로 설정합니다.
트리밍 공백을 켜짐으로 설정합니다.
저장을 선택하여 사용자 지정 클라우드 속성을 저장합니다.
게시를 선택합니다.
디바이스 템플릿을 게시하면 애플리케이션 운영자가 업데이트를 볼 수 있습니다. 템플릿을 게시한 후에는 이 템플릿을 사용하여 테스트를 위한 시뮬레이션된 디바이스를 생성하거나 애플리케이션에 실제 디바이스를 연결합니다. 애플리케이션에 연결된 디바이스가 이미 있는 경우 사용자 지정된 템플릿을 게시하면 변경 내용이 디바이스에 푸시됩니다.
디바이스 추가
디바이스 템플릿을 만들고 사용자 지정한 후에는 디바이스를 추가할 차례입니다. 이 자습서에서는 다음과 같은 실제 및 시뮬레이션된 디바이스 세트를 사용하여 애플리케이션을 빌드합니다.
- Rigado C500 게이트웨이.
- RuuviTag 센서 2개.
- 점유 센서. 시뮬레이트된 센서는 애플리케이션 템플릿에 포함되므로 만들 필요가 없습니다.
Rigado Cascade 500 게이트웨이 디바이스를 애플리케이션에 연결하려면 다음을 수행합니다.
왼쪽 창에서 디바이스를 선택합니다.
사용 가능한 디바이스 템플릿 목록에서 C500 선택한 다음, 새로 만들기를 선택합니다.
C500 게이트웨이를 디바이스 이름으로 입력하고 게이트웨이-001을 디바이스 ID로 입력합니다.
C500이 선택한 디바이스 템플릿인지 확인한 다음, 이 디바이스를 시뮬레이션할까요?에 예라고 설정합니다.
만들기를 실행합니다. 이제 애플리케이션에 시뮬레이션된 Rigado Cascade 500 게이트웨이 디바이스가 포함됩니다.
애플리케이션에 시뮬레이션된 RuuviTag 센서 디바이스를 추가하려면 다음을 수행합니다.
왼쪽 창에서 디바이스를 선택합니다.
사용 가능한 디바이스 템플릿 목록에서 RuuviTag를 선택한 다음, 새로 만들기를 선택합니다.
디바이스 이름으로 RuuviTag 001을 입력하고 ruuvitag-001디바이스 ID로 입력합니다.
RuuviTag가 선택한 디바이스 템플릿인지 확인한 다음, 이 디바이스를 시뮬레이션할까요?에 예라고 설정합니다.
만들기를 실행합니다. 이제 애플리케이션에 시뮬레이션된 RuuviTag 센서 디바이스가 포함되어 있습니다.
이전 단계를 반복하여 두 번째 시뮬레이션된 RuuviTag 센서 디바이스를 애플리케이션에 추가합니다. 디바이스 이름으로 RuuviTag 002를 입력하고 ruuvitag-002를 디바이스 ID로 입력합니다.
두 RuuviTag 센서와 점유 디바이스를 게이트웨이 디바이스에 연결하려면 다음을 수행합니다.
왼쪽 창에서 디바이스를 선택합니다.
디바이스 목록에서 RuuviTag 001, RuuviTag 002, 점유를 선택합니다. 그런 다음, 명령 모음에서 게이트웨이에 연결을 선택합니다.
게이트웨이에 연결 창에서 C500을 디바이스 템플릿으로 선택하고 C500 - 게이트웨이를 디바이스로 선택합니다. 그런 다음, 연결을 선택합니다.
C500 - 게이트웨이 디바이스로 이동하고 다운스트림 디바이스 탭을 선택하면 이제 게이트웨이에 연결된 세 개의 디바이스가 표시됩니다.
규칙 및 작업 추가
Azure IoT Central 애플리케이션에서 센서를 사용하여 조건을 모니터링하는 과정의 일부로, 특정 조건이 충족될 때 작업을 실행하는 규칙을 만들 수 있습니다.
규칙은 디바이스 템플릿과 하나 이상의 디바이스에 연결되며 디바이스 원격 분석 또는 이벤트에 따라 충족되어야 하는 조건을 포함합니다. 규칙에는 하나 이상의 관련된 작업도 있습니다. 작업에는 메일 알림 전송 또는 다른 서비스로 데이터를 보내는 웹후크 작업 트리거 등이 포함될 수 있습니다. 매장 내 분석 - 체크 아웃 애플리케이션 템플릿에는 애플리케이션의 디바이스에 대한 몇 가지 미리 정의된 규칙이 포함되어 있습니다.
이 섹션에서는 RuuviTag 센서 원격 분석을 기준으로 최대 상대 습도 수준을 확인하는 새 규칙을 만듭니다. 습도가 최댓값을 초과하는 경우 애플리케이션이 이메일 알림을 보내도록 규칙에 작업을 추가합니다.
규칙을 만들려면 다음을 수행합니다.
왼쪽 창에서 규칙을 선택합니다.
새로 만들기를 선택합니다.
규칙 이름으로 Humidity level을 입력합니다.
디바이스 템플릿에서 RuuviTag 디바이스 템플릿을 선택합니다.
정의한 규칙은 해당 템플릿을 기반으로 모든 센서에 적용됩니다. 필요에 따라 정의된 센서 하위 집합에만 규칙을 적용하는 필터를 만들 수 있습니다.
원격 분석의 경우 RelativeHumidity를 선택합니다. 이전 단계에서 사용자 지정한 디바이스 기능입니다.
연산자에 대해 보다 큼을 선택합니다.
값에 해당 환경의 일반적인 상한 실내 습도 수준을 입력합니다(예: 65).
이 조건은 RuuviTag 센서의 상대 습도가 값을 초과하는 경우에 적용됩니다. 환경의 정상적인 습도 범위에 따라 값을 늘리거나 줄여야 할 수 있습니다.
규칙에 작업을 추가하려면 다음을 수행합니다.
전자 메일을 선택합니다.
작업에 친숙한 표시 이름으로 높은 습도 알림을 입력합니다.
받는 사람에는 계정과 연결된 메일 주소를 입력합니다.
다른 이메일 주소를 사용하는 경우 사용하는 이메일 주소는 애플리케이션에 추가된 사용자의 것이어야 합니다. 또한 사용자는 적어도 한 번 이상 로그인했다가 로그아웃해야 합니다.
필요에 따라 이메일 텍스트에 포함할 메모를 입력합니다.
완료를 선택하여 작업을 완료합니다.
저장을 선택하여 새 규칙을 저장하고 활성화합니다.
몇 분 안에 지정된 이메일 계정이 메시지 수신을 시작해야 합니다. 애플리케이션은 센서가 습도 수준이 조건 값을 초과했음을 알 때마다 메일을 보냅니다.
리소스 정리
더 이상 IoT Central 빠른 시작 또는 자습서를 완료할 계획이 없는 경우 IoT Central 애플리케이션을 삭제할 수 있습니다.
- IoT Central 애플리케이션에서 애플리케이션 > 관리로 이동합니다.
- 삭제를 클릭한 다음, 작업을 확인합니다.