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.
Étapes de configuration
É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-endpointRé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 surCONTROLLERpour 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'unUPCou 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
CreateProvisioningProfileAPI 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/certsré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
-
iot_claim_cert_path: Emplacement de votre certificat de réclamation (claim_cert.pem) -
iot_claim_pk_path: Emplacement de votre clé privée (claim_pk.key) -
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
-
fp_template_name: LeProvisioningProfilenom d'avant. -
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
-
SN: numéro de série de l'appareil correspondant à votre appel d'CreateManagedThingAPI (unique par appareil) -
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.
| 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