Configuración de incorporación del hub - Integraciones gestionadas para AWS IoT Device Management

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.

Configuración de incorporación del hub

Complete estos pasos de configuración para cada dispositivo central antes de comenzar el proceso de incorporación del aprovisionamiento de la flota. En esta sección se describe cómo crear elementos gestionados, configurar las estructuras de directorios y configurar los certificados necesarios.

Paso 1: Registrar un punto final personalizado

Cree un punto final de comunicación dedicado que sus dispositivos utilicen para intercambiar datos con las integraciones gestionadas. Este terminal establece un punto de conexión seguro para todos los device-to-cloud mensajes, incluidos los comandos del dispositivo, las actualizaciones de estado y las notificaciones.

Para registrar un punto de conexión
  • Utilice la RegisterCustomEndpointAPI para crear un punto final para la comunicación de device-to-managed las integraciones.

    RegisterCustomEndpointEjemplo de solicitud

    aws iot-managed-integrations register-custom-endpoint

    Respuesta:

    { [ACCOUNT-PREFIX]-ats.iot.AWS-REGION.amazonaws.com }
    nota

    Guarde la dirección del punto final. Lo necesitarás para comunicarte con tus dispositivos en el futuro.

    Para devolver la información del punto final, usa la GetCustomEndpoint API.

    Para obtener más información, consulta la RegisterCustomEndpointAPI y la GetCustomEndpointAPI en la Guía de referencia de la API de integraciones gestionadas.

Paso 2: Crear un perfil de aprovisionamiento

Un perfil de aprovisionamiento contiene las credenciales de seguridad y los ajustes de configuración que sus dispositivos necesitan para conectarse a las integraciones gestionadas.

Para crear un perfil de aprovisionamiento de flota
  • Llame a la CreateProvisioningProfileAPI para generar lo siguiente:

    • Una plantilla de aprovisionamiento que define la configuración de conexión del dispositivo

    • Un certificado de reclamación y una clave privada para la autenticación del dispositivo

    importante

    Guarde el certificado de reclamación, la clave privada y el ID de plantilla de forma segura. Necesitará estas credenciales para incorporar los dispositivos a las integraciones gestionadas. Si pierde estas credenciales, debe crear un nuevo perfil de aprovisionamiento.

CreateProvisioningProfilesolicitud de ejemplo

aws iot-managed-integrations create-provisioning-profile \ --provisioning-type FLEET_PROVISIONING \ --name PROFILE_NAME

Respuesta:

{ "Arn":"arn:aws:iotmanagedintegrations:AWS-REGION:ACCOUNT-ID:provisioning-profile/PROFILE-ID", "ClaimCertificate": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7.....w3rrszlaEXAMPLE= -----END CERTIFICATE-----", "ClaimCertificatePrivateKey": "-----BEGIN RSA PRIVATE KEY----- MIICiTCCAfICCQ...3rrszlaEXAMPLE= -----END RSA PRIVATE KEY-----", "Id": "PROFILE-ID", "PROFILE-NAME", "ProvisioningType": "FLEET_PROVISIONING" }

Paso 3: Crear un elemento gestionado (aprovisionamiento de flota)

Usa la CreateManagedThing API para crear un elemento gestionado para tu dispositivo hub. Cada hub requiere su propio dispositivo gestionado con materiales de autenticación únicos. Para obtener más información, consulta la CreateManagedThingAPI en la referencia de la API de integraciones gestionadas.

Al crear un elemento gestionado, especifique estos parámetros:

  • Role: Establezca este valor enCONTROLLER.

  • AuthenticationMaterial: incluya los siguientes campos.

    • SN: El número de serie exclusivo de este dispositivo

    • UPC: El código de producto universal de este dispositivo

  • Owner: El identificador del propietario de este elemento gestionado.

importante

Cada dispositivo debe tener un número de serie (SN) único en su material de autenticación.

CreateManagedThingEjemplo de solicitud:

{ "Role": "CONTROLLER", "Owner": "ThingOwner1", "AuthenticationMaterialType": "WIFI_SETUP_QR_BAR_CODE", "AuthenticationMaterial": "SN:123456789524;UPC:829576019524" }

Para obtener más información, consulta la referencia CreateManagedThingde la API de integraciones gestionadas.

(Opcional) Obtenga algo gestionado

Lo que debe gestionar debe ser UNCLAIMED antes de que pueda continuar. ProvisioningStatus Usa la GetManagedThing API para comprobar que el elemento gestionado existe y está listo para el aprovisionamiento. Para obtener más información, consulta la referencia GetManagedThingde la API de integraciones gestionadas.

Paso 4: Crear la estructura de directorios

Cree directorios para sus certificados y archivos de configuración. De forma predeterminada, el proceso de incorporación del hub utiliza el/data/aws/iotmi/config/iotmi_config.json.

Puede especificar rutas personalizadas para los certificados y las claves privadas en el archivo de configuración. En esta guía se utiliza la ruta predeterminada/data/aws/iotmi/certs.

mkdir -p /data/aws/iotmi/config mkdir -p /data/aws/iotmi/certs /data/ aws/ iotmi/ config/ certs/

Paso 5: Añadir materiales de autenticación al dispositivo hub

Copie los certificados y las claves en su dispositivo concentrador y, a continuación, cree un archivo de configuración específico para el dispositivo. Estos archivos establecen una comunicación segura entre tu hub y las integraciones gestionadas durante el proceso de aprovisionamiento.

Para copiar el certificado de reclamación y la clave
  • Copia estos archivos de autenticación de la respuesta de la CreateProvisioningProfile API a tu dispositivo hub:

    • claim_cert.pem: El certificado de reclamación (común a todos los dispositivos)

    • claim_pk.key: la clave privada del certificado de reclamación

    Coloque ambos archivos en el /data/aws/iotmi/certs directorio.

    importante

    Al almacenar certificados y claves privadas en formato PEM, asegúrese de formatear correctamente los caracteres de nueva línea. En el caso de los archivos codificados con PEM, los caracteres de nueva línea (\n) deben sustituirse por separadores de línea reales, ya que el simple hecho de almacenar las líneas nuevas escapadas no se recuperará correctamente más adelante.

    nota

    Si utiliza un almacenamiento seguro, guarde estas credenciales en su ubicación de almacenamiento segura en lugar de en el sistema de archivos. Para obtener más información, consulte Cree un controlador de certificados personalizado para un almacenamiento seguro.

Paso 6: Cree el archivo de configuración del dispositivo

Cree un archivo de configuración que contenga identificadores de dispositivo únicos, ubicaciones de certificados y ajustes de aprovisionamiento. El SDK utiliza este archivo durante la incorporación del hub para autenticar el dispositivo, gestionar el estado del aprovisionamiento y almacenar la configuración de la conexión.

nota

Cada dispositivo hub requiere su propio archivo de configuración con valores únicos específicos del dispositivo.

Utilice el siguiente procedimiento para crear o modificar el archivo de configuración y cópielo en el hub.

  • Cree o modifique el archivo de configuración (aprovisionamiento de flota).

    Configure estos campos obligatorios en el archivo de configuración del dispositivo:

    • Rutas de certificado

      1. iot_claim_cert_path: Ubicación de su certificado de reclamación (claim_cert.pem)

      2. iot_claim_pk_path: Ubicación de su clave privada (claim_pk.key)

      3. SECURE_STORAGEUtilícelo para ambos campos al implementar el controlador de certificados de almacenamiento seguro

    • Configuraciones de conexión

      1. fp_template_name: El ProvisioningProfile nombre de antes.

      2. endpoint_url: la URL del punto final de las integraciones gestionadas a partir de la respuesta de la RegisterCustomEndpoint API (la misma para todos los dispositivos de una región).

    • Identificadores de dispositivos

      1. SN: número de serie del dispositivo que coincide con tu llamada a la CreateManagedThing API (único por dispositivo)

      2. UPCCódigo de producto universal de tu llamada a la CreateManagedThing API (el mismo para todos los dispositivos de este producto)

    { "ro": { "iot_provisioning_method": "FLEET_PROVISIONING", "iot_claim_cert_path": "<SPECIFY_THIS_FIELD>", "iot_claim_pk_path": "<SPECIFY_THIS_FIELD>", "fp_template_name": "<SPECIFY_THIS_FIELD>", "endpoint_url": "<SPECIFY_THIS_FIELD>", "SN": "<SPECIFY_THIS_FIELD>", "UPC": "<SPECIFY_THIS_FIELD>" }, "rw": { "iot_provisioning_state": "NOT_PROVISIONED" } }

Contenido del archivo de configuración

Revise el contenido del iotmi_config.json archivo.

Contenido
Clave Valores ¿Agregado por el cliente? Notas
iot_provisioning_method FLEET_PROVISIONING Especifique el método de aprovisionamiento que quiere usar.
iot_claim_cert_path La ruta del archivo que especifique oSECURE_STORAGE. Por ejemplo, /data/aws/iotmi/certs/claim_cert.pem Especifique la ruta del archivo que desee utilizar oSECURE_STORAGE.
iot_claim_pk_path La ruta del archivo que especifique oSECURE_STORAGE. Por ejemplo, /data/aws/iotmi/certs/claim_pk.pem Especifique la ruta del archivo que desee utilizar oSECURE_STORAGE.
fp_template_name El nombre de la plantilla de aprovisionamiento de flota debe ser igual al nombre de ProvisioningProfile la plantilla utilizada anteriormente. Igual al nombre de la ProvisioningProfile que se usó anteriormente
endpoint_url La URL del punto final de las integraciones gestionadas. Sus dispositivos utilizan esta URL para conectarse a la nube de integraciones gestionadas. Para obtener esta información, utilice la RegisterCustomEndpointAPI.
SN El número de serie del dispositivo. Por ejemplo, AIDACKCEVSQ6C2EXAMPLE. Debe proporcionar esta información única para cada dispositivo.
UPC Código de producto universal del dispositivo. Por ejemplo, 841667145075. Debe proporcionar esta información para el dispositivo.
managed_thing_id El ID del elemento gestionado. No Esta información se añade posteriormente mediante el proceso de incorporación, tras el aprovisionamiento del hub.
iot_provisioning_state El estado del aprovisionamiento. El estado de aprovisionamiento debe estar establecido como. NOT_PROVISIONED
iot_permanent_cert_path La ruta del certificado de IoT. Por ejemplo, /data/aws/iotmi/iot_cert.pem. No Esta información se agrega más adelante mediante el proceso de incorporación, tras el aprovisionamiento del hub.
iot_permanent_pk_path La ruta del archivo de clave privada de IoT. Por ejemplo, /data/aws/iotmi/iot_pk.pem. No Esta información se agrega más adelante mediante el proceso de incorporación, tras el aprovisionamiento del hub.
client_id El ID de cliente que se utilizará para las conexiones MQTT. No Esta información se añade posteriormente durante el proceso de incorporación, tras el aprovisionamiento del hub, para que la consuman otros componentes.
event_manager_upper_bound El valor predeterminado es 500 No Esta información se añade posteriormente durante el proceso de incorporación, tras el aprovisionamiento del hub, para que la consuman otros componentes.

Paso 7: copia el archivo de configuración en tu hub

Copie el archivo de configuración /data/aws/iotmi/config o la ruta de directorio personalizada. Proporcionarás esta ruta al HubOnboarding binario durante el proceso de incorporación.

Para el aprovisionamiento de flotas

/data/ aws/ iotmi/ config/ iotmi_config.json certs/ claim_cert.pem claim_pk.key