다음을 통해 공유


Azure Sphere를 사용하여 다운스트림 OTA 업데이트

많은 Azure Sphere 솔루션은 완전한 IoT 솔루션의 일부로 Azure Sphere 인증 MCU 및 기타 프로세서를 모두 통합합니다. 이러한 다른 프로세서에는 정기적인 펌웨어 업데이트가 필요합니다. 이 가이드에서는 Azure Sphere를 사용하여 다운스트림 OTA 업데이트를 사용하도록 설정하는 방법을 설명합니다.

특정 애플리케이션 시나리오에 따라 이를 달성하는 다양한 방법이 있습니다. 각 솔루션에는 다음과 같은 일반적인 흐름이 있습니다.

  1. 펌웨어 업데이트를 트리거합니다.
  2. 펌웨어 업데이트를 획득합니다.
  3. 중간 다운로드 위치를 확인합니다.
  4. 펌웨어의 유효성을 검사하고 다운스트림 프로세서를 업데이트합니다.

1단계: 펌웨어 업데이트 트리거

문제: 펌웨어 업데이트 프로세스는 어떻게 시작합니까?

옵션:

  • 각 Azure Sphere 앱 버전은 다운스트림 펌웨어 버전에 연결됩니다.

    • 설명: Azure Sphere 앱이 시작되면 지원되는 펌웨어 버전이 다운스트림 프로세서의 배포된 버전과 비교됩니다. 버전이 일치하지 않으면 업데이트가 필요합니다.
    • 프로: Azure Sphere 앱과 펌웨어 버전 간의 정의된 지원 계약입니다. 또한 기존 Azure Sphere 앱 업데이트 프로세스를 활용합니다.
    • 죄수: Azure Sphere 앱이 변경되지 않더라도 펌웨어 업데이트를 트리거하려면 Azure Sphere 앱을 업데이트해야 합니다. 또한 업데이트 진행률에 대한 모니터링을 추가해야 합니다.
  • Azure IoT Hub 디바이스 관리 펌웨어 업데이트:

    • 설명: 펌웨어 업데이트가 준비되면 IoT Solution 운영자가 업데이트된 펌웨어를 사용하여 새 디바이스 관리 구성을 만듭니다. Azure Sphere 애플리케이션은 펌웨어 업데이트 요청을 수신하고 업데이트를 시작할 수 있습니다.
    • 프로: 업데이트를 정의, 트리거 및 모니터링하는 간편한 관리 솔루션입니다.
    • 죄수: 다른 클라우드 엔드포인트는 지원되지 않는 Azure IoT Hub 사용해야 합니다.
  • 별도의 펌웨어 검사(사용자 지정 솔루션):

    • 설명: Azure Sphere 애플리케이션에 사용자 지정 펌웨어 검사 빌드합니다. 새 버전에 대해 정의된 엔드포인트를 정기적으로 검사 검색된 경우 업데이트를 시작합니다.
    • 프로: 모든 클라우드 엔드포인트와 협력하여 펌웨어를 다운로드합니다.
    • 죄수: 업데이트 프로세스의 모니터링을 추가해야 합니다. 사용자 지정 빌드 솔루션이므로 기존 업데이트 경로를 활용하지 않습니다.

권장 솔루션: Azure Sphere 앱 업데이트를 통해 다운스트림 프로세서에 대한 업데이트를 트리거하는 것이 시나리오에 적합한 경우 이 방법을 사용하는 것이 좋습니다. 이 솔루션을 사용하면 Azure Sphere 및 다운스트림 펌웨어 버전이 항상 일치하며 업데이트를 트리거하기 위해 다른 시스템을 빌드할 필요가 없습니다. 그렇지 않으면 애플리케이션이 이미 Azure IoT Hub 사용하는 경우 IoT 장치 관리 권장되는 솔루션이며, 그렇지 않으면 사용자 지정 솔루션이 필요합니다.

예제:

2단계: 펌웨어 업데이트 획득

문제: Azure Sphere MT3620의 메모리 제약 조건을 감안할 때 펌웨어를 다운로드하는 방법은 무엇입니까?

옵션:

  • MT3620에 배포된 imagepackage에 다운스트림 펌웨어를 포함합니다. 다운스트림 이미지를 포함한 MT3620 소프트웨어의 총 크기가 문서화된 플래시 제한을 초과하지 않는 경우 가능합니다.

  • 호스트된 위치에서 펌웨어를 다운로드합니다(예: Azure Blob Storage 사용). MT3620의 RAM 제한 으로 인해 RAM에 다운로드되는 전체 이미지가 제외될 수 있으므로 펌웨어를 청크 단위로 다운로드해야 할 수 있습니다. 신뢰할 수 있는 펌웨어만 다운로드하고 다운스트림 프로세서에 적용되도록 펌웨어 다운로드에 사용되는 서버(예: HTTPS 사용)의 유효성을 검사하는 것이 중요합니다. 이 경우 Azure Sphere 앱이 업데이트되는 동안 디바이스가 온라인 상태가 될 수 있지만 새 앱이 새 다운스트림 펌웨어를 다운로드하기 전에 오프라인으로 전환할 수 있습니다. 사용 사례에 대한 가능성이 있는 경우 Azure Sphere 앱과 이전 다운스트림 펌웨어 버전 간의 호환성을 유지하는 것이 중요합니다.

권장 솔루션: 펌웨어 이미지가 Azure Sphere imagepackage의 플래시 제한에 맞고 다운스트림 업데이트가 필요할 때마다 MT3620 소프트웨어를 업데이트할 수 있는 경우 다운스트림 이미지를 MT3620 imagepackage에 포함하는 것이 좋습니다. 그렇지 않으면 호스트된 위치에서 펌웨어 이미지를 다운로드해야 합니다.

예제:

  • ExternalMcuUpdate 참조 솔루션 은 Azure Sphere imagepackage의 일부로 다운스트림 펌웨어 이미지를 포함하는 방법을 보여 줍니다.
  • HTTPS Curl Easy 샘플 은 고정 크기 RAM 버퍼를 사용하여 청크 분할 다운로드를 수행하는 방법을 보여 줍니다.

3단계: 중간 다운로드 위치 확인

문제: 이 문제는 Azure Sphere imagepackage에 통합된 펌웨어 이미지를 사용하지 않고 다운로드한 펌웨어가 MT3620에서 사용 가능한 RAM보다 큰 경우에만 관련이 있습니다.

옵션:

  • Azure Sphere에 연결된 외부 플래시입니다.
  • 다운스트림 MCU 또는 PC 스토리지.

다운로드한 펌웨어를 저장할 위치에 대한 옳거나 잘못된 대답은 없습니다. 이 선택은 하드웨어 설정 및 비용에 따라 달라집니다. 가장 적합한 옵션은 무엇인가요? 외부 플래시 메모리를 Azure Sphere 디바이스에 연결하거나 펌웨어 업데이트를 받을 수 있을 만큼 충분한 스토리지가 있는 다운스트림 프로세서를 선택하는 것이 좋습니다.

권장 솔루션: 설정에 가장 적합한 옵션을 선택합니다.

예제:

4단계: 펌웨어 유효성 검사 및 다운스트림 프로세서 업데이트

문제: 다운스트림 프로세서에 펌웨어 업데이트의 유효성을 검사하고 적용하려면 어떻게 해야 하나요?

옵션: 모든 프로세서에는 다른 솔루션이 있습니다. 대부분의 프로세서 제조업체에는 디바이스에서 펌웨어 업데이트를 수행하는 방법을 보여 주는 샘플이 있으며 특정 솔루션에 대한 모범 사례를 따라야 합니다. 펌웨어 다운로드 및 업데이트는 업데이트를 시작하기 전에 무결성 검사 수행하여 펌웨어의 유효성을 검사해야 합니다.

권장 솔루션: 모든 프로세서마다 다릅니다. 프로세서 제조업체의 샘플을 참조하세요.

예제:ExternalMcuUpdate 참조 솔루션 은 MT3620에서 UART 인터페이스를 통해 북유럽 nRF52를 업데이트하는 방법을 보여 줍니다.