연습 - 솔루션 배포 및 빌드
첫 번째 연습에서는 Linux 컴퓨터에 Azure IoT Edge 런타임을 설치했습니다. 다음과 같은 소프트웨어 개발 도구를 설치했는지 확인합니다.
- Linux 컴퓨터상의 Docker Community Edition
- Visual Studio Code는 코드 편집기이며 GitHub에서 가장 인기 있는 오픈 소스 프로젝트입니다. Azure CLI는 Linux, macOS, Windows에서 실행됩니다.
- 다음과 같은 Visual Studio Code 확장
- Azure 계정
- Azure IoT Tools
- Visual Studio Code용 Docker 확장
- 모듈에 대한 “옵션 만들기”를 변경하는 데 유용한 JSON 도구
Azure AI 서비스 만들기
이 모듈에서는 Azure AI Custom Vision 및 Azure AI 음성 서비스를 사용합니다.
Azure AI Custom Vision 서비스는 제공된 과일 이미지를 사용하여 기계 학습 모델을 만드는 데 사용됩니다. 그런 다음 모델을 내보내고 프로젝트 폴더에 추가합니다.
Azure AI 음성은 항목 레이블에서 음성을 생성하는 데 사용됩니다. 배포 템플릿에 음성 키를 추가합니다.
다중 서비스 리소스는 포털의 Azure AI 서비스>Azure AI 서비스 다중 서비스 계정에 나열됩니다. 다중 서비스 리소스를 만들려면 다음 지침을 따릅니다.
Azure Portal에 로그인합니다.
다중 서비스 리소스를 만들려면 다음 링크를 선택합니다. https://portal.azure.com/#create/Microsoft.CognitiveServicesAllInOne
만들기 페이지에서 다음 정보를 제공합니다.
프로젝트 세부 정보 설명 구독 사용 가능한 Azure 구독 중 하나를 선택합니다. 리소스 그룹 Azure AI 서비스 리소스를 포함할 Azure 리소스 그룹입니다. 새 그룹을 만들거나 기존 그룹에 추가할 수 있습니다. 지역 Azure AI 서비스 인스턴스의 위치입니다. 다른 위치를 사용하면 대기 시간이 발생할 수 있지만 리소스의 런타임 가용성에는 영향을 주지 않습니다. 이름 Azure AI 서비스 리소스를 설명하는 이름입니다. 예를 들어 MyAzureAIServicesResource입니다. 가격 책정 계층 Azure AI 서비스 계정의 비용은 선택한 옵션 및 사용량에 따라 다릅니다. 자세한 내용은 API 가격 책정 세부 정보를 참조하세요. 필요에 따라 리소스에 대한 다른 설정을 구성하고 조건을 읽고 수락한 다음(해당하는 경우) 검토 + 만들기를 선택합니다.
팁
구독에서 Azure AI 서비스 리소스 만들기를 허용하지 않는 경우 Azure Portal, PowerShell 명령 또는 Azure CLI 명령을 사용하여 Azure 리소스 공급자의 권한을 사용하도록 설정해야 할 수도 있습니다. 구독 소유자가 아닌 경우 구독 소유자 또는 관리자 역할이 있는 사용자에게 대신 등록을 완료해 달라고 요청하거나 계정에 /register/action 권한을 부여해 달라고 요청하세요.
Linux 컴퓨터에 Docker 레지스트리 설치
Azure IoT Edge는 Docker 레지스트리에서 배포되는 Docker 이미지를 기반으로 합니다. 프로덕션에서는 Azure Container Registry와 같은 레지스트리에서 Docker 이미지를 배포합니다.
Azure IoT Edge 모듈을 개발하는 경우 디바이스에 로컬 컨테이너 레지스트리를 설치하고 로컬 레지스트리에서 Azure IoT Edge로 Docker 이미지를 배포하는 것이 더 빠릅니다.
Linux 컴퓨터에서 터미널을 열고 다음 명령을 실행하여 로컬 Docker 레지스트리를 설정합니다.
docker run -d -p 5000:5000 --restart=always --name registry registry:2
Linux 컴퓨터에 이미지 인식 솔루션 복제
이 GitHub 리포지토리를 복제합니다.
git clone https://github.com/MicrosoftDocs/mslearn-oxford.create-image-recognition-with-azure-iot-edge
Visual Studio Code 메뉴에서 솔루션을 엽니다.
Azure AI 음성 키 업데이트
deployment.template.json 파일을 열고 Azure Speech Service에서 복사한 키로 azureSpeechServicesKey를 업데이트합니다.
프로세서 확인
빌드하려는 이미지가 대상 프로세서 아키텍처와 일치하는지 확인해야 합니다. 이 경우 amd64용으로 빌드합니다. 프로세서 아키텍처를 확인합니다.
Visual Studio Code 아래쪽 막대에서 현재 선택한 프로세서 아키텍처를 클릭한 다음 팝업에서 amd64를 선택합니다.
솔루션 빌드
deployment.template.json 파일을 마우스 오른쪽 단추로 클릭하여 솔루션을 Docker에 빌드 및 푸시하고 “IoT Edge 솔루션 빌드 및 푸시”를 선택합니다. Docker가 기본 계층을 로컬 머신으로 풀해야 하므로 첫 번째 빌드가 느려집니다.
amd64로 교차 컴파일하는 경우 OpenCV 및 Python 요구 사항을 컴파일해야 하므로 첫 번째 빌드가 매우 느려집니다. 빠른 Intel i7-8750H 프로세서에서 이 솔루션을 교차 컴파일하는 데는 약 40분이 걸립니다.
솔루션 배포
Docker 빌드 및 푸시 프로세스가 완료되면 솔루션을 배포할 Azure IoT Hub 디바이스를 선택합니다. config 폴더에 있는 deployment.json 파일을 마우스 오른쪽 단추로 클릭하고 드롭다운 목록에서 대상 디바이스를 선택합니다.