Paso 2: Aprovisionar la Raspberry Pi en AWS IoT - AWS IoT Core

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.

Paso 2: Aprovisionar la Raspberry Pi en AWS IoT

Los procedimientos de esta sección comienzan con la imagen microSD guardada que tiene instalada la AWS CLI y AWS IoT Device Client, y crean los recursos de AWS IoT y los certificados de dispositivo que aprovisionan la Raspberry Pi en AWS IoT.

Instalación de la tarjeta microSD en la Raspberry Pi

Este procedimiento instala la tarjeta microSD con el software necesario cargado y configurado en la Raspberry Pi y configura su Cuenta de AWS para que pueda continuar con los tutoriales de esta ruta de aprendizaje.

Utilice una tarjeta microSD de (Opcional) Guardar la imagen de la tarjeta microSD que tenga el software necesario para los ejercicios y tutoriales de esta ruta de aprendizaje.

Para instalar la tarjeta microSD en la Raspberry Pi
  1. Con la alimentación desconectada de la Raspberry Pi, inserte la tarjeta microSD en la Raspberry Pi.

  2. Alimente la Raspberry Pi.

  3. Después de aproximadamente un minuto, en el ordenador host local, reinicie la sesión de la ventana del terminal e inicie sesión en la Raspberry Pi.

  4. En su ordenador host local, en la ventana del terminal y con las credenciales ID de clave de acceso y Clave de acceso secreta de su Raspberry Pi:

    1. Ejecute la aplicación de configuración de AWS con este comando:

      aws configure
    2. Introduzca las credenciales de Cuenta de AWS y la información de configuración cuando se le pida:

      AWS Access Key ID [****************YXYX]: your Access Key ID AWS Secret Access Key [****************YXYX]: your Secret Access Key Default region name [us-west-2]: your Región de AWS code Default output format [json]: json

Una vez que haya restaurado sus credenciales de Cuenta de AWS, estará listo para continuar con Cómo aprovisionar el dispositivo en AWS IoT Core.

Cómo aprovisionar el dispositivo en AWS IoT Core

Los procedimientos de esta sección crean los recursos de AWS IoT que aprovisionan su Raspberry Pi en AWS IoT. A medida que cree estos recursos, se le pedirá que registre varios datos. La configuración de AWS IoT Device Client utilizará esta información en el siguiente procedimiento.

Para que su Raspberry Pi funcione con AWS IoT, debe estar aprovisionada. El aprovisionamiento es el proceso de crear y configurar los recursos de AWS IoT necesarios para poder usar su Raspberry Pi como dispositivo IoT.

Con la Raspberry Pi encendida y reiniciada, conecte la ventana del terminal del ordenador host local a la Raspberry Pi y siga estos procedimientos.

Crear y descargar archivos de certificado del dispositivo

Este procedimiento crea los archivos de certificado del dispositivo para esta demostración.

Para crear y descargar los archivos de certificado del dispositivo para la Raspberry Pi
  1. En la ventana del terminal de su ordenador host local, introduzca estos comandos para crear los archivos de certificado para su dispositivo.

    mkdir ~/certs/testconn aws iot create-keys-and-certificate \ --set-as-active \ --certificate-pem-outfile "~/certs/testconn/device.pem.crt" \ --public-key-outfile "~/certs/testconn/public.pem.key" \ --private-key-outfile "~/certs/testconn/private.pem.key"

    El comando devuelve una respuesta similar a la siguiente: Anote el valor certificateArn: lo necesitará más adelante.

    { "certificateArn": "arn:aws:iot:us-west-2:57EXAMPLE833:cert/76e7e4edb3e52f52334be2f387a06145b2aa4c7fcd810f3aea2d92abc227d269", "certificateId": "76e7e4edb3e52f5233EXAMPLE7a06145b2aa4c7fcd810f3aea2d92abc227d269", "certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgI_SHORTENED_FOR_EXAMPLE_Lgn4jfgtS\n-----END CERTIFICATE-----\n", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BA_SHORTENED_FOR_EXAMPLE_ImwIDAQAB\n-----END PUBLIC KEY-----\n", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQE_SHORTENED_FOR_EXAMPLE_T9RoDiukY\n-----END RSA PRIVATE KEY-----\n" } }
  2. Introduzca los siguientes comandos para configurar los permisos en el directorio de certificados y sus archivos.

    chmod 745 ~ chmod 700 ~/certs/testconn chmod 644 ~/certs/testconn/* chmod 600 ~/certs/testconn/private.pem.key
  3. Ejecute este comando para revisar los permisos de sus directorios y archivos de certificados.

    ls -l ~/certs/testconn

    El resultado del comando debe ser el mismo que el que se muestra aquí, excepto que las fechas y horas de los archivos serán diferentes.

    -rw-r--r-- 1 pi pi 1220 Oct 28 13:02 device.pem.crt -rw------- 1 pi pi 1675 Oct 28 13:02 private.pem.key -rw-r--r-- 1 pi pi 451 Oct 28 13:02 public.pem.key

En este punto, ya tiene los archivos de certificado del dispositivo instalados en su Raspberry Pi y puede continuar con Crear recursos de AWS IoT.

Crear recursos de AWS IoT

Este procedimiento aprovisiona el dispositivo en AWS IoT mediante la creación de los recursos que el dispositivo necesita para acceder a las características y los servicios de AWS IoT.

Para aprovisionar el dispositivo en AWS IoT
  1. En la ventana del terminal de su ordenador host local, introduzca el siguiente comando para obtener la dirección del punto de conexión de datos de dispositivo correspondiente a su Cuenta de AWS.

    aws iot describe-endpoint --endpoint-type IoT:Data-ATS

    El comando de los pasos anteriores devuelve una respuesta similar a la siguiente. Anote el valor endpointAddress: lo necesitará más adelante.

    { "endpointAddress": "a3qjEXAMPLEffp-ats.iot.us-west-2.amazonaws.com" }
  2. Escriba este comando para crear un objeto de AWS IoT para su Raspberry Pi.

    aws iot create-thing --thing-name "DevCliTestThing"

    Si se creó el recurso de objeto de AWS IoT, el comando devuelve una respuesta como esta.

    { "thingName": "DevCliTestThing", "thingArn": "arn:aws:iot:us-west-2:57EXAMPLE833:thing/DevCliTestThing", "thingId": "8ea78707-32c3-4f8a-9232-14bEXAMPLEfd" }
  3. En la ventana del terminal:

    1. Abra un editor de texto, como nano.

    2. Copie este documento de política de JSON y péguelo en el editor de texto abierto.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:Connect" ], "Resource": [ "*" ] } ] }
      nota

      Este documento de política otorga generosamente a todos los permisos de recursos para conectarse, recibir, publicar y suscribirse. Normalmente, las políticas solo otorgan permiso a recursos específicos para realizar acciones específicas. Sin embargo, para la prueba inicial de conectividad del dispositivo, se utiliza esta política demasiado general y permisiva para minimizar la posibilidad de que se produzca un problema de acceso durante la prueba. En los siguientes tutoriales, se utilizarán documentos de políticas con un alcance más limitado para demostrar las prácticas recomendadas de diseño de políticas.

    3. Guarde el archivo en el editor de texto como ~/policies/dev_cli_test_thing_policy.json.

  4. Ejecute este comando para usar el documento de política de los pasos anteriores y crear una política de AWS IoT.

    aws iot create-policy \ --policy-name "DevCliTestThingPolicy" \ --policy-document "file://~/policies/dev_cli_test_thing_policy.json"

    Si se crea la política, el comando devuelve una respuesta como esta.

    { "policyName": "DevCliTestThingPolicy", "policyArn": "arn:aws:iot:us-west-2:57EXAMPLE833:policy/DevCliTestThingPolicy", "policyDocument": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"iot:Publish\",\n \"iot:Subscribe\",\n \"iot:Receive\",\n \"iot:Connect\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n", "policyVersionId": "1" }
  5. Ejecute este comando para asociar la política al certificado del dispositivo. Reemplace certificateArn por el valor certificateArn que guardó anteriormente.

    aws iot attach-policy \ --policy-name "DevCliTestThingPolicy" \ --target "certificateArn"

    Si se ejecuta correctamente, este comando no devuelve nada.

  6. Ejecute este comando para asociar el certificado del dispositivo al recurso de objeto de AWS IoT. Reemplace certificateArn por el valor certificateArn que guardó anteriormente.

    aws iot attach-thing-principal \ --thing-name "DevCliTestThing" \ --principal "certificateArn"

    Si se ejecuta correctamente, este comando no devuelve nada.

Una vez aprovisionado correctamente el dispositivo en AWS IoT, estarás listo para continuar con Paso 3: Configurar AWS IoT Device Client para probar la conectividad.