Configurazione dell'hub onboarding - Integrazioni gestite per AWS IoT Device Management

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione dell'hub onboarding

Completa questi passaggi di configurazione per ogni dispositivo hub prima di iniziare il processo di onboarding per il provisioning della flotta. Questa sezione descrive come creare oggetti gestiti, impostare strutture di directory e configurare i certificati richiesti.

Fase 1: Registrare un endpoint personalizzato

Crea un endpoint di comunicazione dedicato che i tuoi dispositivi utilizzino per lo scambio di dati con integrazioni gestite. Questo endpoint stabilisce un punto di connessione sicuro per tutti i device-to-cloud messaggi, inclusi i comandi del dispositivo, gli aggiornamenti di stato e le notifiche.

Per registrare un endpoint
  • Utilizza l'RegisterCustomEndpointAPI per creare un endpoint per la comunicazione delle device-to-managed integrazioni.

    RegisterCustomEndpointEsempio di richiesta

    aws iot-managed-integrations register-custom-endpoint

    Risposta:

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

    Memorizza l'indirizzo dell'endpoint. Ti servirà per le future comunicazioni tra dispositivi.

    Per restituire le informazioni sull'endpoint, utilizza l'GetCustomEndpointAPI.

    Per ulteriori informazioni, consulta l'RegisterCustomEndpointAPI e l'API nella Guida di riferimento dell'GetCustomEndpointAPI per le integrazioni gestite.

Fase 2: Creare un profilo di provisioning

Un profilo di provisioning contiene le credenziali di sicurezza e le impostazioni di configurazione necessarie ai dispositivi per connettersi alle integrazioni gestite.

Per creare un profilo di approvvigionamento della flotta
  • Chiama l'CreateProvisioningProfileAPI per generare quanto segue:

    • Un modello di provisioning che definisce le impostazioni di connessione del dispositivo

    • Un certificato di richiesta e una chiave privata per l'autenticazione del dispositivo

    Importante

    Archivia il certificato di richiesta, la chiave privata e l'ID del modello in modo sicuro. Avrai bisogno di queste credenziali per integrare i dispositivi nelle integrazioni gestite. Se perdi queste credenziali, devi creare un nuovo profilo di provisioning.

CreateProvisioningProfilerichiesta di esempio

aws iot-managed-integrations create-provisioning-profile \ --provisioning-type FLEET_PROVISIONING \ --name PROFILE_NAME

Risposta:

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

Fase 3: Creare un oggetto gestito (approvvigionamento della flotta)

Utilizza l'CreateManagedThingAPI per creare un oggetto gestito per il tuo dispositivo hub. Ogni hub richiede una propria funzionalità gestita con materiali di autenticazione unici. Per ulteriori informazioni, consulta l'CreateManagedThingAPI nella Guida alle API di riferimento per le integrazioni gestite.

Quando crei un oggetto gestito, specifica questi parametri:

  • Role: Imposta questo valore suCONTROLLER.

  • AuthenticationMaterial: include i seguenti campi.

    • SN: il numero di serie univoco di questo dispositivo

    • UPC: Il codice prodotto universale per questo dispositivo

  • Owner: L'identificatore del proprietario di questo oggetto gestito.

Importante

Ogni dispositivo deve avere un numero di serie (SN) univoco nel materiale di autenticazione.

CreateManagedThingEsempio di richiesta:

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

Per ulteriori informazioni, consulta il riferimento CreateManagedThingall'API di riferimento per le integrazioni gestite.

(Facoltativo) Ottieni una cosa gestita

La ProvisioningStatus cosa che hai gestito deve essere UNCLAIMED prima di poter procedere. Utilizza l'GetManagedThingAPI per verificare che l'oggetto gestito esista e sia pronto per il provisioning. Per ulteriori informazioni, consulta il riferimento GetManagedThingall'API di riferimento per le integrazioni gestite.

Passaggio 4: Creare la struttura delle cartelle

Crea le directory per i tuoi file di configurazione e i tuoi certificati. Per impostazione predefinita, il processo di onboarding dell'hub utilizza il. /data/aws/iotmi/config/iotmi_config.json

È possibile specificare percorsi personalizzati per certificati e chiavi private nel file di configurazione. Questa guida utilizza il percorso predefinito/data/aws/iotmi/certs.

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

Fase 5: Aggiungere materiale di autenticazione al dispositivo hub

Copia i certificati e le chiavi sul tuo dispositivo hub, quindi crea un file di configurazione specifico del dispositivo. Questi file stabiliscono una comunicazione sicura tra l'hub e le integrazioni gestite durante il processo di provisioning.

Per copiare il certificato e la chiave della richiesta
  • Copia questi file di autenticazione dalla risposta CreateProvisioningProfile API al tuo dispositivo hub:

    • claim_cert.pem: Il certificato di richiesta (comune a tutti i dispositivi)

    • claim_pk.key: La chiave privata per il certificato di richiesta

    Posiziona entrambi i file nella /data/aws/iotmi/certs directory.

    Importante

    Quando memorizzi certificati e chiavi private in formato PEM, assicurati che la formattazione sia corretta gestendo correttamente i caratteri di nuova riga. Per i file con codifica PEM, i caratteri di nuova riga (\n) devono essere sostituiti con veri e propri separatori di riga, poiché la semplice memorizzazione delle nuove righe in escape non verrà recuperata correttamente in seguito.

    Nota

    Se utilizzi l'archiviazione sicura, archivia queste credenziali nella tua posizione di archiviazione sicura anziché nel file system. Per ulteriori informazioni, consulta Crea un gestore di certificati personalizzato per l'archiviazione sicura.

Passaggio 6: Creare il file di configurazione del dispositivo

Crea un file di configurazione che contenga identificatori univoci del dispositivo, posizioni dei certificati e impostazioni di provisioning. L'SDK utilizza questo file durante l'onboarding dell'hub per autenticare il dispositivo, gestire lo stato del provisioning e memorizzare le impostazioni di connessione.

Nota

Ogni dispositivo hub richiede il proprio file di configurazione con valori unici specifici del dispositivo.

Utilizzare la procedura seguente per creare o modificare il file di configurazione e copiarlo nell'hub.

  • Creare o modificare il file di configurazione (fleet provisioning).

    Configura questi campi obbligatori nel file di configurazione del dispositivo:

    • Percorsi dei certificati

      1. iot_claim_cert_path: Ubicazione del certificato di reclamo (claim_cert.pem)

      2. iot_claim_pk_path: Ubicazione della chiave privata (claim_pk.key)

      3. Utilizzalo SECURE_STORAGE per entrambi i campi durante l'implementazione del Secure Storage Cert Handler

    • Impostazioni di connessione

      1. fp_template_name: Il ProvisioningProfile nome usato in precedenza.

      2. endpoint_url: l'URL dell'endpoint delle integrazioni gestite ricavato dalla risposta dell'RegisterCustomEndpointAPI (uguale per tutti i dispositivi in una regione).

    • Identificatori di dispositivo

      1. SN: numero di serie del dispositivo che corrisponde alla chiamata CreateManagedThing API (unico per dispositivo)

      2. UPCCodice prodotto universale ottenuto dalla chiamata CreateManagedThing API (uguale per tutti i dispositivi di questo prodotto)

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

Contenuto del file di configurazione

Esamina il contenuto del iotmi_config.json file.

Indice
Chiave Valori Aggiunto dal cliente? Note
iot_provisioning_method FLEET_PROVISIONING Specificate il metodo di provisioning che desiderate utilizzare.
iot_claim_cert_path Il percorso del file specificato oSECURE_STORAGE. Ad esempio, /data/aws/iotmi/certs/claim_cert.pem Specificate il percorso del file che desiderate utilizzare oSECURE_STORAGE.
iot_claim_pk_path Il percorso del file specificato oSECURE_STORAGE. Ad esempio, /data/aws/iotmi/certs/claim_pk.pem Specificate il percorso del file che desiderate utilizzare oSECURE_STORAGE.
fp_template_name Il nome del modello di fleet provisioning deve essere uguale al nome del ProvisioningProfile modello utilizzato in precedenza. Uguale al nome usato ProvisioningProfile in precedenza
endpoint_url L'URL dell'endpoint per le integrazioni gestite. I tuoi dispositivi utilizzano questo URL per connettersi al cloud delle integrazioni gestite. Per ottenere queste informazioni, utilizza l'RegisterCustomEndpointAPI.
SN Il numero di serie del dispositivo. Ad esempio, AIDACKCEVSQ6C2EXAMPLE. È necessario fornire queste informazioni univoche per ogni dispositivo.
UPC Codice prodotto universale del dispositivo. Ad esempio, 841667145075. È necessario fornire queste informazioni per il dispositivo.
managed_thing_id L'ID dell'oggetto gestito. No Queste informazioni vengono aggiunte successivamente durante il processo di onboarding dopo il provisioning dell'hub.
iot_provisioning_state Lo stato di approvvigionamento. Lo stato di approvvigionamento deve essere impostato come. NOT_PROVISIONED
iot_permanent_cert_path Il percorso del certificato IoT. Ad esempio, /data/aws/iotmi/iot_cert.pem. No Queste informazioni vengono aggiunte successivamente durante il processo di onboarding dopo il provisioning dell'hub.
iot_permanent_pk_path Il percorso del file della chiave privata IoT. Ad esempio, /data/aws/iotmi/iot_pk.pem. No Queste informazioni vengono aggiunte successivamente durante il processo di onboarding dopo il provisioning dell'hub.
client_id L'ID client che verrà utilizzato per le connessioni MQTT. No Queste informazioni vengono aggiunte successivamente durante il processo di onboarding dopo il provisioning dell'hub, per essere utilizzate da altri componenti.
event_manager_upper_bound Il valore predefinito è 500 No Queste informazioni vengono aggiunte successivamente durante il processo di onboarding dopo il provisioning dell'hub, per consentire l'utilizzo di altri componenti.

Passaggio 7: Copiare il file di configurazione nell'hub

Copia il file di configurazione /data/aws/iotmi/config o il percorso di directory personalizzato. Fornirai questo percorso al HubOnboarding file binario durante il processo di onboarding.

Per l'approvvigionamento della flotta

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