Criar uma tarefa FUOTA e fornecer a imagem de firmware
Para atualizar o firmware de dispositivos LoRaWAN, primeiro crie uma tarefa FUOTA e forneça a imagem de firmware assinada digitalmente que deseja usar na atualização. Em seguida, você poderá adicionar os dispositivos e grupos de multicast à tarefa e agendar uma sessão FUOTA. Quando a sessão começa, o AWS IoT Core for LoRaWAN configura uma sessão de fragmentação e os dispositivos finais coletam os fragmentos, reconstroem a imagem e aplicam o novo firmware. Para acessar informações sobre o processo FUOTA, consulte Visão geral do processo FUOTA.
O seguinte demonstra como você pode criar uma tarefa FUOTA e carregar a imagem de firmware ou a imagem delta que você armazenará em um bucket do S3.
Pré-requisitos
Para poder executar a FUOTA, a imagem de firmware deve estar assinada digitalmente para que os dispositivos finais possam verificar a autenticidade da imagem ao aplicá-la. É possível usar qualquer ferramenta de terceiros para gerar a assinatura digital para a sua imagem de firmware. Nós recomendamos usar uma ferramenta de assinatura digital, como a incorporada no repositório ARM Mbed do GitHub
Criar tarefa FUOTA e carregar a imagem de firmware com o console
Para criar uma tarefa FUOTA e carregar sua imagem de firmware com o console, acesse a guia Tarefas FUOTA
-
Criar tarefa FUOTA
Para criar uma tarefa FUOTA, especifique as propriedades e tags da tarefa.
-
Especificar propriedades da tarefa FUOTA
Para especificar as propriedades da tarefa FUOTA, insira as informações a seguir relativas à tarefa FUOTA.
-
Nome: informe um nome exclusivo para a tarefa FUOTA. O nome só pode conter letras, números, hifens e sublinhado. Ele não pode conter espaços.
-
Descrição: você pode fornecer uma descrição opcional do grupo de multicast. O campo de descrição pode ter até 2.048 caracteres.
-
RFRegion: defina a banda de frequência da tarefa FUOTA. A banda de frequência deve corresponder àquela usada para provisionar seus dispositivos sem fio ou grupos de multicast.
-
-
Tags da tarefa FUOTA
Opcionalmente, é possível fornecer quaisquer pares de valores-chave como Tags para a tarefa FUOTA. Para continuar a criação da tarefa, selecione Próximo.
-
-
Carregar imagem de firmware
Selecione o arquivo de imagem de firmware que deseja usar para atualizar o firmware dos dispositivos adicionados à tarefa FUOTA. O arquivo de imagem de firmware é armazenado em um bucket do S3. Você pode fornecer ao AWS IoT Core for LoRaWAN as permissões para acessar a imagem de firmware em seu nome. Nós recomendamos assinar digitalmente as imagens de firmware para que sua autenticidade seja verificada quando a atualização do firmware for realizada.
-
Selecione o arquivo de imagem de firmware
É possível carregar um novo arquivo de imagem de firmware em um bucket do S3 ou selecionar uma imagem existente que já tenha sido carregada em um bucket do S3.
nota
O arquivo de imagem de firmware não deve ter tamanho superior a 1 megabyte. Quanto maior o tamanho do firmware, mais tempo levará para que o processo de atualização seja concluído.
-
Para usar uma imagem existente, selecione Selecionar uma imagem de firmware existente, selecione Procurar no S3 e selecione o arquivo de imagem de firmware que deseja usar.
O AWS IoT Core for LoRaWAN preenche o URL do S3, que é o caminho para o arquivo de imagem de firmware no bucket do S3. O formato do caminho é
s3://
. Para visualizar o arquivo no console do Amazon Simple Storage Servicebucket_name
/file_name
, selecione Exibir. -
Para carregar uma nova imagem de firmware.
-
Selecione Carregar uma nova imagem de firmware e carregue a imagem de firmware. O arquivo de imagem não deve ser maior que 1 megabyte.
-
Para criar um bucket do S3 e inserir um Nome do bucket para armazenamento do arquivo de imagem de firmware, selecione Criar bucket do S3.
-
-
-
Permissões de acesso ao bucket
É possível criar um novo perfil de serviço ou selecionar um perfil existente para permitir que o AWS IoT Core for LoRaWAN acesse o arquivo de imagem de firmware no bucket do S3 em seu nome. Escolha Próximo.
Para criar um novo perfil, informe um nome de perfil ou deixe em branco para que um nome aleatório seja gerado automaticamente. Para visualizar as permissões de política que concedem acesso ao bucket do S3, selecione Exibir permissões de política.
Para acessar mais informações sobre como usar um bucket do S3 para armazenar sua imagem e conceder ao AWS IoT Core for LoRaWAN as permissões para acessá-la, consulte Fazer upload do arquivo de firmware para um bucket do S3 e adicionar um perfil do IAM.
-
-
Examinar e criar
Para criar uma tarefa FUOTA, examine a tarefa FUOTA e os detalhes de configuração especificados e, em seguida, selecione Criar tarefa.
Criar tarefa FUOTA e carregar a imagem de firmware com a API
Para criar uma tarefa FUOTA e especificar seu arquivo de imagem de firmware com a API, use a operação da API CreateFuotaTask
ou o comando create-fuota-task
da CLI. É possível fornecer um arquivo input.json
como entrada para o comando create-fuota-task
. Quando usar a API ou a CLI, é preciso que o arquivo de imagem de firmware fornecido como entrada já esteja carregado em um bucket do S3. Você também especifica o perfil do IAM que dá ao AWS IoT Core for LoRaWAN acesso à imagem de firmware no bucket do S3.
aws iotwireless create-fuota-task \ --cli-input-json file://input.json
onde:
Conteúdo 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" }
Após criar sua tarefa FUOTA, é possível usar as seguintes operações de API ou comandos da CLI para atualizar, excluir ou obter informações sobre sua tarefa FUOTA.
Próximas etapas
Depois de ter criado uma tarefa FUOTA e fornecido a imagem de firmware, você pode adicionar dispositivos à tarefa para atualizar o firmware. É possível adicionar dispositivos individuais ou grupos de multicast à tarefa. Para ter mais informações, consulte Adicionar dispositivos e grupos de multicast a uma tarefa FUOTA e agendar uma sessão FUOTA.