디바이스 업데이트 에이전트 프로비저닝
디바이스 업데이트 모듈 에이전트는 동일한 논리적 장치의 일부로 IoT Hub에 연결되는 다른 시스템 프로세스 및 IoT Edge 모듈과 함께 실행할 수 있습니다. 이 섹션에서는 디바이스 업데이트 에이전트를 모듈 ID로 프로비저닝하는 방법을 설명합니다.
GA 릴리스의 디바이스 업데이트 에이전트 변경 내용
디바이스 업데이트 에이전트 버전을 사용하는 경우 GA 버전에 해당하는 최신 에이전트 버전 1.0.0으로 마이그레이션하세요. 변경 내용 및 업그레이드 방법에 대해서는 GA 에이전트를 참조하세요.
IoT 디바이스 쌍의 디바이스 속성 섹션에서 설치된 버전의 디바이스 업데이트 에이전트와 전송 최적화 에이전트를 확인할 수 있습니다. ADU Core 인터페이스에서 디바이스 속성에 대해 자세히 알아보세요.
모듈 ID vs 디바이스 ID
IoT Hub에서 각 디바이스 ID 아래에 최대 50개의 모듈 ID를 만들 수 있습니다. 각 모듈 ID는 모듈 쌍을 암시적으로 생성합니다. 디바이스 쪽에서 IoT Hub 디바이스 SDK를 사용하면 각각 IoT Hub에 대한 독립적 연결을 여는 모듈을 만들 수 있습니다. 모듈 ID 및 모듈 쌍은 디바이스 ID 및 디바이스 쌍과 동일한 기능을 제공하지만 세분성이 더 높습니다. IoT Hub의 모듈 ID에 대한 자세한 정보
디바이스에 모듈 ID로 에이전트를 추가하기 위해 디바이스 수준 에이전트에서 마이그레이션하는 경우 디바이스 쌍을 통해 통신하던 이전 에이전트를 제거합니다. Device Update 에이전트를 모듈 ID로 프로비저닝할 때 디바이스와 Device Update 서비스 간 모든 통신은 모듈 쌍을 통해 발생하므로 그룹을 만들 때 디바이스의 모듈 쌍에 태그를 지정해야 하고 모든 통신은 모듈 쌍을 통해 발생해야 합니다.
디바이스 업데이트에 대한 지원
무선 업데이트 유형을 통한 다음 IoT 디바이스는 Device Update 에서 지원됩니다.
Linux 디바이스(IoT Edge 및 비 IoT Edge 디바이스)
제한된 디바이스
- Eclipse ThreadX Device Update 에이전트 샘플: Azure-Real-Time-Operating-System용 Device Update for Azure IoT Hub 자습서
연결이 끊긴 디바이스
필수 조건
패키지 기반 업데이트를 위해 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.gpg
sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
디바이스 업데이트 에이전트를 모듈 ID로 프로비저닝하는 방법
이 섹션에서는 디바이스 업데이트 에이전트를 모듈 ID로 프로비저닝하는 방법을 설명합니다.
- IoT Edge 사용 디바이스
- 비 Edge IoT 디바이스 또는
- 기타 IoT 디바이스
디바이스에서 IoT Edge를 사용하도록 설정했는지 확인하려면 IoT Edge 설치 지침을 참조하세요.
아래 섹션 전체 또는 일부에 따라 관리 중인 IoT 장치 유형에 따라 장치 업데이트 에이전트를 추가하십시오.
IoT Edge 사용 디바이스
다음 지침에 따라 디바이스 업데이트 에이전트를 IoT Edge 사용 디바이스에 프로비저닝합니다.
지침에 따라 단일 Linux IoT Edge 디바이스를 수동으로 프로비저닝합니다.
Device Update 이미지 업데이트 에이전트를 설치합니다.
여기 Assets 리포지토리에서 샘플 이미지를 제공합니다. swUpdate 파일은 Raspberry Pi B3+ 보드에 플래시할 수 있는 기본 이미지입니다. .gz 파일은 IoT Hub용 디바이스 업데이트를 통해 가져올 업데이트입니다. 예는 IoT Hub 기기에 이미지를 플래시하는 방법을 참조하세요.
Device Update 패키지 업데이트 에이전트 설치
packages.microsoft.com의 최신 에이전트 버전: 디바이스에서 패키지 목록을 업데이트하고 다음을 사용하여 디바이스 업데이트 에이전트 패키지와 해당 종속성을 설치합니다.
sudo apt-get update
sudo apt-get install deviceupdate-agent
아티팩트의 릴리스 후보 에이전트 버전을 나타내는 ‘rc’: Device Update 에이전트를 설치하려는 머신에 .deb 파일을 다운로드한 후 다음을 수행합니다.
sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"
연결이 끊긴 디바이스 시나리오에 대해 MCC를 설정하는 경우 전송 최적화 APT 플러그 인을 설치합니다.
sudo apt-get install deliveryoptimization-plugin-apt
Device Update 에이전트를 설치한 후에는 아래 명령을 실행하여 Device Update의 구성 파일을 편집해야 합니다.
sudo nano /etc/adu/du-config.json
프로비저닝에 IoT ID 서비스를 사용할 에이전트의 connectionType을 “AIS”로 변경합니다. ConnectionData 필드는 빈 문자열이어야 합니다. '여기에 값 배치' 태그가 있는 모든 값을 설정해야 합니다. DU 에이전트 구성을 참조하세요.
IoT 디바이스에서 Device Update 에이전트를 시작할 준비가 되었습니다.
IoT Edge가 설치되지 않은 IoT Linux 디바이스에서
다음 지침에 따라 디바이스 업데이트 에이전트를 IoT Linux 디바이스에 프로비저닝합니다.
Azure IoT ID 서비스 설치의 지침에 따라 IoT ID 서비스를 설치하고 IoT 디바이스에 최신 버전을 추가합니다.
Azure IoT ID 서비스 구성의 지침에 따라 IoT ID 서비스를 구성합니다.
마지막으로, Device Update 에이전트를 설치합니다. 여기 Assets에서 샘플 이미지를 제공합니다. swUpdate 파일은 Raspberry Pi B3+ 보드에서 플래시할 수 있는 기본 이미지이며 .gz 파일은 Device Update for IoT Hub를 통해 가져올 업데이트입니다. IoT Hub 디바이스에 이미지를 플래시하는 방법의 예제를 참조하세요.
Device Update 에이전트를 설치한 후에는 아래 명령을 실행하여 Device Update의 구성 파일을 편집해야 합니다.
sudo nano /etc/adu/du-config.json
프로비저닝에 IoT ID 서비스를 사용할 에이전트의 connectionType을 “AIS”로 변경합니다. ConnectionData 필드는 빈 문자열이어야 합니다. '여기에 값 배치' 태그가 있는 모든 값을 설정해야 합니다. DU 에이전트 구성을 참조하세요.
IoT 디바이스에서 Device Update 에이전트를 시작할 준비가 되었습니다.
기타 IoT 디바이스
테스트 IoT ID 서비스를 사용하지 않고 또는 제한된 디바이스에서도 디바이스 업데이트 에이전트를 구성할 수 있습니다. 아래 단계에 따라 연결 문자열을 사용하여 (모듈 또는 디바이스에서) 디바이스 업데이트 에이전트를 프로비저닝합니다.
여기 Assets 리포지토리에서 샘플 이미지를 제공합니다. swUpdate 파일은 Raspberry Pi B3+ 보드에 플래시할 수 있는 기본 이미지입니다. .gz 파일은 IoT Hub용 디바이스 업데이트를 통해 가져올 업데이트입니다. 예는 IoT Hub 기기에 이미지를 플래시하는 방법을 참조하세요.
컴퓨터 또는 IoT Edge 디바이스/IoT 디바이스에 로그온합니다.
터미널 창을 엽니다.
디바이스 업데이트 구성 파일에 연결 문자열을 추가합니다.
터미널 창에 다음을 입력합니다.
- Ubuntu 에이전트 사용: sudo nano /etc/adu/du-config.json
- Yocto 참조 이미지 사용: sudo nano /adu/du-config.json
기본 연결 문자열을 복사합니다.
- Device Update 에이전트가 모듈로 구성된 경우 모듈의 기본 연결 문자열을 복사합니다.
- 그렇지 않으면 디바이스의 기본 연결 문자열을 복사합니다.
du-config.json 파일의 ‘connectionData’ 필드 값에 복사된 기본 연결 문자열을 입력합니다. '여기에 값 배치' 태그가 있는 모든 값을 설정해야 합니다. DU 에이전트 구성을 참조하세요.
이제 IoT 디바이스에서 디바이스 업데이트 에이전트를 시작할 준비가 되었습니다.
디바이스 업데이트 에이전트를 시작하는 방법
이 섹션에서는 IoT 디바이스에서 성공적으로 실행되는 모듈 ID로 디바이스 업데이트 에이전트를 시작하고 확인하는 방법을 설명합니다.
디바이스 업데이트 에이전트가 설치된 머신 또는 디바이스에 로그인합니다.
터미널 창을 열고 아래 명령을 입력합니다.
sudo systemctl restart deviceupdate-agent
다음 명령을 사용하여 에이전트의 상태를 확인할 수 있습니다. 문제가 확인되는 경우 이 문제 해결 가이드를 참조하세요.
sudo systemctl status deviceupdate-agent
정상 상태가 표시됩니다.
IoT Hub 포털에서 IoT 디바이스 또는 IoT Edge 디바이스로 이동하여 Device Update 에이전트로 구성한 디바이스를 찾습니다. 그러면 디바이스 업데이트 에이전트가 모듈로서 실행됩니다. 예시:
디바이스 업데이트 에이전트를 빌드하고 실행하는 방법
고유의 고객 디바이스 업데이트 에이전트를 빌드하고 수정할 수도 있습니다. 지침에 따라 소스에서 디바이스 업데이트 에이전트를 빌드합니다.
에이전트가 성공적으로 빌드되면 에이전트를 실행합니다. 이제 에이전트를 이미지에 통합하는 데 필요한 변경 내용을 적용합니다. 참고 자료는 디바이스 업데이트 에이전트를 수정하는 방법을 참조하세요.
문제 해결 가이드
문제가 발생하는 경우 IoT Hub 디바이스 업데이트 문제 해결 가이드를 검토하여 가능한 문제를 차단 해제하고 필요한 정보를 수집하여 Microsoft에 제공할 수 있습니다.
다음 단계
Device Update for IoT Hub의 간단한 데모를 위해 다음 자습서를 사용할 수 있습니다.
이미지 업데이트: 필요에 따라 다른 아키텍처용 이미지를 빌드하는 오픈 소스를 통해 확장 가능한 Raspberry Pi 3 B+ 참조 Yocto 이미지 시작하기