AWS IoT Biblioteca Over the Air (OTA) - Gratuito RTOS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS IoT Biblioteca Over the Air (OTA)

nota

O conteúdo desta página pode não ser up-to-date. Consulte a página da biblioteca RTOS Free.org para obter a atualização mais recente.

Introdução

A biblioteca de atualização AWS IoT Over-the-air (OTA) permite que você gerencie a notificação, o download e a verificação de atualizações de firmware para RTOS dispositivos gratuitos usando HTTP ou MQTT como protocolo. Ao usar a biblioteca do OTA Agente, você pode separar logicamente as atualizações de firmware e o aplicativo em execução nos seus dispositivos. O OTA agente pode compartilhar uma conexão de rede com o aplicativo. Ao compartilhar uma conexão de rede, você pode potencialmente economizar uma quantidade significativa deRAM. Além disso, a biblioteca de OTA agentes permite que você defina a lógica específica do aplicativo para testar, confirmar ou reverter uma atualização de firmware.

A Internet das Coisas (IoT) estende a conectividade com a Internet para dispositivos incorporados que tradicionalmente não estavam conectados. Estes dispositivos podem ser programados para comunicar dados utilizáveis pela Internet e podem ser monitorados e controlados remotamente. Com os avanços da tecnologia, esses dispositivos tradicionais incorporados estão obtendo recursos de Internet em espaços de consumo, industriais e corporativos em um ritmo acelerado.

Os dispositivos de IoT geralmente são implantados em grandes quantidades e geralmente em locais difíceis ou impraticáveis para um operador humano acessar. Imagine um cenário em que uma vulnerabilidade de segurança que pode expor dados seja descoberta. Nestes cenários, é importante atualizar os dispositivos afetados com correções de segurança de forma rápida e confiável. Sem a capacidade de realizar OTA atualizações, também pode ser difícil atualizar dispositivos que estão geograficamente dispersos. Um técnico que atualize esses dispositivos poderá custar caro, será demorado e, muitas vezes, será impraticável. O tempo necessário para atualizar esses dispositivos os deixa expostos a vulnerabilidades de segurança por um período mais longo. O recall desses dispositivos para atualização também será caro e poderá causar interrupções significativas aos consumidores devido ao tempo de inatividade.

As atualizações Over the Air (OTA) possibilitam a atualização do firmware do dispositivo sem um recall caro ou uma visita técnica. Este método adiciona os seguintes benefícios:

  • Segurança: a capacidade de responder rapidamente às vulnerabilidades de segurança e aos bugs de software descobertos após a implantação dos dispositivos no campo.

  • Inovação: os produtos podem ser atualizados com frequência à medida que novos recursos são desenvolvidos, impulsionando o ciclo de inovação. As atualizações podem entrar em vigor rapidamente com o mínimo de tempo de inatividade em comparação com os métodos tradicionais de atualização.

  • Custo — OTA as atualizações podem reduzir significativamente os custos de manutenção em comparação com os métodos tradicionalmente usados para atualizar esses dispositivos.

Fornecer a OTA funcionalidade requer as seguintes considerações de design:

  • Comunicação segura: as atualizações devem usar canais de comunicação criptografados para evitar que os downloads sejam adulterados durante o trânsito.

  • Recuperação: as atualizações podem falhar devido a fatores como conectividade de rede intermitente ou recebimento de uma atualização inválida. Nesses cenários, o dispositivo precisa conseguir retornar a um estado estável e evitar o bloqueio.

  • Verificação de autor: as atualizações devem ser verificadas por serem de uma fonte confiável, junto com outras validações, como verificar a versão e a compatibilidade.

Para obter mais informações sobre como configurar OTA atualizações com o FreeRTOS, consulteRTOS Over-the-AirAtualizações gratuitas.

AWS IoT Biblioteca Over the Air (OTA)

A AWS IoT OTA biblioteca permite gerenciar notificações de atualizações recém-disponíveis, baixá-las e realizar a verificação criptográfica das atualizações do firmware. Usando a biblioteca cliente over-the-air (OTA), você pode separar logicamente os mecanismos de atualização do firmware do aplicativo em execução no seu dispositivo. A biblioteca cliente over-the-air (OTA) pode compartilhar uma conexão de rede com o aplicativo, economizando memória em dispositivos com recursos limitados. Além disso, a biblioteca cliente over-the-air (OTA) permite definir a lógica específica do aplicativo para testar, confirmar ou reverter uma atualização de firmware. A biblioteca oferece suporte a diferentes protocolos de aplicativos, como Message Queuing Telemetry Transport (MQTT) e Hypertext Transfer Protocol (HTTP), e fornece várias opções de configuração que você pode ajustar de acordo com o tipo e as condições da rede.

Essa biblioteca APIs fornece as seguintes funções principais:

  • Registre-se para receber notificações ou pesquisar novas solicitações de atualização que estão disponíveis.

  • Receba, analise e valide a solicitação de atualização.

  • Baixe e verifique o arquivo de acordo com as informações na solicitação de atualização.

  • Execute um autoteste antes de ativar a atualização recebida para garantir a validade funcional da atualização.

  • Atualize o status do dispositivo.

Essa biblioteca usa AWS serviços para gerenciar várias funções relacionadas à nuvem, como enviar atualizações de firmware, monitorar um grande número de dispositivos em várias regiões, reduzir o raio de explosão de implantações defeituosas e verificar a segurança das atualizações. Essa biblioteca pode ser usada com MQTT qualquer HTTP biblioteca.

As demonstrações dessa biblioteca demonstram over-the-air atualizações completas usando a MQTT biblioteca e AWS os serviços principais em um RTOS dispositivo gratuito.

Recursos

Aqui está a interface completa OTA do agente:

OTA_Init

Inicializa o OTA mecanismo iniciando o OTA Agente (“OTATarefa”) no sistema. Somente um OTA agente pode existir.

OTA_Shutdown

Sinal para o OTA agente desligar. Opcionalmente, o OTA agente cancelará a assinatura de todos os tópicos de notificação de MQTT trabalhos, interromperá os OTA trabalhos em andamento, se houver, e limpará todos os recursos.

OTA_GetState

Obtém o estado atual do OTA Agente.

OTA_ActivateNewImage

Ativa a imagem mais recente do firmware do microcontrolador recebida por meio de. OTA (O status detalhado do trabalho agora deve ser teste automático.)

OTA_SetImageState

Define o estado de validação da imagem do firmware do microcontrolador atualmente em execução (teste, aceito ou rejeitado).

OTA_GetImageState

Obtém o estado da imagem do firmware do microcontrolador atualmente em execução (teste, aceito ou rejeitado).

OTA_CheckForUpdate

Solicita a próxima OTA atualização disponível do serviço de OTA atualização.

OTA_Suspend

Suspenda todas as operações OTA do agente.

OTA_Resume

Retomar as operações do OTA agente.

OTA_SignalEvent

Sinalize um evento para a tarefa do OTA Agente.

OTA_EventProcessingTask

OTAloop de processamento de eventos do agente.

OTA_GetStatistics

Obtenha as estatísticas dos pacotes de OTA mensagens que incluem o número de pacotes recebidos, enfileirados, processados e descartados.

OTA_Err_strerror

Conversão de código de erro em string para OTA erros.

OTA_JobParse_strerror

Converta um código de erro do OTA Job Parsing em uma string.

OTA_PalStatus_strerror

Conversão de código de status em string para OTA PAL status.

OTA_OsStatus_strerror

Conversão de código de status em string para status do OTA sistema operacional.

APIreferência

Para obter mais informações, consulte AWS IoT Over-the-air Atualização: Funções.

Exemplo de uso

Um aplicativo OTA de dispositivo com capacidade típica que usa o MQTT protocolo aciona o OTA Agente usando a seguinte sequência de API chamadas.

  1. Conecte-se ao MQTT agente AWS IoT principal. Para obter mais informações, consulte biblioteca principal MQTT do Agent.

  2. Inicialize o OTA Agente chamandoOTA_Init, incluindo os buffers, as interfaces ota necessárias, o nome da coisa e o retorno de chamada do aplicativo. O retorno de chamada implementa a lógica específica do aplicativo que é executada após a conclusão de um trabalho de atualização. OTA

  3. Quando a OTA atualização for concluída, o Free RTOS chama o callback de conclusão do trabalho com um dos seguintes eventos:accepted,rejected, ouself test.

  4. Se a nova imagem de firmware tiver sido rejeitada (por exemplo, devido a um erro de validação), a aplicação normalmente poderá ignorar a notificação e aguardar a próxima atualização.

  5. Se a atualização for válida e tiver sido marcada como aceita, chame OTA_ActivateNewImage para redefinir o dispositivo e inicializar a nova imagem de firmware.

Portabilidade

Para obter informações sobre a portabilidade da OTA funcionalidade para sua plataforma, consulte Portando a OTA biblioteca no Free RTOS Porting Guide.

Uso de memória

Tamanho do código de AWS IoT OTA (exemplo gerado com GCC for ARM Cortex-M)
Arquivo Com otimização -O1 Com otimização -Os
ota.c 8,3 mil 7,5 mil
ota_interface.c 0,1 mil 0,1 mil
ota_base64.c 0,6 mil 0,6 mil
ota_mqtt.c 2,4 mil 2,2 mil
ota_cbor.c 0,8 mil 0,6 mil
ota_http.c 0,3 mil 0,3 mil
Estimativas totais 12,5 mil 11,3 mil