Configuration de l'intégration du hub - Intégrations gérées pour AWS IoT Device Management

Managed Integrations for AWS IoT Device Management est en version préliminaire et est susceptible de changer. Pour y accéder, contactez-nous depuis la console des intégrations gérées.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration de l'intégration du hub

Effectuez ces étapes de configuration pour chaque appareil du hub avant de commencer le processus d'intégration du provisionnement de la flotte. Cette section décrit comment créer des objets gérés, configurer des structures de répertoires et configurer les certificats requis.

Étape 1 : enregistrer un point de terminaison personnalisé

Créez un point de communication dédié que vos appareils utiliseront pour échanger des données grâce à des intégrations gérées. Ce point de terminaison établit un point de connexion sécurisé pour tous les device-to-cloud messages, y compris les commandes de l'appareil, les mises à jour de statut et les notifications.

Pour enregistrer un point de terminaison
  • Utilisez l'RegisterCustomEndpointAPI pour créer un point de terminaison pour la communication device-to-managed des intégrations.

    RegisterCustomEndpoint Exemple de demande

    curl 'https://api.iotmanagedintegrations.AWS-REGION.api.aws/custom-endpoint' \ -H 'Content-Encoding: amz-1.0' \ -H 'Content-Type: application/json; charset=UTF-8' \ -H 'X-Amz-Target: iotmanagedintegrations.RegisterCustomEndpoint' \ -H 'X-Amz-Security-Token: $AWS_SESSION_TOKEN' \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --aws-sigv4 "aws:amz:AWS-REGION:iotmanagedintegrations" \ -X POST --data '{}'

    Réponse :

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

    Stockez l'adresse du point de terminaison. Vous en aurez besoin pour les futures communications entre appareils.

    Pour renvoyer les informations du point de terminaison, utilisez l'GetCustomEndpointAPI.

    Pour plus d'informations, consultez l'RegisterCustomEndpointAPI et l'GetCustomEndpointAPI dans la référence d'API des intégrations gérées -->.

Étape 2 : Création d'un profil de provisionnement

Un profil d'approvisionnement contient les informations d'identification de sécurité et les paramètres de configuration dont vos appareils ont besoin pour se connecter aux intégrations gérées.

Pour créer un profil de provisionnement de flotte
  • Appelez l'CreateProvisioningProfileAPI pour générer ce qui suit :

    • Un modèle de provisionnement qui définit les paramètres de connexion des appareils

    • Un certificat de réclamation et une clé privée pour l'authentification de l'appareil

    Important

    Stockez le certificat de réclamation, la clé privée et l'identifiant du modèle en toute sécurité. Vous aurez besoin de ces informations d'identification pour intégrer les appareils aux intégrations gérées. Si vous perdez ces informations d'identification, vous devez créer un nouveau profil de provisionnement.

CreateProvisioningProfileexemple de demande

curl https://api.iotmanagedintegrations.AWS-REGION.api.aws/provisioning-profiles' \ -H 'Content-Encoding: amz-1.0' \ -H 'Content-Type: application/json; charset=UTF-8' \ -H 'X-Amz-Target: iotmanagedintegrations.CreateProvisioningProfile' \ -H "X-Amz-Security-Token: $AWS_SESSION_TOKEN" \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --aws-sigv4 "aws:amz:AWS-REGION:iotmanagedintegrations" \ -X POST --data '{ "ProvisioningType": "FLEET_PROVISIONING", "Name": "PROFILE-NAME" }'

Réponse :

{ "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" }

Étape 3 : Création d'un objet géré (approvisionnement de flotte)

Utilisez l'CreateManagedThingAPI pour créer un objet géré pour votre appareil hub. Chaque hub a besoin de son propre équipement géré avec des matériaux d'authentification uniques. Pour plus d'informations, consultez l'CreateManagedThingAPI dans le manuel de référence des API d'intégrations gérées.

Lorsque vous créez un objet géré, spécifiez les paramètres suivants :

  • Role: Définissez cette valeur surCONTROLLER.

  • AuthenticationMaterial: Incluez les champs suivants.

    • SN: le numéro de série unique de cet appareil

    • UPC: le code produit universel pour cet appareil

  • Owner: identifiant du propriétaire de cet objet géré.

Important

Chaque appareil doit avoir un numéro de série (SN) unique dans son matériel d'authentification.

CreateManagedThingExemple de demande :

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

Pour plus d'informations, consultez la référence CreateManagedThingde l'API des intégrations gérées.

(Facultatif) Obtenez un objet géré

ProvisioningStatusL'objet que vous gérez doit l'être UNCLAIMED avant de pouvoir continuer. Utilisez l'GetManagedThingAPI pour vérifier que votre objet géré existe et qu'il est prêt à être provisionné. Pour plus d'informations, consultez la référence GetManagedThingde l'API des intégrations gérées.

Étape 4 : Création de la structure du répertoire

Créez des répertoires pour vos fichiers de configuration et vos certificats. Par défaut, le processus d'intégration du hub utilise le/data/aws/iotmi/config/iotmi_config.json.

Vous pouvez spécifier des chemins personnalisés pour les certificats et les clés privées dans le fichier de configuration. Ce guide utilise le chemin par défaut/data/aws/iotmi/certs.

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

Étape 5 : ajouter du matériel d'authentification à l'appareil du hub

Copiez les certificats et les clés sur votre périphérique hub, puis créez un fichier de configuration spécifique à l'appareil. Ces fichiers établissent une communication sécurisée entre votre hub et les intégrations gérées pendant le processus de provisionnement.

Pour copier le certificat de réclamation et la clé
  • Copiez ces fichiers d'authentification depuis votre réponse CreateProvisioningProfile API vers votre périphérique hub :

    • claim_cert.pem: le certificat de réclamation (commun à tous les appareils)

    • claim_pk.key: clé privée pour le certificat de réclamation

    Placez les deux fichiers dans le /data/aws/iotmi/certs répertoire.

    Note

    Si vous utilisez le stockage sécurisé, stockez ces informations d'identification dans votre emplacement de stockage sécurisé plutôt que dans le système de fichiers. Pour de plus amples informations, veuillez consulter Créez un gestionnaire de certificats personnalisé pour un stockage sécurisé.

Étape 6 : Création du fichier de configuration de l'appareil

Créez un fichier de configuration contenant les identifiants uniques des appareils, les emplacements des certificats et les paramètres de provisionnement. Le SDK utilise ce fichier lors de l'intégration du hub pour authentifier votre appareil, gérer l'état du provisionnement et enregistrer les paramètres de connexion.

Note

Chaque périphérique hub nécessite son propre fichier de configuration avec des valeurs uniques spécifiques à l'appareil.

Utilisez la procédure suivante pour créer ou modifier votre fichier de configuration, puis copiez-le dans le hub.

  • Créez ou modifiez le fichier de configuration (provisionnement du parc).

    Configurez les champs obligatoires suivants dans le fichier de configuration de l'appareil :

    • Chemins de certification

      1. iot_claim_cert_path: Emplacement de votre certificat de réclamation (claim_cert.pem)

      2. iot_claim_pk_path: Emplacement de votre clé privée (claim_pk.key)

      3. SECURE_STORAGEÀ utiliser pour les deux champs lors de la mise en œuvre du gestionnaire de certificats de stockage sécurisé

    • Réglages de connexion

      1. fp_template_name: Le ProvisioningProfile nom d'avant.

      2. endpoint_url: URL du point de terminaison de vos intégrations gérées provenant de la réponse de l'RegisterCustomEndpointAPI (identique pour tous les appareils d'une région).

    • Identifiants de l'appareil

      1. SN: numéro de série de l'appareil correspondant à votre appel d'CreateManagedThingAPI (unique par appareil)

      2. UPCCode produit universel issu de votre appel d'CreateManagedThingAPI (identique pour tous les appareils de ce produit)

    { "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" } }

Contenu du fichier de configuration

Vérifiez le contenu du iotmi_config.json fichier.

Table des matières
Clé Valeurs Ajouté par le client ? Remarques
iot_provisioning_method FLEET_PROVISIONING Oui Spécifiez la méthode de provisionnement que vous souhaitez utiliser.
iot_claim_cert_path Le chemin du fichier que vous spécifiez ouSECURE_STORAGE. Par exemple, /data/aws/iotmi/certs/claim_cert.pem Oui Spécifiez le chemin du fichier que vous souhaitez utiliser ouSECURE_STORAGE.
iot_claim_pk_path Le chemin du fichier que vous spécifiez ouSECURE_STORAGE. Par exemple, /data/aws/iotmi/certs/claim_pk.pem Oui Spécifiez le chemin du fichier que vous souhaitez utiliser ouSECURE_STORAGE.
fp_template_name Le nom du modèle de provisionnement de flotte doit être identique au nom du ProvisioningProfile modèle utilisé précédemment. Oui Égal au nom du ProvisioningProfile qui a été utilisé précédemment
endpoint_url URL du point de terminaison pour les intégrations gérées. Oui Vos appareils utilisent cette URL pour se connecter au cloud d'intégrations gérées. Pour obtenir ces informations, utilisez l'RegisterCustomEndpointAPI.
SN Le numéro de série de l'appareil. Par exemple, AIDACKCEVSQ6C2EXAMPLE. Oui Vous devez fournir ces informations uniques pour chaque appareil.
UPC Code produit universel de l'appareil. Par exemple, 841667145075. Oui Vous devez fournir ces informations pour l'appareil.
managed_thing_id L'identifiant de l'objet géré. Non Ces informations sont ajoutées ultérieurement par le processus d'intégration après le provisionnement du hub.
iot_provisioning_state État du provisionnement. Oui L'état de provisionnement doit être défini commeNOT_PROVISIONED.
iot_permanent_cert_path Le chemin du certificat IoT. Par exemple, /data/aws/iotmi/iot_cert.pem. Non Ces informations sont ajoutées ultérieurement par le processus d'intégration après le provisionnement du hub.
iot_permanent_pk_path Le chemin du fichier de clé privée de l'IoT. Par exemple, /data/aws/iotmi/iot_pk.pem. Non Ces informations sont ajoutées ultérieurement par le processus d'intégration après le provisionnement du hub.
client_id L'ID client qui sera utilisé pour les connexions MQTT. Non Ces informations sont ajoutées ultérieurement par le processus d'intégration après le provisionnement du hub, pour que d'autres composants puissent être consommés.
event_manager_upper_bound La valeur par défaut est 500 Non Ces informations sont ajoutées ultérieurement par le processus d'intégration après le provisionnement du hub, pour que d'autres composants puissent être consommés.

Étape 7 : Copiez le fichier de configuration sur votre hub

Copiez votre fichier de configuration /data/aws/iotmi/config ou le chemin de votre répertoire personnalisé. Vous fournirez ce chemin d'accès au HubOnboarding binaire lors du processus d'intégration.

Pour le provisionnement de flottes

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