디바이스 업데이트 모듈 에이전트는 동일한 논리 디바이스의 일부로 IoT Hub에 연결하는 다른 시스템 프로세스 및 IoT Edge 모듈과 함께 실행할 수 있습니다. 이 섹션에서는 디바이스 업데이트 에이전트를 모듈 ID로 프로비전하는 방법을 설명합니다.
공개 미리 보기 새로 고침에서 디바이스 업데이트 에이전트에 대한 변경 내용
최신 공개 미리 보기 새로 고침 에이전트(버전 0.8.0)에서 디바이스 업데이트 에이전트에 많은 새로운 기능을 추가했습니다. 자세한 내용은 새 기능 목록을 참조하세요 .
디바이스 업데이트 에이전트 버전 0.6.0 또는 0.7.0을 사용하는 경우 최신 에이전트 버전 0.8.0으로 마이그레이션하세요. 변경 내용 및 업그레이드 방법은 공개 미리 보기 새로 고침 에이전트를 참조하세요.
IoT 디바이스 쌍의 디바이스 속성 섹션에서 설치된 버전의 디바이스 업데이트 에이전트와 전달 최적화 에이전트를 확인할 수 있습니다. ADU Core 인터페이스디바이스 속성에 대해 자세히 알아봅니다.
모듈 ID 및 디바이스 ID
IoT Hub에서 각 디바이스 ID 아래에 최대 50개의 모듈 ID를 만들 수 있습니다. 각 모듈 ID는 모듈 쌍을 암시적으로 생성합니다. 디바이스 쪽에서 IoT Hub 디바이스 SDK를 사용하면 각각 IoT Hub에 대한 독립적 연결을 여는 모듈을 만들 수 있습니다. 모듈 ID 및 모듈 쌍은 디바이스 ID 및 디바이스 쌍과 유사한 기능을 제공하지만 세분화됩니다. IoT Hub 모듈 ID에 대해 자세히 알아보기
디바이스 수준 에이전트에서 디바이스에서 모듈 ID로 에이전트를 추가하도록 마이그레이션하는 경우 디바이스 쌍을 통해 통신하던 이전 에이전트를 제거합니다. 디바이스 업데이트 에이전트를 모듈 ID로 프로비전하는 경우 디바이스와 디바이스 업데이트 서비스 간의 모든 통신은 모듈 쌍을 통해 수행되므로 그룹을 만들 때 디바이스의 모듈 쌍에 태그를 지정해야 하며 모든 통신 모듈 쌍을 통해 발생해야 합니다.
디바이스 업데이트 지원
현재 디바이스 업데이트에서 지원되는 IoT 디바이스의 무선 업데이트 유형은 다음과 같습니다.
Linux 디바이스(IoT Edge 및 비 IoT Edge 디바이스):
제한된 디바이스:
- AzureRTOS 디바이스 업데이트 에이전트 샘플: Azure IoT Hub용 디바이스 업데이트를 위한 Azure-Real-Time-Operating-System 자습서
연결이 끊긴 디바이스:
- 연결이 끊긴 디바이스 업데이트 대한 지원 이해
필수 조건
패키지 기반 업데이트대한 IoT 디바이스/IoT Edge 디바이스를 설정하는 경우 다음 단계를 수행하여 컴퓨터의 리포지토리에 packages.microsoft.com 추가합니다.
디바이스 업데이트 에이전트를 설치하려는 컴퓨터 또는 IoT 디바이스에 로그온합니다.
터미널 창을 엽니다.
디바이스의 운영 체제와 일치하는 리포지토리 구성을 설치합니다.
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list생성된 목록을 sources.list.d 디렉터리에 복사합니다.
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/Microsoft GPG 공개 키를 설치합니다.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpgsudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
디바이스 업데이트 에이전트를 모듈 ID로 프로비전하는 방법
이 섹션에서는 디바이스 업데이트 에이전트를 에서 모듈 ID로 프로비전하는 방법을 설명합니다.
- IoT Edge 지원 장치 또는
- 비엣지 IoT 디바이스 또는
- 기타 IoT 디바이스.
디바이스에서 IoT Edge를 사용하도록 설정했는지 확인하려면 IoT Edge 설치 지침을 참조하세요.
관리 중인 IoT 디바이스의 유형에 따라 디바이스 업데이트 에이전트를 추가하려면 아래 섹션의 전체 또는 일부를 따릅니다.
IoT Edge가 활성화된 디바이스
다음 지침에 따라 IoT Edge 사용 디바이스디바이스 업데이트 에이전트를 프로비전합니다.
지시사항을 따라 단일 Linux IoT Edge 디바이스를수동으로 프로비전합니다.
디바이스 업데이트 이미지 업데이트 에이전트를 설치합니다.
자산의 샘플 이미지는 여기 리포지토리에 있습니다. swUpdate 파일은 Raspberry Pi B3+ 보드에 플래시할 수 있는 기본 이미지입니다. .gz 파일은 IoT Hub용 디바이스 업데이트를 통해 가져올 업데이트입니다. 예를 들어 IoT Hub 디바이스에 이미지를 플래시하는 방법을 참조하세요.
Device Update 패키지 업데이트 에이전트 설치
packages.miscrosoft.com 최신 에이전트 버전의 경우: 디바이스에서 패키지 목록을 업데이트하고 다음을 사용하여 디바이스 업데이트 에이전트 패키지 및 해당 종속성을 설치합니다.
sudo apt-get updatesudo apt-get install deviceupdate-agent deliveryoptimization-plugin-aptArtifacts의 'rc', 즉 릴리스 후보 (release candidate) 에이전트 버전의 경우: Device Update 에이전트를 설치할 기기에 .deb 파일을 다운로드한 다음, 다음 단계를 진행합니다.
sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"
이제 IoT Edge 디바이스에서 디바이스 업데이트 에이전트를 시작할 준비가 되었습니다.
IoT Edge가 설치되지 않은 IoT Linux 디바이스에서
다음 지침에 따라 IoT Linux 디바이스에서 디바이스 업데이트 에이전트를 프로비전합니다.
Azure IoT ID 서비스 설치 지침에 따라 IoT ID 서비스를 설치하고 최신 버전을 IoT 디바이스에 추가합니다.
Azure IoT ID 서비스 구성의 지침에 따라 IoT ID 서비스를 구성합니다.
마지막으로 디바이스 업데이트 에이전트를 설치합니다. 여기서 자산에 샘플 이미지를 제공하고, swUpdate 파일은 Raspberry Pi B3+ 보드에 플래시할 수 있는 기본 이미지이며, .gz 파일은 IoT Hub용 디바이스 업데이트를 통해 가져올 업데이트입니다. IoT Hub 디바이스 이미지를 플래시하는 방법에 대한예제를 참조하세요.
디바이스 업데이트 에이전트를 설치한 후에는 아래 명령을 실행하여 디바이스 업데이트에 대한 구성 파일을 편집해야 합니다.
sudo nano /etc/adu/du-config.json프로비전에 IoT ID 서비스를 사용하는 에이전트의 경우 connectionType을 "AIS"로 변경합니다. ConnectionData 필드는 빈 문자열이어야 합니다.
이제 IoT 디바이스에서 디바이스 업데이트 에이전트를 시작할 준비가 되었습니다.
기타 IoT 디바이스
테스트용 IoT ID 서비스 없이 또는 제한된 디바이스에서 디바이스 업데이트 에이전트를 구성할 수도 있습니다. 다음 단계에 따라 모듈 또는 디바이스에서 연결 문자열을 사용하여 디바이스 업데이트 에이전트를 프로비전합니다.
자산의 샘플 이미지는 여기 리포지토리에 있습니다. swUpdate 파일은 Raspberry Pi B3+ 보드에 플래시할 수 있는 기본 이미지입니다. .gz 파일은 IoT Hub용 디바이스 업데이트를 통해 가져올 업데이트입니다. 예를 들어 IoT Hub 디바이스에 이미지를 플래시하는 방법을 참조하세요.
컴퓨터 또는 IoT Edge 디바이스/IoT 디바이스에 로그온합니다.
터미널 창을 엽니다.
Device Update 구성 파일연결 문자열을 추가합니다.
터미널 창에 아래를 입력합니다.
- Ubuntu 에이전트를 사용하려면: sudo nano /etc/adu/du-config.json
- Yocto 참조 이미지를 사용하려면: sudo nano /adu/du-config.json
기본 연결 문자열 복사
- 디바이스 업데이트 에이전트가 모듈로 구성된 경우 모듈의 기본 연결 문자열을 복사합니다.
- 그렇지 않으면 디바이스의 기본 연결 문자열을 복사합니다.
복사한 기본 연결 문자열을 du-config.json 파일의 'connectionData' 필드 값에 입력합니다. 그런 다음, 파일을 저장하고 닫습니다.
이제 IoT 디바이스에서 디바이스 업데이트 에이전트를 시작할 준비가 되었습니다.
디바이스 업데이트 에이전트를 시작하는 방법
이 섹션에서는 IoT 디바이스에서 성공적으로 실행되는 모듈 ID로 디바이스 업데이트 에이전트를 시작하고 확인하는 방법을 설명합니다.
디바이스 업데이트 에이전트가 설치된 컴퓨터 또는 디바이스에 로그인합니다.
터미널 창을 열고 아래 명령을 입력합니다.
sudo systemctl restart adu-agent아래 명령을 사용하여 에이전트의 상태를 확인할 수 있습니다. 문제가 표시되면 이 문제 해결 가이드참조하세요.
sudo systemctl status adu-agent상태가 'OK'로 표시되어야 합니다.
IoT Hub 포털에서 IoT 디바이스 또는 IoT Edge 디바이스로 이동하여 디바이스 업데이트 에이전트로 구성한 디바이스를 찾습니다. 디바이스 업데이트 에이전트가 모듈로 실행되는 것을 볼 수 있습니다. 다음은 그 예입니다.
디바이스 업데이트 에이전트를 빌드하고 실행하는 방법
사용자 고유의 고객 디바이스 업데이트 에이전트를 빌드하고 수정할 수도 있습니다.
지침에 따라 원본에서 디바이스 업데이트 에이전트를 에서로 빌드하십시오.
에이전트가 성공적으로 빌드되면 에이전트를 실행해야 합니다.
이제 에이전트를 이미지에 통합하는 데 필요한 변경 내용을 적용합니다. 다음은 디바이스 업데이트 에이전트를 수정하는 방법에 대한 지침입니다.
문제 해결 가이드
문제가 발생하면 IoT Hub용 디바이스 업데이트 문제 해결 가이드 검토하여 가능한 문제를 차단 해제하고 Microsoft에 제공하는 데 필요한 정보를 수집합니다.
다음 단계
IoT Hub용 디바이스 업데이트의 간단한 데모를 위해 다음 자습서를 사용할 수 있습니다.
이미지 업데이트: Raspberry Pi 3 B+용 참조 Yocto 이미지로 시작하기 오픈 소스를 통해 필요에 따라 다른 아키텍처용 이미지를 빌드할 수 있도록 확장 가능합니다.
Azure-실시간-운영-시스템 에 대한 Azure IoT Hub용 디바이스 업데이트 자습서