Primeros pasos - 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.

Primeros pasos

importante

Esta página hace referencia al repositorio de Amazon-FreeRTOS, que está en desuso. Recomendamos empezar por aquí al crear un nuevo proyecto. Si ya tiene un proyecto FreeRTOS existente basado en el repositorio Amazon FreeRTOS, ahora obsoleto, consulte Guía de migración del repositorio Github de Amazon-FreeRTOS.

Para empezar a utilizar FreeRTOS con AWS IoT, necesita una cuenta de AWS, un usuario con permiso para acceder a AWS IoT y servicios en la nube de FreeRTOS. También es necesario que descargue FreeRTOS y configure el proyecto de demostración de FreeRTOS de su placa para que funcione con AWS IoT. Las secciones siguientes le guían a través de estos requisitos.

nota

Configuración de su cuenta de AWS y los permisos

Registro para obtener una Cuenta de AWS

Si no dispone de una Cuenta de AWS, siga estos pasos para crear una.

Cómo registrarse en una Cuenta de AWS
  1. Abra https://portal.aws.amazon.com/billing/signup.

  2. Siga las instrucciones que se le indiquen.

    Parte del procedimiento de registro consiste en recibir una llamada telefónica e indicar un código de verificación en el teclado del teléfono.

    Al registrarse en una Cuenta de AWS, se crea un Usuario raíz de la cuenta de AWS. El usuario raíz tendrá acceso a todos los Servicios de AWS y recursos de esa cuenta. Como práctica recomendada de seguridad, asigne acceso administrativo a un usuario administrativo y utilice únicamente el usuario raíz para realizar tareas que requieran acceso de usuario raíz.

AWS le enviará un correo electrónico de confirmación luego de completar el proceso de registro. Puede ver la actividad de la cuenta y administrar la cuenta en cualquier momento entrando en https://aws.amazon.com/ y seleccionando Mi cuenta.

Crear un usuario administrativo

Después de registrarse para obtener una Cuenta de AWS, proteja su Usuario raíz de la cuenta de AWS, habilite AWS IAM Identity Center y cree un usuario administrativo para no utilizar el usuario raíz en las tareas cotidianas.

Protección de su Usuario raíz de la cuenta de AWS
  1. Inicie sesión en la AWS Management Console como propietario de cuenta, elija Usuario raíz e ingrese el email de su Cuenta de AWS. En la siguiente página, escriba su contraseña.

    Para obtener ayuda para iniciar sesión con el usuario raíz, consulte Signing in as the root user en la Guía del usuario de AWS Sign-In.

  2. Active la autenticación multifactor (MFA) para el usuario raíz.

    Para obtener instrucciones, consulte Habilitar un dispositivo MFA virtual para el usuario raíz de la Cuenta de AWS (consola) en la Guía del usuario de IAM.

Creación de un usuario administrativo
  1. Activar IAM Identity Center

    Para conocer las instrucciones, consulte Habilitar AWS IAM Identity Center en la Guía del usuario de AWS IAM Identity Center.

  2. En IAM Identity Center, otorga acceso administrativo a un usuario administrativo.

    Para ver un tutorial sobre el uso de Directorio de IAM Identity Center como origen de identidad, consulte Configurar el acceso de los usuarios con la configuración predeterminada de Directorio de IAM Identity Center en la Guía del usuario de AWS IAM Identity Center.

Cómo iniciar sesión como usuario administrativo
  • Para iniciar sesión con el usuario del IAM Identity Center, utilice la URL de inicio de sesión que se envió a la dirección de correo electrónico cuando creó el usuario del IAM Identity Center.

    Para obtener ayuda para iniciar sesión con un usuario del IAM Identity Center, consulte Iniciar sesión en el portal de acceso de AWS en la Guía del Usuario de AWS Sign-In.

Para dar acceso, añada permisos a los usuarios, grupos o roles:

Registro de la placa de MCU con AWS IoT

Su placa debe estar registrada con AWS IoT para comunicarse con la nube de AWS. Para registrar su placa con AWS IoT, debe tener:

Una política de AWS IoT

La política de AWS IoT concede a su dispositivo permisos para obtener acceso a recursos de AWS IoT. Se almacena en la nube de AWS.

Un objeto de AWS IoT

Un objeto de AWS IoT le permite administrar sus dispositivos en AWS IoT. Se almacena en la nube de AWS.

Una clave privada y un certificado X.509

El certificado y la clave privada permiten a su dispositivo autenticarse en AWS IoT.

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

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

    Para encontrar su número de cuenta de AWS, abra la consola de administración de AWS, localice y amplíe el menú situado debajo del nombre de cuenta en la esquina superior derecha y haga clic en Mi cuenta. El ID de su cuenta se muestra en Account Settings (Configuración de cuenta).

    Para buscar la región de AWS para su cuenta de AWS, utilice la AWS Command Line Interface. Para instalar la AWS CLI, siga las instrucciones de la Guía del usuario de AWS Command Line Interface. Después de instalar el AWS CLI, abra una ventana del símbolo del sistema y escriba 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.

  2. Vaya a la consola de AWS IoT.

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

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

  5. 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 región de AWS y su ID de cuenta.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource":"arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Publish", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" } ] }

    Esta política le concede los siguientes permisos:

    iot:Connect

    Concede a su dispositivo permiso para conectarse con el agente de mensajes de AWS IoT mediante 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.

  6. Seleccione Crear.

Para crear un objeto de IoT, clave privada y certificado para su dispositivo.
  1. Vaya a la consola de AWS IoT.

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

  3. 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.

  4. En la página Creación de objetos de AWS IoT, elija Crear un solo objeto.

  5. 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.

  6. En la página Añadir un certificado para el objeto, en Creación de un certificado con un clic, elija Crear certificado.

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

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

  9. Elija Asociar una política para asociar una política a su certificado que concede al dispositivo acceso a las operaciones de AWS IoT.

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

Una vez que la placa se ha registrado con AWS IoT, puede continuar en Descarga de FreeRTOS.

Descarga de FreeRTOS

Puede descargar FreeRTOS desde el repositorio de FreeRTOS. GitHub

Después de descargar FreeRTOS, puede continuar con Configuración de las demostraciones de FreeRTOS.

Configuración de las demostraciones de FreeRTOS

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 punto de enlace de AWS IoT

Debe proporcionar FreeRTOS con su punto de conexión de AWS IoT para que la aplicación que se ejecuta en la placa pueda enviar solicitudes al punto de conexión correcto.

  1. Vaya a la consola de AWS IoT.

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

    Su punto de conexión AWS IoT aparece en Punto de enlace de datos de dispositivo. Debe tener un aspecto similar al siguiente: 1234567890123-ats.iot.us-east-1.amazonaws.com. Tome nota de este punto de enlace.

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

    Su dispositivo debe tener un nombre de objeto de AWS IoT. Anote este nombre.

  4. Abra demos/include/aws_clientcredential.h.

  5. 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 la wifi

Si su placa se conecta a Internet mediante una conexión wifi, tiene que proporcionar FreeRTOS con credenciales wifi para conectarse a la red. Si la placa no es compatible con wifi, puede omitir los pasos que se indican a continuación.

  1. demos/include/aws_clientcredential.h.

  2. 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 El tipo de seguridad para su red wifi

      Los tipos de seguridad válidos son:

      • eWiFiSecurityOpen (abierta, sin seguridad)

      • eWiFiSecurityWEP (seguridad WEP)

      • eWiFiSecurityWPA (seguridad WPA)

      • eWiFiSecurityWPA2 (seguridad WPA2)

Para dar formato a sus credenciales de AWS IoT

FreeRTOS necesita el certificado y las claves de AWS IoT asociadas a su objeto registrado y sus políticas de permisos para comunicarse correctamente con AWS IoT en nombre de su dispositivo.

nota

Para configurar sus credenciales de AWS IoT, necesita la clave privada y el certificado que descargó desde la consola de AWS IoT cuando registró su dispositivo. Una vez registrado el dispositivo como un objeto de AWS IoT, puede recuperar los certificados del dispositivo desde la consola de AWS IoT, pero no puede 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.

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

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

  4. 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 se incluyen en el código solo para fines de demostración. Las aplicaciones de producción 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 Guías de introducción específicas de placas. 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.