Requisitos previos para las actualizaciones de OTA mediante MQTT - FreeRTOS

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 es utilizar el protocolo MQTT.

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 permisos iot: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.