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

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

    RegisterCustomEndpointExemple de demande

    aws iot-managed-integrations register-custom-endpoint

    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 le Guide de référence de l'API des intégrations gérées.

Étape 2 : Création d'un profil d'approvisionnement

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 d'approvisionnement 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 d'approvisionnement.

CreateProvisioningProfileexemple de demande

aws iot-managed-integrations create-provisioning-profile \ --provisioning-type 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 sur CONTROLLER pour les hubs qui ne prennent pas en charge le commandement et le contrôle, sinon définissez cette valeur surDEVICE.

  • AuthenticationMaterialType: Définissez cette valeur surWIFI_SETUP_QR_BAR_CODE.

  • AuthenticationMaterial: Incluez les champs suivants. Vous pouvez utiliser l'un UPC ou l'autreEAN, mais pas les deux.

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

    • UPC: le code produit universel pour cet appareil

    • EAN: le numéro d'article international de cet appareil

Important

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

CreateManagedThingExemple de demande :

{ "Role": "CONTROLLER", "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 PRE_ASSOCIATED avant de pouvoir continuer. Pour plus d'informations ProvisioningStatus, consultez la section Approvisionnement des appareils. 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.

    Important

    Lorsque vous stockez des certificats et des clés privées au format PEM, assurez-vous que le formatage est correct en gérant correctement les caractères de nouvelle ligne. Pour les fichiers codés au format PEM, les caractères de nouvelle ligne (\n) doivent être remplacés par de véritables séparateurs de ligne, car le simple fait de stocker les nouvelles lignes échappées ne sera pas correctement récupéré ultérieurement.

    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 au périphérique.

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 (approvisionnement 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.
mqtt_keep_alive_interval La plage est comprise entre 30 et 1200, et les unités sont exprimées en secondes. La valeur par défaut est 300. Oui Utilisez-le pour définir un intervalle de conservation pour les connexions MQTT.
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 vers le 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