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
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.
-
Conecte-se ao MQTT agente AWS IoT principal. Para obter mais informações, consulte biblioteca principal MQTT do Agent.
-
Inicialize o OTA Agente chamando
OTA_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 -
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
. -
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.
-
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 |