Pré-requisitos para atualizações de OTA usando MQTT
Esta seção descreve os requisitos gerais para o uso de MQTT para executar atualizações de OTA (Over-The-Air).
Requisitos mínimos
-
O firmware do dispositivo deve incluir as bibliotecas do FreeRTOS necessárias (coreMQTT, agente OTA e suas dependências).
-
A versão 1.4.0 ou posterior do FreeRTOS é necessária. Recomendamos usar a versão mais recente sempre que possível.
Configurações
A partir da versão 201912.00, o OTA do FreeRTOS pode usar o protocolo HTTP ou MQTT para transferir imagens de atualização de firmware do AWS IoT para dispositivos. Se você especificar os dois protocolos ao criar uma atualização OTA no FreeRTOS, cada dispositivo determinará o protocolo usado para transferir a imagem. Consulte Pré-requisitos para atualizações de OTA usando HTTP para obter mais informações.
Por padrão, a configuração de protocolos OTA em ota_config.h
Configurações específicas do dispositivo
Nenhum.
Uso de memória
Quando o MQTT for usado para transferência de dados, não será necessária nenhuma memória adicional para a conexão MQTT, pois ela é compartilhada entre operações de controle e de dados.
Política de dispositivo
Cada dispositivo que recebe uma atualização OTA usando MQTT deve ser registrado como uma coisa dentro do AWS IoT, e a coisa deve ter uma política anexada como a listada aqui. Você pode encontrar mais informações sobre os itens nos objetos "Resource" e "Action" em Ações da política principal do AWS IoT e Recursos da ação principal do AWS IoT.
Observações
-
As permissões do
iot:Connectpermitem que o dispositivo seja conectado ao AWS IoT pelo MQTT. -
As permissões de
iot:Subscribeeiot:Publishpara tópicos de trabalhos da AWS IoT (.../jobs/*) permitem que o dispositivo conectado receba notificações de trabalho e documentos de trabalho, e publique o estado de conclusão da execução de um trabalho. -
As permissões de
iot:Subscribeeiot:Publishpara tópicos de fluxos do OTA de AWS IoT (.../streams/*) permitem que o dispositivo conectado obtenha dados de atualização do OTA da AWS IoT. Essas permissões são necessárias para executar atualizações de firmware pelo MQTT. -
As permissões de
iot:Receivepermitem que o AWS IoT Core publique mensagens sobre esses tópicos no dispositivo conectado. Essa permissão é verificada em cada entrega de uma mensagem de MQTT. Você pode usar essa permissão para revogar o acesso a clientes que estão inscritos em um tópico atualmente.