FUOTA 프로세스 개요
다음 다이어그램은 AWS IoT Core for LoRaWAN이 종단 디바이스에 대해 FUOTA 프로세스를 수행하는 방법을 보여줍니다. FUOTA 세션에 개별 디바이스를 추가하는 경우 멀티캐스트 그룹 생성 및 구성 단계를 건너뛸 수 있습니다. FUOTA 세션에 디바이스를 직접 추가할 수 있습니다. 그러면 AWS IoT Core for LoRaWAN이 펌웨어 업데이트 프로세스를 시작합니다.
디바이스에 대한 FUOTA를 수행하려면 먼저 디지털 서명된 펌웨어 이미지를 생성하고 FUOTA 태스크에 추가하려는 디바이스 및 멀티캐스트 그룹을 구성합니다. FUOTA 세션을 시작한 후 종단 디바이스는 모든 조각을 수집하고 조각에서 이미지를 재구성하고 상태를 AWS IoT Core for LoRaWAN에 보고한 다음 새 펌웨어 이미지를 적용합니다.
다음은 FUOTA 프로세스의 여러 단계를 보여줍니다.
-
디지털 서명을 사용하여 펌웨어 이미지 또는 델타 이미지 생성
AWS IoT Core for LoRaWAN이 LoRaWAN 디바이스에 대한 FUOTA를 수행하려면 무선으로 펌웨어 업데이트를 전송할 때 펌웨어 이미지 또는 델타 이미지에 디지털 서명을 하는 것이 좋습니다. 그러면 이미지를 수신하는 디바이스에서 이미지가 올바른 소스에서 왔는지 확인할 수 있습니다.
펌웨어 이미지의 크기는 1MB를 넘지 않아야 합니다. 펌웨어 크기가 클수록 업데이트 프로세스를 완료하는 데 더 오래 걸릴 수 있습니다. 더 빠른 데이터 전송을 위해 또는 새 이미지가 1MB보다 큰 경우 새 펌웨어 이미지와 이전 이미지 사이의 델타인 새 이미지의 일부인 델타 이미지를 사용합니다.
참고
AWS IoT Core for LoRaWAN은 디지털 서명 생성 도구와 펌웨어 버전 관리 시스템을 제공하지 않습니다. 서드 파티 도구를 사용하여 펌웨어 이미지에 대한 디지털 서명을 생성할 수 있습니다. ARM Mbed GitHub 리포지토리
에 포함된 것과 같은 디지털 서명 도구를 사용하는 것이 좋습니다. 여기에는 델타 이미지를 생성하고 디바이스에서 해당 이미지를 사용하기 위한 도구도 포함됩니다. -
FUOTA용 디바이스 식별 및 구성
FUOTA용 디바이스를 식별한 후 펌웨어 업데이트를 개별 또는 여러 디바이스에 전송합니다.
-
펌웨어 업데이트를 여러 디바이스로 전송하려면 멀티캐스트 그룹을 생성하고 종단 디바이스로 멀티캐스트 그룹을 구성합니다. 자세한 내용은 멀티캐스트 그룹을 생성하여 여러 디바이스로 다운링크 페이로드를 전송합니다. 단원을 참조하십시오.
-
개별 디바이스에 펌웨어 업데이트를 전송하려면 해당 디바이스를 FUOTA 세션에 추가한 다음 펌웨어 업데이트를 수행합니다.
-
-
배포 기간 예약 및 조각화 세션 설정
멀티캐스트 그룹을 만든 경우 클래스 B 또는 클래스 C 배포 기간을 지정하여 디바이스가 AWS IoT Core for LoRaWAN에서 조각을 수신할 수 있는 시기를 결정할 수 있습니다. 디바이스가 클래스 B 또는 클래스 C 모드로 전환하기 전에 클래스 A에서 작동 중일 수 있습니다. 세션의 시작 시간도 지정해야 합니다.
클래스 B 또는 클래스 C 디바이스가 지정된 배포 기간에 깨어나 다운링크 패킷을 수신하기 시작합니다. 클래스 C 모드에서 작동하는 디바이스는 클래스 B 디바이스보다 더 많은 전력을 소비할 수 있습니다. 자세한 내용은 디바이스 클래스 단원을 참조하십시오.
-
종단 디바이스가 AWS IoT Core for LoRaWAN에 상태를 보고하고 펌웨어 이미지를 업데이트합니다.
조각화 세션을 설정한 후 종단 디바이스와 AWS IoT Core for LoRaWAN은 다음 단계를 수행하여 디바이스의 펌웨어를 업데이트합니다.
-
LoRaWAN 디바이스는 데이터 속도가 낮기 때문에 FUOTA 프로세스를 시작하기 위해 AWS IoT Core for LoRaWAN은 조각화 세션을 설정하여 펌웨어 이미지를 조각화합니다. 그런 다음 이 조각을 종단 디바이스로 전송합니다.
-
AWS IoT Core for LoRaWAN이 이미지 조각을 전송한 후 LoRaWAN 종단 디바이스는 다음 태스크를 수행합니다.
-
조각을 수집한 다음 이러한 조각에서 이진 이미지를 재구성합니다.
-
재구성된 이미지의 디지털 서명을 확인하여 이미지를 인증하고 올바른 소스에서 왔는지 확인합니다.
-
AWS IoT Core for LoRaWAN의 펌웨어 버전을 현재 버전과 비교합니다.
-
AWS IoT Core for LoRaWAN으로 전송된 조각화된 이미지의 상태를 보고한 후 새 펌웨어 이미지를 적용합니다.
참고
경우에 따라 종단 디바이스는 펌웨어 이미지의 디지털 서명을 확인하기 전 AWS IoT Core for LoRaWAN에 전송된 조각화된 이미지의 상태를 보고합니다.
-
-
이제 FUOTA 프로세스를 배웠으므로 FUOTA 태스크를 생성하고 펌웨어 업데이트를 위해 태스크에 디바이스를 추가할 수 있습니다. 자세한 내용은 FUOTA 태스크 생성 및 펌웨어 이미지 제공 단원을 참조하십시오.