

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.

# Configurar los requisitos previos de calificación LTS
<a name="lts-idt-dev-tester-prereqs"></a>

En esta sección se describen los requisitos previos para probar microcontroladores con. AWS IoT Device Tester

## Preparación para la calificación de FreeRTOS
<a name="idt-preparing-qualification"></a>

**nota**  
AWS IoT Device Tester for FreeRTOS recomienda encarecidamente utilizar el último parche de la versión más reciente de FreerTOS-LTS.

IDT para FRQ 2.0 es una calificación para FreeRTOS. Antes de ejecutar IDT FRQ 2.0 para la calificación, debe completar el proceso de [Calificación de su placa](https://docs.aws.amazon.com/freertos/latest/qualificationguide/freertos-qualification.html) que se indica en la *Guía de calificación de FreeRTOS*. Para realizar la portabilidad de bibliotecas, probarlas y configurar `manifest.yml`, consulte [Portabilidad de las bibliotecas de FreeRTOS](https://docs.aws.amazon.com/freertos/latest/portingguide/afr-porting.html) en la *Guía de portabilidad de FreeRTOS*. FRQ 2.0 contiene un proceso diferente para la calificación. Consulte [Últimos cambios en la calificación](https://docs.aws.amazon.com/freertos/latest/qualificationguide/latest-changes.html) en la *Guía de calificación de FreeRTOS* para obtener más información.

El repositorio [FreeRTOS-Libraries-Integration-Tests](https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests) debe estar presente para que IDT se ejecute. Consulta el [archivo README.md](https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests/blob/main/README.md) para saber cómo clonar y portar este repositorio a tu proyecto fuente. FreeRTOS-Libraries-Integration-Testsdebe incluir el que `manifest.yml` se encuentra en la raíz de su proyecto para que IDT se ejecute. 

**nota**  
IDT depende de la implementación de `UNITY_OUTPUT_CHAR` del repositorio de pruebas. Los registros de salida de la prueba y los registros del dispositivo no deben intercalarse entre sí. Consulte [ Implementación de macros de registro de bibliotecas](https://docs.aws.amazon.com/freertos/latest/portingguide/afr-library-logging-macros.html) en la *Guía de portabilidad de FreeRTOS* para obtener más detalles. 

## Descarga de IDT para FreeRTOS
<a name="idt-download-dev-tester-afr"></a>

Cada versión de FreeRTOS tiene una versión correspondiente de IDT para FreeRTOS para realizar pruebas de calificación. Descargue la versión adecuada de IDT para FreeRTOS [desde las versiones AWS IoT Device Tester compatibles de](https://docs.aws.amazon.com/freertos/latest/userguide/dev-test-versions-afr.html) FreeRTOS.

Extraiga IDT para FreeRTOS en una ubicación del sistema de archivos en la que tenga permisos de lectura y escritura. Dado que Microsoft Windows tiene un límite de caracteres para la longitud de la ruta de acceso, extraiga IDT para FreeRTOS en un directorio raíz, como `C:\` o `D:\`.

**nota**  
Varios usuarios no pueden ejecutar IDT desde una ubicación compartida, como un directorio NFS o una carpeta compartida de red de Windows. Esto dará lugar a bloqueos o daños en los datos. Le recomendamos que extraiga el paquete IDT a una unidad local.

## Descarga de Git
<a name="idt-download-git"></a>

IDT debe tener Git instalado como requisito previo para garantizar la integridad del código fuente.

Sigue las instrucciones de la [GitHub](https://github.com/git-guides/install-git)guía para instalar Git. Para verificar la versión actual de Git instalada, introduzca el comando `git --version` en el terminal.

**aviso**  
IDT usa Git para alinearse con el estado de un directorio, limpio o sucio. Si Git no está instalado, los grupos de pruebas de `FreeRTOSIntegrity` fallarán o no se ejecutarán como se espera. Si IDT devuelve un error, como `git executable not found` o `git command not found`, instale o vuelva a instalar Git e inténtelo de nuevo.

**Topics**
+ [Preparación para la calificación de FreeRTOS](#idt-preparing-qualification)
+ [Descarga de IDT para FreeRTOS](#idt-download-dev-tester-afr)
+ [Descarga de Git](#idt-download-git)
+ [Crea una AWS cuenta](#lts-config-aws-account)
+ [AWS IoT Device Tester política gestionada](#managed-policy)
+ [(Opcional) Instale el AWS Command Line Interface](#install-cli)

## Crea una AWS cuenta
<a name="lts-config-aws-account"></a>

**nota**  
El conjunto completo de calificaciones de IDT solo es compatible con los siguientes Regiones de AWS   
Este de EE. UU. (Norte de Virginia)
 Oeste de EE. UU. (Oregón) 
Asia-Pacífico (Tokio) 
Europa (Irlanda) 

Para probar su dispositivo, IDT for FreeRTOS crea recursos AWS IoT como cosas, grupos de FreeRTOS y funciones Lambda. Para crear esos recursos, IDT para FreeRTOS requiere que cree y configure AWS una cuenta y una política de IAM que conceda permiso a IDT for FreeRTOS para acceder a los recursos en su nombre mientras se ejecutan las pruebas.

Los siguientes pasos son para crear y configurar su cuenta. AWS 

1. Si ya tienes una AWS cuenta, pasa al paso siguiente. O bien, cree una [cuenta de AWS](https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/).

1. Siga los pasos que se indican en [ Creación de roles de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html). No añada permisos ni políticas en este momento. 

1. Para ejecutar pruebas de calificación OTA, vaya al paso 4. De lo contrario, vaya al paso 5.

1.  Asocie la política en línea de permisos de IAM de OTA a su rol de IAM. 

   1. 
**importante**  
 La siguiente plantilla de política concede permiso a IDT para crear roles, crear políticas y asociar políticas a roles. IDT para FreeRTOS utiliza estos permisos para las pruebas que crean roles. Si bien la plantilla de política no proporciona privilegios de administrador al usuario, los permisos se pueden usar para obtener acceso de administrador a su AWS cuenta. 

   1.  Siga estos pasos para asociar los permisos necesarios a su rol de IAM: 

      1. En la pestaña **Permisos**, seleccione **Añadir permisos**.

      1. Elija **Crear política insertada**.

      1. Elija la pestaña **JSON** y copie los siguientes permisos en el cuadro de texto **JSON**. Utilice la plantilla que aparece en **La mayoría de las regiones** si no se encuentra en la región de China. Si se encuentra en la región de China, utilice la plantilla que aparece en **Regiones de Pekín y Ningxia**. 

------
#### [ Most Regions ]

------
#### [ JSON ]

****  

         ```
         {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
                 {
                     "Effect": "Allow",
                     "Action": "iotdeviceadvisor:*",
                     "Resource": [
                         "arn:aws:iotdeviceadvisor:*:*:suiterun/*/*",
                         "arn:aws:iotdeviceadvisor:*:*:suitedefinition/*"
                     ]
                 },
                 {
                     "Effect": "Allow",
                     "Action": "iam:PassRole",
                     "Resource": "arn:aws:iam::*:role/idt*",
                     "Condition": {
                         "StringEquals": {
                             "iam:PassedToService": "iotdeviceadvisor.amazonaws.com"
                         }
                     }
                 },
                 {
                     "Effect": "Allow",
                     "Action": [
                         "execute-api:Invoke*",
                         "iam:ListRoles",
                         "iot:Connect",  
                         "iot:CreateJob",
                         "iot:DeleteJob",
                         "iot:DescribeCertificate", 
                         "iot:DescribeEndpoint",
                         "iot:DescribeJobExecution",
                         "iot:DescribeJob",                                 
                         "iot:DescribeThing",
                         "iot:GetPolicy",
                         "iot:ListAttachedPolicies",
                         "iot:ListCertificates",
                         "iot:ListPrincipalPolicies",
                         "iot:ListThingPrincipals",
                         "iot:ListThings",
                         "iot:Publish",    
                         "iot:UpdateThingShadow",                
                         "logs:CreateLogGroup",
                         "logs:CreateLogStream",
                         "logs:DescribeLogGroups",
                         "logs:DescribeLogStreams",
                         "logs:PutLogEvents",
                         "logs:PutRetentionPolicy"
                     ],
                     "Resource": "*"
                 },
                 {
                     "Effect": "Allow",
                     "Action": "iotdeviceadvisor:*",
                     "Resource": "*"
                 },
                 {
                     "Effect": "Allow",
                     "Action": "logs:DeleteLogGroup",
                     "Resource": "arn:aws:logs:*:*:log-group:/aws/iot/deviceadvisor/*"
                 },
                 {
                     "Effect": "Allow",
                     "Action": "logs:GetLogEvents",
                     "Resource": "arn:aws:logs:*:*:log-group:/aws/iot/deviceadvisor/*:log-stream:*"
                 },
                 {
                     "Effect": "Allow",
                     "Action": [
                         "iam:CreatePolicy",
                         "iam:DetachRolePolicy",
                         "iam:DeleteRolePolicy",
                         "iam:DeletePolicy",
                         "iam:CreateRole",
                         "iam:DeleteRole",
                         "iam:AttachRolePolicy"
                     ],
                     "Resource": [
                         "arn:aws:iam::*:policy/idt*",
                         "arn:aws:iam::*:role/idt*"
                     ]
                 },
                 {
                     "Effect": "Allow",
                     "Action": [
                         "ssm:GetParameters"
                     ],
                     "Resource": [
                         "arn:aws:ssm:*::parameter/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2"
                     ]
                 },
                 {
                     "Effect": "Allow",
                     "Action": [
                         "ec2:DescribeInstances",
                         "ec2:RunInstances",
                         "ec2:CreateSecurityGroup",
                         "ec2:CreateTags",
                         "ec2:DeleteTags"
                     ],
                     "Resource": [
                         "*"
                     ]
                 },
                 {
                     "Effect": "Allow",
                     "Action": [
                         "ec2:CreateKeyPair",
                         "ec2:DeleteKeyPair"
                     ],
                     "Resource": [
                         "arn:aws:ec2:*:*:key-pair/idt-ec2-ssh-key-*"
                     ]
                 },
                 {
                     "Effect": "Allow",
                     "Condition": {
                         "StringEqualsIgnoreCase": {
                             "aws:ResourceTag/Owner": "IoTDeviceTester"
                         }
                     },
                     "Action": [
                         "ec2:TerminateInstances",
                         "ec2:DeleteSecurityGroup",
                         "ec2:AuthorizeSecurityGroupIngress",
                         "ec2:RevokeSecurityGroupIngress"
                     ],
                     "Resource": [
                         "*"
                     ]
                 }
             ]
         }
         ```

------

------
#### [ Beijing and Ningxia Regions ]

         La siguiente plantilla de política se puede utilizar en las regiones de Pekín y Ningxia.

------

      1. Cuando haya terminado, elija **Review policy (Revisar política)**.

      1. **IDTFreeRTOSIAMPermissions**Introdúzcalo como nombre de la política.

      1. Elija **Crear política**.

1.  Adjunte **AWSIoTDeviceTesterForFreeRTOSFullAccess** a su función de IAM. 

   1. Para asociar los permisos necesarios a su rol de IAM:

      1. En la pestaña **Permisos**, seleccione **Añadir permisos**.

      1. Seleccione **Asociar políticas**.

      1. Busque la política de **AWSIoTDeviceTesterForFreeRTOSFullacceso**. Marque la casilla.

   1. Elija **Añadir permisos**.

1. Exporte las credenciales para IDT. Consulte [Obtención de credenciales de rol de IAM para el acceso a la CLI](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html) para obtener más información.

## AWS IoT Device Tester política gestionada
<a name="managed-policy"></a>

La política `AWSIoTDeviceTesterForFreeRTOSFullAccess` administrada contiene los siguientes AWS IoT Device Tester permisos para la verificación de versiones, las funciones de actualización automática y la recopilación de métricas.
+ `iot-device-tester:SupportedVersion`

  Otorga AWS IoT Device Tester permiso para obtener la lista de productos, conjuntos de pruebas y versiones de IDT compatibles.
+ `iot-device-tester:LatestIdt`

  Otorga AWS IoT Device Tester permiso para obtener la última versión de IDT disponible para su descarga.
+ `iot-device-tester:CheckVersion`

  Otorga AWS IoT Device Tester permiso para comprobar la compatibilidad de las versiones de IDT, los conjuntos de pruebas y los productos.
+ `iot-device-tester:DownloadTestSuite`

  Otorga AWS IoT Device Tester permiso para descargar las actualizaciones del conjunto de pruebas.
+ `iot-device-tester:SendMetrics`

  Otorga AWS permiso para recopilar métricas sobre el uso AWS IoT Device Tester interno.

## (Opcional) Instale el AWS Command Line Interface
<a name="install-cli"></a>

Es posible que prefiera utilizar el AWS CLI para realizar algunas operaciones. Si no tiene la AWS CLI instalada, siga las instrucciones que se indican en [Instalación de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html).

Configure AWS CLI la AWS región que desee utilizar ejecutándola **aws configure** desde una línea de comandos. Para obtener información sobre las AWS regiones que admiten IDT para FreeRTOS, [AWS consulte Regiones](https://docs.aws.amazon.com/general/latest/gr/rande.html#amazon-freertos-ota-control) y puntos finales. Para obtener más información sobre **aws configure**, consulte [ Configuración rápida con **aws configure**](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config).