

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.

# Primeros pasos
<a name="freertos-prereqs"></a>

**importante**  <a name="deprecation-message-general"></a>
Esta página hace referencia al Amazon-FreeRTOS repositorio que está en desuso. Recomendamos [empezar por aquí](freertos-getting-started-modular.md) al crear un nuevo proyecto. Si ya tiene un proyecto de Freertos existente basado en el Amazon-FreeRTOS repositorio ahora obsoleto, consulte la. [Amazon-FreeRTOS Guía de migración del repositorio de Github](github-repo-migration.md)

Para empezar a usar FreeRTOS con AWS IoT, debes tener una AWS cuenta, un usuario con permisos de acceso y los servicios en la nube de AWS IoT FreeRTOS. También debes descargar FreeRTOS y configurar el proyecto de demostración de FreeRTOS de tu placa para poder trabajar con él. AWS IoT Las secciones siguientes le guían a través de estos requisitos.

**nota**  
Si utilizas el Espressif ESP32-DevKitC, o el ESP-WROVER-KIT ESP32-WROOM-32SE, omite estos pasos y ve a. [Cómo empezar con el Espressif ESP32-DevKitC y el ESP-WROVER-KIT](getting_started_espressif.md)
Si utilizas la n nórdicaRF52840-DK, omite estos pasos y ve a. [Primeros pasos con la Nordic n RF52840-DK](getting_started_nordic.md)

1. [Configurando tu AWS cuenta y permisos](#freertos-account-and-permissions) 

1. [Registrar su placa MCU con AWS IoT](#get-started-freertos-thing)

1. [Descarga de FreeRTOS](#freertos-download)

1. [Configuración de las demostraciones de FreeRTOS](#freertos-configure)

## Configurando tu AWS cuenta y permisos
<a name="freertos-account-and-permissions"></a>

### Inscríbase en una Cuenta de AWS
<a name="sign-up-for-aws"></a>

Para empezar AWS, necesitas un Cuenta de AWS. Para obtener información sobre cómo crear un Cuenta de AWS, consulte [Cómo empezar con un Cuenta de AWS](https://docs.aws.amazon.com//accounts/latest/reference/getting-started.html) en la *Guía de AWS Account Management referencia*.

Para dar acceso, agregue permisos a los usuarios, grupos o roles:
+ Usuarios y grupos en AWS IAM Identity Center:

  Cree un conjunto de permisos. Siga las instrucciones de [Creación de un conjunto de permisos](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) en la *Guía del usuario de AWS IAM Identity Center *.
+ Usuarios gestionados en IAM a través de un proveedor de identidades:

  Cree un rol para la federación de identidades. Siga las instrucciones descritas en [Creación de un rol para un proveedor de identidad de terceros (federación)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) en la *Guía del usuario de IAM*.
+ Usuarios de IAM:
  + Cree un rol que el usuario pueda aceptar. Siga las instrucciones descritas en [Creación de un rol para un usuario de IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) en la *Guía del usuario de IAM*.
  + (No recomendado) Adjunte una política directamente a un usuario o agregue un usuario a un grupo de usuarios. Siga las instrucciones descritas en [Adición de permisos a un usuario (consola)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) de la *Guía del usuario de IAM*.

## Registrar su placa MCU con AWS IoT
<a name="get-started-freertos-thing"></a>

Tu placa debe estar registrada AWS IoT para poder comunicarse con la AWS nube. Para registrar tu placa AWS IoT, debes tener:

**¿Una AWS IoT política**  
La AWS IoT política otorga a tu dispositivo permisos para acceder a AWS IoT los recursos. Se almacena en la AWS nube.

**¿Alguna AWS IoT cosa?**  
Cualquier AWS IoT cosa te permite gestionar tus dispositivos en ella AWS IoT. Está almacenado en la AWS nube.

**Una clave privada y X.509 un certificado**  
La clave privada y el certificado permiten que el dispositivo se autentique con AWS IoT ellos. 

Para registrar la placa, siga los procedimientos que se indican a continuación.

**Para crear un AWS IoT policy**

1. Para crear una política de IAM, debe conocer su AWS región y su número de AWS cuenta. 

   **Para encontrar su número de AWS cuenta, abra la [consola AWS de administración](https://console.aws.amazon.com/), busque y amplíe el menú situado debajo del nombre de su cuenta, en la esquina superior derecha, y seleccione Mi cuenta.** El ID de su cuenta se muestra en **Account Settings (Configuración de cuenta)**.

   Para encontrar la AWS región de su AWS cuenta, utilice la. AWS Command Line Interface Para instalar el AWS CLI, siga las instrucciones de la [Guía del AWS Command Line Interface usuario](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html). Tras instalar el AWS CLI, abra una ventana de línea de comandos e introduzca el siguiente comando:

   ```
   aws iot describe-endpoint --endpoint-type=iot:Data-ATS
   ```

   La salida debe tener el siguiente aspecto:

   ```
   {
       "endpointAddress": "xxxxxxxxxxxxxx-ats.iot.us-west-2.amazonaws.com"
   }
   ```

   En este ejemplo, la región es `us-west-2`.
**nota**  
Recomendamos utilizar los puntos de conexión de ATS, tal y como se muestra en el ejemplo.

1. Vaya a la [consola de AWS IoT](https://console.aws.amazon.com/iotv2/).

1. En el panel de navegación, elija **Secure (Seguridad)**, elija **Policies (Políticas)** y, a continuación, elija **Create (Crear)**.

1. Especifique un nombre que identifique la política.

1. En la sección **Añadir declaraciones**, elija **Modo avanzado**. Copie y pegue la siguiente política JSON en la ventana del editor de políticas. Sustituya `{{aws-region}}` y `{{aws-account}}` por su AWS región e ID de cuenta.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iot:Connect",
               "Resource": "arn:aws:iot:{{us-east-1}}:{{123456789012}}:*"
           },
           {
               "Effect": "Allow",
               "Action": "iot:Publish",
               "Resource": "arn:aws:iot:{{us-east-1}}:{{123456789012}}:*"
           },
           {
               "Effect": "Allow",
               "Action": "iot:Subscribe",
               "Resource": "arn:aws:iot:{{us-east-1}}:{{123456789012}}:*"
           },
           {
               "Effect": "Allow",
               "Action": "iot:Receive",
               "Resource": "arn:aws:iot:{{us-east-1}}:{{123456789012}}:*"
           }
       ]
   }
   ```

------

   Esta política le concede los siguientes permisos:  
**`iot:Connect`**  
Concede a su dispositivo el permiso para conectarse al agente de AWS IoT mensajes con cualquier ID de cliente.  
**`iot:Publish`**  
Concede a su dispositivo permiso para publicar un mensaje de MQTT en cualquier tema de MQTT.  
**`iot:Subscribe`**  
Concede a su dispositivo permiso para suscribirse a cualquier filtro de temas de MQTT.  
**`iot:Receive`**  
Concede a su dispositivo permiso para recibir mensajes del agente de mensajes de AWS IoT acerca de cualquier tema de MQTT.

1. Seleccione **Crear**.

**Creación de un objeto de IoT, clave privada y certificado para su dispositivo**

1. Vaya a la [consola de AWS IoT](https://console.aws.amazon.com/iotv2/).

1. En el panel de navegación, elija **Manage (Administrar)** y, a continuación, **Things (Cosas)**.

1. Si no tiene ningún objeto de IoT registrado en su cuenta, se muestra la página **Aún no tiene ningún objeto**. Si ve esta página, elija **Registrar un objeto**. De lo contrario, seleccione **Crear**.

1. En la página **Crear AWS IoT cosas**, selecciona **Crear una sola cosa**.

1. En la página **Añadir su dispositivo al registro de objetos**, escriba un nombre para su objeto y, a continuación, haga clic en ** Siguiente**.

1. En la página **Añadir un certificado para tu cosa**, en **Creación de One-click certificados**, selecciona **Crear certificado**.

1. Descargue su clave privada y certificado eligiendo los enlaces **Descargar** para cada uno de ellos.

1. Elija **Activar** para activar su certificado. Los certificados deben activarse para poder usarlos.

1. Selecciona **Adjuntar una política** para adjuntar una política a tu certificado que permita a tu dispositivo acceder a AWS IoT las operaciones.

1. Elija la política que acaba de crear y elija **Registrar objeto**.

Una vez que tu junta esté registrada AWS IoT, podrás continuar haciéndolo[Descarga de FreeRTOS](#freertos-download).

## Descarga de FreeRTOS
<a name="freertos-download"></a>

[Puede descargar FreeRTOS desde el repositorio de FreeRTOS. GitHub ](https://github.com/freertos/freertos)

Después de descargar FreeRTOS, puede continuar con [Configuración de las demostraciones de FreeRTOS](#freertos-configure).

## Configuración de las demostraciones de FreeRTOS
<a name="freertos-configure"></a>

Tiene que editar algunos archivos de configuración en el directorio de FreeRTOS antes de poder compilar y ejecutar demostraciones en la placa.

**Para configurar su AWS IoT punto de conexión**

Debes proporcionar Freertos a tu AWS IoT terminal para que la aplicación que se ejecuta en tu placa pueda enviar solicitudes al punto final correcto.

1. Vaya a la [consola de AWS IoT](https://console.aws.amazon.com/iotv2/).

1. En el panel de navegación izquierdo, elija **Configuración**.

   Tu AWS IoT terminal se muestra en el **punto final de datos del dispositivo**. Debe tener un aspecto similar al siguiente: `{{1234567890123}}-ats.iot.{{us-east-1}}.amazonaws.com`. Tome nota de este punto de enlace.

1. En el panel de navegación, elija **Manage (Administrar)** y, a continuación, **Things (Cosas)**.

   El dispositivo debe tener un nombre AWS IoT para el dispositivo. Anote este nombre.

1. Abra `demos/include/aws_clientcredential.h`.

1. Especifique valores para las siguientes constantes:
   + `#define clientcredentialMQTT_BROKER_ENDPOINT "{{Your AWS IoT endpoint}}";`
   + `#define clientcredentialIOT_THING_NAME "{{The AWS IoT thing name of your board}}"`

**Para configurar su Wi-Fi**

Si su placa se conecta a Internet a través de una Wi-Fi conexión, debe proporcionar a FreeRTOS Wi-Fi las credenciales para conectarse a la red. Si tu placa no es compatible Wi-Fi, puedes saltarte estos pasos.

1. `demos/include/aws_clientcredential.h`.

1. Especifique valores para las siguientes constantes de `#define`:
   + `#define clientcredentialWIFI_SSID "{{The SSID for your Wi-Fi network}}"`
   + `#define clientcredentialWIFI_PASSWORD "{{The password for your Wi-Fi network}}"`
   + `#define clientcredentialWIFI_SECURITY` {{The security type of your Wi-Fi network}}

     Los tipos de seguridad válidos son:
     + `eWiFiSecurityOpen` (abierta, sin seguridad)
     + `eWiFiSecurityWEP` (seguridad WEP)
     + `eWiFiSecurityWPA` (seguridad WPA)
     + `eWiFiSecurityWPA2` (seguridad WPA2)

**Para formatear tu AWS IoT credentials**

FreeRTOS debe tener el AWS IoT certificado y las claves privadas asociadas a tu objeto registrado y a sus políticas de permisos para poder comunicarse correctamente AWS IoT en nombre de tu dispositivo.
**nota**  
Para configurar tus AWS IoT credenciales, debes tener la clave privada y el certificado que descargaste de la AWS IoT consola al registrar el dispositivo. Una vez registrado el dispositivo como una AWS IoT cosa, puede recuperar los certificados del dispositivo desde la AWS IoT consola, pero no podrá recuperar las claves privadas.

FreeRTOS es un proyecto en lenguaje C, y el certificado y la clave privada deben tener un formato específico para que se puedan añadir al proyecto.

1. En una ventana del navegador, abra `tools/certificate_configuration/CertificateConfigurator.html`.

1. En **Archivo PEM del certificado**, elija el archivo `{{ID}}-certificate.pem.crt` que ha descargado desde la consola de AWS IoT .

1. En **Archivo PEM de clave privada**, elija el archivo `{{ID}}-private.pem.key` que ha descargado desde la consola de AWS IoT .

1. Elija **Generate and save aws\_clientcredential\_keys.h (Generar y guardar aws\_clientcredential\_keys.h)** y después guarde el archivo en `demos/include`. Esto sobrescribe el archivo existente en el directorio.
**nota**  
El certificado y la clave privada están codificados únicamente con fines de demostración. Production-level las aplicaciones deben almacenar estos archivos en un lugar seguro.

Después de configurar FreeRTOS, puede continuar con la guía de introducción de la placa para configurar el hardware de la plataforma y su entorno de desarrollo de software y, a continuación, compilar y ejecutar la demostración en la placa. Para obtener instrucciones específicas de la placa, consulte la [Board-specific guías de introducción](getting-started-guides.md). La aplicación de demostración que se utiliza en el tutorial de introducción es la demostración de autenticación mutua de coreMQTT, que se encuentra en `demos/coreMQTT/mqtt_demo_mutual_auth.c`.