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.
É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 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'
GetCustomEndpoint
API.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.
-
CreateProvisioningProfile
exemple 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'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'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.
CreateManagedThing
Exemple 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é
ProvisioningStatus
L'objet que vous gérez doit l'être UNCLAIMED
avant de pouvoir continuer. 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 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
-
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
: LeProvisioningProfile
nom d'avant. -
endpoint_url
: URL du point de terminaison de vos intégrations gérées provenant de la réponse de l'RegisterCustomEndpoint
API (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'CreateManagedThing
API (unique par appareil) -
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
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. |
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