Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Requisitos previos para las actualizaciones de OTA mediante MQTT
En esta sección se describen los requisitos generales para utilizar MQTT over-the-air (actualizaciones OTA).
Requisitos mínimos
-
El firmware del dispositivo debe incluir las bibliotecas de FreeRTOS necesarias (agente de coreMQTT, actualización OTA y sus dependencias).
-
Se necesita la versión 1.4.0 o posterior de FreeRTOS. Sin embargo, le recomendamos que utilice la versión más reciente cuando sea posible.
Configuraciones
A partir de la versión 201912.00, FreeRTOS OTA puede usar el protocolo HTTP o MQTT para transferir imágenes de actualización de firmware de los dispositivos a otros. AWS IoT Si especifica ambos protocolos al crear una actualización OTA en FreeRTOS, cada dispositivo determinará el protocolo utilizado para transferir la imagen. Para obtener más información, consulta Requisitos previos para las actualizaciones de OTA mediante HTTP.
De manera predeterminada, la configuración de los protocolos OTA en ota_config.h
Configuraciones específicas del dispositivo
Ninguna.
Uso de memoria
Cuando se utiliza MQTT para la transferencia de datos, no se requiere memoria adicional para la conexión MQTT porque se comparte entre operaciones de control y datos.
Política de dispositivos
Cada dispositivo que reciba una actualización OTA mediante MQTT debe estar registrado AWS IoT y tener una política adjunta como la que se indica aquí. Puede encontrar más información acerca de los elementos de los objetos "Resource"
y "Action"
en las Acciones de la política principal de AWS IoT y en los recursos de acciones principales de 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}/streams/*", "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}/streams/*", "arn:partition
:iot:region
:account
:topic/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*" ] } ] }
Notas
-
Los
iot:Connect
permisos permiten que el dispositivo se conecte a AWS IoT través de MQTT. -
Los
iot:Subscribe
iot:Publish
permisos relacionados con los AWS IoT trabajos (.../jobs/*
) permiten al dispositivo conectado recibir notificaciones y documentos de trabajo, y publicar el estado de finalización de la ejecución de un trabajo. -
Los
iot:Publish
permisosiot:Subscribe
y los permisos sobre los temas de las transmisiones AWS IoT OTA (.../streams/*
) permiten al dispositivo conectado obtener datos de actualización de AWS IoT la OTA. Estos permisos son necesarios para realizar actualizaciones de firmware sobre MQTT. -
Los
iot:Receive
permisos permiten AWS IoT Core publicar mensajes sobre esos temas en el dispositivo conectado. Este permiso se verifica en cada entrega de un mensaje MQTT. Puede utilizar este permiso para revocar el acceso a los clientes que están actualmente suscritos a un tema.