Crear la tarea de FUOTA y proporcionar una imagen de firmware - AWS IoT Wireless

Crear la tarea de FUOTA y proporcionar una imagen de firmware

Para actualizar el firmware de sus dispositivos LoRaWAN, primero cree una tarea de FUOTA y proporcione la imagen de firmware firmada digitalmente que desee utilizar para la actualización. A continuación, puede agregar sus dispositivos y grupos de multidifusión a la tarea y programar una sesión FUOTA. Cuando comience la sesión, AWS IoT Core para LoRaWAN configura una sesión de fragmentación y sus dispositivos finales recopilarán los fragmentos, reconstruirán la imagen y aplicarán el nuevo firmware. Para obtener información sobre el proceso de FUOTA, consulte Información general sobre el proceso de FUOTA.

A continuación, se muestra cómo crear una tarea de FUOTA y subir la imagen del firmware o la imagen delta que se almacenará en un bucket de S3.

Requisitos previos

Para poder realizar las actualizaciones FUOTA, la imagen del firmware debe estar firmada digitalmente para que los dispositivos finales puedan comprobar la autenticidad de la imagen al aplicarla. Puede utilizar cualquier herramienta de terceros para generar la firma digital de la imagen de firmware. Le recomendamos que utilice una herramienta de firma digital como la que está integrada en el repositorio GitHub de ARM Mbed, que también incluye herramientas para generar la imagen delta y para que los dispositivos usen esa imagen.

Crear la tarea de FUOTA y subir la imagen del firmware mediante la consola

Para crear una tarea de FUOTA y subir la imagen de firmware mediante la consola, vaya a la pestaña Tareas de FUOTA de la consola y, a continuación, seleccione Crear tarea de FUOTA.

  1. Crear tarea de FUOTA

    Para crear una tarea de FUOTA, especifique las propiedades y etiquetas de la tarea.

    1. Especificar las propiedades de la tarea de FUOTA

      Para especificar las propiedades de la tarea de FUOTA, introduzca la siguiente información para la tarea de FUOTA.

      • Nombre: introduzca un nombre único para su tarea de FUOTA. El nombre solo puede contener letras, números y guiones. No puede contener espacios.

      • Descripción: puede proporcionar una descripción opcional para su grupo de multidifusión. La descripción puede tener una longitud máxima de 2048 caracteres.

      • RFRegion: establece la banda de frecuencia para tu tarea de FUOTA. La banda de frecuencia debe coincidir con la que utilizó para aprovisionar sus dispositivos inalámbricos o grupos de multidifusión.

    2. Etiquetas para la tarea de FUOTA

      Si lo desea, puede proporcionar cualquier par clave-valor como Etiquetas para su tarea de FUOTA. Elija Siguiente para seguir creando la imagen.

  2. Subir una imagen de firmware

    Elija el archivo de imagen de firmware que desee utilizar para actualizar el firmware de los dispositivos que agrega a la tarea de FUOTA. El archivo de imagen del firmware se almacena en un bucket de S3. Puede proporcionar a AWS IoT Core para LoRaWAN los permisos para acceder a la imagen del firmware en su nombre. Le recomendamos que firme digitalmente las imágenes del firmware para comprobar su autenticidad cuando se realice la actualización del firmware.

    1. Elegir un archivo de imagen de firmware

      Puede subir un nuevo archivo de imagen de firmware en un bucket de S3 o elegir una imagen existente que ya se haya subido en un bucket de S3.

      nota

      El archivo de imagen del firmware no debe tener un tamaño superior a un megabyte. Cuanto mayor sea el tamaño del firmware, más tiempo tardará en completarse el proceso de actualización.

      • Para usar una imagen existente, elija Seleccionar una imagen de firmware existente, elija Examinar S3 y, a continuación, elija el archivo de imagen de firmware que desee usar.

        AWS IoT Core para LoRaWAN rellena la URL de S3, que es la ruta al archivo de imagen de firmware en el bucket de S3. El formato de la ruta es s3://bucket_name/file_name. Para ver el archivo en la consola de Amazon Simple Storage Service, seleccione Ver.

      • Para subir una nueva imagen de firmware.

        1. Seleccione Cargar una nueva imagen de firmware y suba su imagen de firmware. El archivo de imagen no debe tener más de un megabyte.

        2. Para crear un bucket de S3 e introducir un Nombre del bucket para almacenar el archivo de imagen de firmware, seleccione Crear bucket de S3.

    2. Permisos para obtener acceso a este bucket

      Puede crear un nuevo rol de servicio o elegir uno existente para permitir que AWS IoT Core para LoRaWAN acceda al archivo de imagen de firmware del bucket de S3 en su nombre. Elija Siguiente.

      Para crear un nuevo rol, puede introducir un nombre de rol o dejarlo en blanco para que se genere automáticamente un nombre aleatorio. Para ver los permisos de política que otorgan acceso al bucket de S3, seleccione Ver permisos de políticas.

    Para obtener más información sobre el uso de un bucket de S3 para almacenar la imagen y la concesión de permisos de AWS IoT Core para LoRaWAN para acceder a ella, consulte Suba el archivo de firmware en un bucket de S3 y agregue un rol de IAM.

  3. Revisar y crear

    Para crear su tarea de FUOTA, revise la tarea de FUOTA y los detalles de configuración que especificó y, a continuación, seleccione Crear tarea.

Crear la tarea de FUOTA y subir la imagen del firmware mediante la API

Para crear una tarea de FUOTA y especificar el archivo de imagen de firmware mediante la API, utilice la operación de API CreateFuotaTask o el comando de CLI create-fuota-task. Puede proporcionar un archivo de input.json como entrada al comando create-fuota-task. Cuando utiliza la API o la CLI, el archivo de imagen de firmware que proporciona como entrada debe estar ya subido en un bucket de S3. También debe especificar el rol de IAM que permita a AWS IoT Core para LoRaWAN acceder a la imagen de firmware del bucket de S3.

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

donde:

Contenido de 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" }

Tras crear la tarea de FUOTA, puede utilizar las siguientes operaciones de API o comandos de CLI para actualizar, eliminar u obtener información sobre la tarea de FUOTA.

Siguientes pasos

Ahora que ha creado una tarea de FUOTA y ha proporcionado la imagen del firmware, puede agregar dispositivos a la tarea para actualizar su firmware. Puede agregar dispositivos individuales o grupos de multidifusión a la tarea. Para obtener más información, consulte Agregar dispositivos y grupos de multidifusión a una tarea de FUOTA y programar una sesión FUOTA.