

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
<a name="managedintegrations-sdk-v2-cookbook-hubsetup"></a>

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.

**Topics**
+ [Étape 1 : enregistrer un point de terminaison personnalisé](#managedintegrations-sdk-v2-cookbook-acc)
+ [Étape 2 : Création d'un profil de provisionnement](#managedintegrations-sdk-v2-cookbook-fleet-provision)
+ [Étape 3 : Création d'un objet géré (approvisionnement de flotte)](#managedintegrations-sdk-v2-cookbook-managedthing)
+ [Étape 4 : Création de la structure du répertoire](#managedintegrations-sdk-v2-cookbook-hubdir)
+ [Étape 5 : ajouter du matériel d'authentification à l'appareil du hub](#managedintegrations-sdk-v2-cookbook-copycert)
+ [Étape 6 : Création du fichier de configuration de l'appareil](#managedintegrations-sdk-v2-cookbook-genconfig)
+ [Étape 7 : Copiez le fichier de configuration sur votre hub](#managedintegrations-sdk-v2-cookbook-copyconfig)

## Étape 1 : enregistrer un point de terminaison personnalisé
<a name="managedintegrations-sdk-v2-cookbook-acc"></a>

Créez un point de communication dédié que vos appareils utiliseront pour échanger des données avec Managed Integrations. Ce point de terminaison établit un point de connexion sécurisé pour toutes les communications entre appareils et cloud, y compris les commandes de l'appareil, les mises à jour de statut et les notifications.

**Pour enregistrer un point de terminaison**
+ Utilisez l'[RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API pour créer un point de terminaison pour la communication entre les appareils et les intégrations gérées.

  **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'`GetCustomEndpoint`API.

  Pour plus d'informations, consultez l'[RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API et l'[GetCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetCustomEndpoint.html)API dans le *Guide de référence de l'API* Managed Integrations.

## Étape 2 : Création d'un profil de provisionnement
<a name="managedintegrations-sdk-v2-cookbook-fleet-provision"></a>

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**
+ <a name="managedintegrations-sdk-v2-cookbook-provisioning"></a>Appelez l'[CreateProvisioningProfile](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateProvisioningProfile.html)API 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 des appareils à Managed Integrations. Si vous perdez ces informations d'identification, vous devez créer un nouveau profil d'approvisionnement.

**`CreateProvisioningProfile`exemple 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)
<a name="managedintegrations-sdk-v2-cookbook-managedthing"></a>

Utilisez l'`CreateManagedThing`API 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'[CreateManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateManagedThing.html)API dans le manuel Managed Integrations *API Reference*.

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 sur`DEVICE`.
+ `AuthenticationMaterialType`: Définissez cette valeur sur`WIFI_SETUP_QR_BAR_CODE`.
+ `AuthenticationMaterial`: Incluez les champs suivants. Vous pouvez utiliser l'un `UPC` ou l'autre`EAN`, 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.

**`CreateManagedThing`Exemple de demande** :

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

Pour plus d'informations, consultez la *référence [CreateManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateManagedThing.html)de l'API* Managed Integrations.

### (Facultatif) Obtenez un objet géré
<a name="managedintegrations-sdk-v2-cookbook-managedthing-get"></a>

`ProvisioningStatus`L'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](https://docs.aws.amazon.com/iot-mi/latest/devguide/device-provisioning.html). Utilisez l'`GetManagedThing`API 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 [GetManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetManagedThing.html)de l'API* Managed Integrations.

## Étape 4 : Création de la structure du répertoire
<a name="managedintegrations-sdk-v2-cookbook-hubdir"></a>

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
<a name="managedintegrations-sdk-v2-cookbook-copycert"></a>

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 Managed Integrations 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 PEM-encoded les fichiers, 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é](managedintegrations-sdk-v2-cookbook-certhandler.md).

## Étape 6 : Création du fichier de configuration de l'appareil
<a name="managedintegrations-sdk-v2-cookbook-genconfig"></a>

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.
+ <a name="managedintegrations-sdk-v2-cookbook-modifyconfig-fleet"></a>**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`)

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

    1. `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.

    1. `endpoint_url`: URL de votre point de terminaison Managed Integrations provenant de la réponse de l'`RegisterCustomEndpoint`API (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'`CreateManagedThing`API (unique par appareil)

    1. `UPC`Code produit universel issu de votre appel d'`CreateManagedThing`API (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
<a name="managedintegrations-sdk-v2-cookbook-config-contents"></a>

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 Managed Integrations. Pour obtenir ces informations, utilisez l'[RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API. | 
| 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 maintien en vie 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
<a name="managedintegrations-sdk-v2-cookbook-copyconfig"></a>

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
```