FUOTA 태스크 생성 및 펌웨어 이미지 제공 - AWS IoT Wireless

FUOTA 태스크 생성 및 펌웨어 이미지 제공

LoRaWAN 디바이스의 펌웨어를 업데이트하려면 먼저 FUOTA 태스크를 생성하고 업데이트에 사용할 디지털 서명된 펌웨어 이미지를 제공합니다. 그런 다음 디바이스와 멀티캐스트 그룹을 태스크에 추가하고 FUOTA 세션을 예약할 수 있습니다. 세션이 시작되면 AWS IoT Core for LoRaWAN이 조각화 세션을 설정하고 종단 디바이스가 조각을 수집하고 이미지를 재구성하고 새 펌웨어를 적용합니다. FUOTA 프로세스에 대한 자세한 내용은 FUOTA 프로세스 개요 섹션을 참조하세요.

다음은 FUOTA 태스크를 생성하고 S3 버킷에 저장할 펌웨어 이미지 또는 델타 이미지를 업로드하는 방법을 보여줍니다.

필수 조건

FUOTA를 수행하기 전에 종단 디바이스가 이미지를 적용할 때 이미지의 신뢰성을 확인할 수 있도록 펌웨어 이미지에 디지털 서명을 해야 합니다. 서드 파티 도구를 사용하여 펌웨어 이미지에 대한 디지털 서명을 생성할 수 있습니다. ARM Mbed GitHub 리포지토리에 포함된 것과 같은 디지털 서명 도구를 사용하는 것이 좋습니다. 여기에는 델타 이미지를 생성하고 디바이스에서 해당 이미지를 사용하기 위한 도구도 포함됩니다.

콘솔을 사용하여 FUOTA 태스크 생성 및 펌웨어 이미지 업로드

콘솔을 사용하여 FUOTA 태스크를 생성하고 펌웨어 이미지를 업로드하려면 콘솔의 FUOTA 태스크(FUOTA tasks) 탭으로 이동한 다음 FUOTA 태스크 생성(Create FUOTA task)을 선택합니다.

  1. FUOTA 태스크 생성

    FUOTA 태스크를 생성하려면 태스크 속성과 태그를 지정합니다.

    1. FUOTA 태스크 속성 지정

      FUOTA 태스크 속성을 지정하려면 FUOTA 태스크에 대해 다음 정보를 입력합니다.

      • 이름(Name): FUOTA 태스크의 고유한 이름을 입력합니다. 이름에는 문자, 숫자, 하이픈 및 밑줄만 포함되어야 합니다. 공백은 포함할 수 없습니다.

      • 설명(Description): 멀티캐스트 그룹에 대한 설명(선택 사항)을 제공할 수 있습니다. 설명 필드는 최대 2,048자까지 가능합니다.

      • RFRegion: FUOTA 태스크의 주파수 대역을 설정합니다. 주파수 대역은 무선 디바이스 또는 멀티캐스트 그룹을 프로비저닝하는 데 사용한 것과 일치해야 합니다.

    2. FUOTA 태스크 태그

      선택적으로 모든 키-값 페어를 FUOTA 태스크에 대한 태그(Tags)로 제공할 수 있습니다. 태스크 생성을 계속하려면 다음(Next)을 선택합니다.

  2. 펌웨어 이미지 업로드

    FUOTA 태스크에 추가하는 디바이스의 펌웨어를 업데이트하는 데 사용할 펌웨어 이미지 파일을 선택합니다. 펌웨어 이미지 파일은 S3 버킷에 저장됩니다. 사용자를 대신하여 AWS IoT Core for LoRaWAN에 펌웨어 이미지에 액세스할 수 있는 권한을 제공할 수 있습니다. 펌웨어 업데이트를 수행할 때 신뢰성을 확인할 수 있도록 펌웨어 이미지에 디지털 서명을 하는 것이 좋습니다.

    1. 펌웨어 이미지 파일 선택

      새 펌웨어 이미지 파일을 S3 버킷에 업로드하거나 S3 버킷에 이미 업로드된 기존 이미지를 선택할 수 있습니다.

      참고

      펌웨어 이미지 파일의 크기는 1MB를 넘지 않아야 합니다. 펌웨어 크기가 클수록 업데이트 프로세스를 완료하는 데 더 오래 걸릴 수 있습니다.

      • 기존 이미지를 사용하려면 기존 펌웨어 이미지 선택(Select an existing firmware image)을 선택하고 S3 찾아보기(Browse S3)를 선택한 다음 사용할 펌웨어 이미지 파일을 선택합니다.

        AWS IoT Core for LoRaWAN은 S3 버킷에 있는 펌웨어 이미지 파일의 경로인 S3 URL을 채웁니다. 경로의 형식은 s3://bucket_name/file_name입니다. Amazon Simple Storage Service 콘솔에서 파일을 보려면 보기(View)를 선택합니다.

      • 새 펌웨어 이미지를 업로드하려면

        1. 새 펌웨어 이미지 업로드를 선택하고 펌웨어 이미지를 업로드합니다. 이미지 파일은 1MB를 넘지 않아야 합니다.

        2. S3 버킷을 생성하고 펌웨어 이미지 파일을 저장할 버킷 이름(Bucket name)을 입력하려면 S3 버킷 생성(Create S3 bucket)을 선택합니다.

    2. 버킷에 액세스할 수 있는 권한

      새 서비스 역할을 생성하거나 기존 역할을 선택하여 AWS IoT Core for LoRaWAN이 사용자를 대신하여 S3 버킷의 펌웨어 이미지 파일에 액세스하도록 허용할 수 있습니다. 다음을 선택합니다.

      새 역할을 생성하려면 역할 이름을 입력하거나 임의의 이름이 자동으로 생성되도록 비워 둘 수 있습니다. S3 버킷에 대한 액세스 권한을 부여하는 정책 권한을 보려면 정책 권한 보기(View policy permissions)를 선택합니다.

    S3 버킷을 사용하여 이미지를 저장하고 AWS IoT Core for LoRaWAN에 액세스 권한을 부여하는 방법에 대한 자세한 내용은 S3 버킷에 펌웨어 파일 업로드 및 IAM 역할 추가 섹션을 참조하세요.

  3. 검토 및 생성

    FUOTA 태스크를 생성하려면 지정한 FUOTA 태스크 및 구성 세부 정보를 검토하고 태스크 생성(Create task)을 선택합니다.

API를 사용하여 FUOTA 태스크 생성 및 펌웨어 이미지 업로드

API를 사용하여 FUOTA 태스크를 생성하고 펌웨어 이미지 파일을 지정하려면 CreateFuotaTask API 작업 또는 create-fuota-task CLI 명령을 사용합니다. input.json 파일을 create-fuota-task 명령에 대한 입력으로 제공할 수 있습니다. API 또는 CLI를 사용할 때 입력으로 제공하는 펌웨어 이미지 파일은 이미 S3 버킷에 업로드되어 있어야 합니다. 또한 S3 버킷의 펌웨어 이미지에 대한 액세스 권한을 AWS IoT Core for LoRaWAN에 부여하는 IAM 역할을 지정합니다.

aws iotwireless create-fuota-task \ --cli-input-json file://input.json

여기서 각 항목은 다음과 같습니다.

input.json 내용

{ "Description": "FUOTA task to update firmware of devices in multicast group.", "FirmwareUpdateImage": "S3:/firmware_bucket/firmware_image "FirmwareUpdateRole": "arn:aws:iam::123456789012:role/service-role/ACF1zBEI" "LoRaWAN": { "RfRegion": "US915" }, "Name": "FUOTA_Task_MC" }

FUOTA 태스크를 생성한 후 다음 API 작업 또는 CLI 명령을 사용하여 FUOTA 태스크에 대한 정보를 업데이트, 삭제 또는 가져올 수 있습니다.

다음 단계

FUOTA 태스크를 생성하고 펌웨어 이미지를 제공했으므로 이제 펌웨어 업데이트를 위해 작업에 디바이스를 추가할 수 있습니다. 개별 디바이스나 멀티캐스트 그룹을 작업에 추가할 수 있습니다. 자세한 내용은 FUOTA 태스크에 디바이스 및 멀티캐스트 그룹 추가 및 FUOTA 세션 예약 단원을 참조하십시오.