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á.
Pré-requisitos para atualizações usando OTA HTTP
Esta seção descreve os requisitos gerais de uso HTTP para realizar atualizações over-the-air (OTA). A partir da versão 201912.00, o Free RTOS OTA pode usar o MQTT protocolo HTTP ou para transferir imagens de atualização de AWS IoT firmware para dispositivos.
nota
-
Embora o HTTP protocolo possa ser usado para transferir a imagem do firmware, a biblioteca principal do MQTT Agente ainda é necessária porque outras interações AWS IoT Core usam a biblioteca principal do MQTT Agente, incluindo o envio ou recebimento de notificações de execução de tarefas, documentos de tarefas e atualizações de status de execução.
-
Quando você especifica os HTTP protocolos MQTT e os protocolos para o trabalho de OTA atualização, a configuração do software do OTA Agente em cada dispositivo individual determina o protocolo usado para transferir a imagem do firmware. Para alterar o OTA Agente do método de MQTT protocolo padrão para o HTTP protocolo, você pode modificar os arquivos de cabeçalho usados para compilar o RTOS código-fonte gratuito do dispositivo.
Requisitos mínimos
-
O firmware do dispositivo deve incluir as RTOS bibliotecas gratuitas necessárias (MQTTagente principalHTTP, OTA agente e suas dependências).
-
RTOSA versão gratuita 201912.00 ou posterior é necessária para alterar a configuração dos OTA protocolos e permitir a transferência de OTA dados. HTTP
Configurações
Veja a seguinte configuração dos OTA protocolos no \vendors\boards\
board
\aws_demos\config_files\ota_config.h
Para habilitar a transferência de OTA dados HTTP
-
Fazer
configENABLED_DATA_PROTOCOLS
alteraçãoOTA_DATA_OVER_HTTP
. -
Durante as OTA atualizações, você pode especificar os dois protocolos para que um MQTT ou outro HTTP protocolo possa ser usado., Você pode definir o protocolo primário usado HTTP pelo dispositivo alterando
configOTA_PRIMARY_DATA_PROTOCOL
paraOTA_DATA_OVER_HTTP
.
nota
HTTPsó é compatível com operações de OTA dados. Para operações de controle, você deve usarMQTT.
Configurações específicas do dispositivo
- ESP32
-
Devido a uma quantidade limitada deRAM, você deve desativá-lo BLE ao habilitar HTTP como protocolo OTA de dados. No arquivo
vendors/espressif/boards/esp32/aws_demos/config_files/aws_iot_network_config.h
, altere configENABLED_NETWORKS
paraAWSIOT_NETWORK_TYPE_WIFI
somente./** * @brief Configuration flag which is used to enable one or more network interfaces for a board. * * The configuration can be changed any time to keep one or more network enabled or disabled. * More than one network interfaces can be enabled by using 'OR' operation with flags for * each network types supported. Flags for all supported network types can be found * in "aws_iot_network.h" * */ #define configENABLED_NETWORKS ( AWSIOT_NETWORK_TYPE_WIFI )
Uso de memória
Quando MQTT é usada para transferência de dados, nenhuma memória de pilha adicional é necessária para a MQTT conexão, pois ela é compartilhada entre as operações de controle e de dados. No entanto, habilitar a transferência de dados HTTP requer memória de pilha adicional. A seguir estão os dados de uso da memória em pilha para todas as plataformas suportadas, calculados usando o Free RTOS xPortGetFreeHeapSize
API. Você deve se certificar de que há o suficiente RAM para usar a OTA biblioteca.
- Texas Instruments CC322 0SF- LAUNCHXL
-
Operações de controle (MQTT): 12 KB
Operações de dados (HTTP): 10 KB
nota
A TI usa significativamente menos RAM porque usa hardware, portanto, não usa a biblioteca mbedtls. SSL
- Curiosidade em microchip PIC32MZEF
-
Operações de controle (MQTT): 65 KB
Operações de dados (HTTP): 43 KB
- Expressivo ESP32
-
Operações de controle (MQTT): 65 KB
Operações de dados (HTTP): 45 KB
nota
BLEon ESP32 ocupa cerca de 87 KBRAM. Não há o suficiente RAM para habilitar todos eles, o que é mencionado nas configurações específicas do dispositivo acima.
- Windows Simulator
-
Operações de controle (MQTT): 82 KB
Operações de dados (HTTP): 63 KB
- Nordic nrf52840-dk
-
Não há suporte ao HTTP.
Política de dispositivo
Essa política permite que você use uma MQTT ou HTTP para OTA atualizações.
Cada dispositivo que recebe uma OTA atualização usando HTTP deve estar registrado como um item AWS IoT e 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.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource": "arn:
partition
:iot:region
:account
:client/${iot:Connection.Thing.ThingName}" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": [ "arn:partition
:iot:region
:account
:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*" ] }, { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Receive" ], "Resource": [ "arn:partition
:iot:region
:account
:topic/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*" ] } ] }
Observações
-
As
iot:Connect
permissões permitem que seu dispositivo se conecte a AWS IoT mais deMQTT. -
As
iot:Publish
permissõesiot:Subscribe
e sobre os tópicos de AWS IoT trabalhos (.../jobs/*
) permitem que o dispositivo conectado receba notificações e documentos de trabalho e publique o estado de conclusão da execução de um trabalho. -
As
iot:Receive
permissões AWS IoT Core permitem publicar mensagens sobre esses tópicos no dispositivo conectado atual. Essa permissão é verificada em cada entrega de uma MQTT mensagem. Você pode usar essa permissão para revogar o acesso a clientes que estão inscritos em um tópico atualmente.