

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

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.

**Topics**
+ [Fase 1: Registrare un endpoint personalizzato](#managedintegrations-sdk-v2-cookbook-acc)
+ [Fase 2: Creare un profilo di provisioning](#managedintegrations-sdk-v2-cookbook-fleet-provision)
+ [Fase 3: Creare un oggetto gestito (approvvigionamento della flotta)](#managedintegrations-sdk-v2-cookbook-managedthing)
+ [Passaggio 4: Creare la struttura delle cartelle](#managedintegrations-sdk-v2-cookbook-hubdir)
+ [Fase 5: Aggiungere materiale di autenticazione al dispositivo hub](#managedintegrations-sdk-v2-cookbook-copycert)
+ [Passaggio 6: Creare il file di configurazione del dispositivo](#managedintegrations-sdk-v2-cookbook-genconfig)
+ [Passaggio 7: Copiare il file di configurazione nell'hub](#managedintegrations-sdk-v2-cookbook-copyconfig)

## Fase 1: Registrare un endpoint personalizzato
<a name="managedintegrations-sdk-v2-cookbook-acc"></a>

Crea un endpoint di comunicazione dedicato che i tuoi dispositivi utilizzeranno per lo scambio di dati con Managed Integrations. Questo endpoint stabilisce un punto di connessione sicuro per tutta la messaggistica da dispositivo a cloud, inclusi i comandi del dispositivo, gli aggiornamenti di stato e le notifiche.

**Per registrare un endpoint**
+ Utilizza l'[RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API per creare un endpoint per la comunicazione tra dispositivi e integrazioni gestite.

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

  Per ulteriori informazioni, consulta l'[RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API e l'[GetCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetCustomEndpoint.html)API nella Managed Integrations *API Reference Guide*.

## Fase 2: Creare un profilo di provisioning
<a name="managedintegrations-sdk-v2-cookbook-fleet-provision"></a>

Un profilo di provisioning contiene le credenziali di sicurezza e le impostazioni di configurazione necessarie ai dispositivi per connettersi a Managed Integrations. 

**Per creare un profilo di approvvigionamento della flotta**
+ <a name="managedintegrations-sdk-v2-cookbook-provisioning"></a>Chiama l'[CreateProvisioningProfile](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateProvisioningProfile.html)API 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 in Managed Integrations. Se perdi queste credenziali, devi creare un nuovo profilo di provisioning.

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

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

Quando crei un oggetto gestito, specifica questi parametri:
+ `Role`: Imposta questo valore su `CONTROLLER` per gli hub che non supportano il comando e il controllo, altrimenti imposta su. `DEVICE`
+ `AuthenticationMaterialType`: Imposta questo valore su. `WIFI_SETUP_QR_BAR_CODE`
+ `AuthenticationMaterial`: include i seguenti campi. È possibile utilizzare uno dei due `UPC` o `EAN` non entrambi.
  + `SN`: Il numero di serie univoco di questo dispositivo
  + `UPC`: Il codice prodotto universale per questo dispositivo
  + `EAN`: Il numero di articolo internazionale di questo dispositivo

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

**`CreateManagedThing`Esempio di richiesta**:

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

Per ulteriori informazioni, consulta [CreateManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateManagedThing.html)la sezione Managed Integrations *API Reference.*

### (Facoltativo) Ottieni una cosa gestita
<a name="managedintegrations-sdk-v2-cookbook-managedthing-get"></a>

La `ProvisioningStatus` cosa che hai gestito deve essere `PRE_ASSOCIATED` prima di poter procedere. Per ulteriori informazioni su ProvisioningStatus, consulta [Device Provisioning](https://docs.aws.amazon.com/iot-mi/latest/devguide/device-provisioning.html). Utilizza l'`GetManagedThing`API per verificare che l'oggetto gestito esista e sia pronto per il provisioning. Per ulteriori informazioni, consulta [GetManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetManagedThing.html)la sezione Managed Integrations *API* Reference.

## Passaggio 4: Creare la struttura delle cartelle
<a name="managedintegrations-sdk-v2-cookbook-hubdir"></a>

Crea directory per i tuoi file di configurazione e 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
<a name="managedintegrations-sdk-v2-cookbook-copycert"></a>

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 Managed Integrations 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

  Inserisci 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 PEM-encoded i file, i caratteri di nuova riga `(\n)` devono essere sostituiti con veri e propri separatori di riga, poiché la semplice memorizzazione delle nuove righe in uscita 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](managedintegrations-sdk-v2-cookbook-certhandler.md).

## Passaggio 6: Creare il file di configurazione del dispositivo
<a name="managedintegrations-sdk-v2-cookbook-genconfig"></a>

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

    1. `iot_claim_pk_path`: Ubicazione della chiave privata (`claim_pk.key`)

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

    1. `endpoint_url`: l'URL dell'endpoint di Managed Integrations ottenuto dalla risposta dell'`RegisterCustomEndpoint`API (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)

    1. `UPC`Codice 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
<a name="managedintegrations-sdk-v2-cookbook-config-contents"></a>

Esamina il contenuto del `iotmi_config.json` file.


**Indice**  

| Chiave | Valori | Aggiunto dal cliente? | Note | 
| --- | --- | --- | --- | 
| iot\_provisioning\_method | FLEET\_PROVISIONING | Sì | 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 | Sì | 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 | Sì | 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. | Sì | Uguale al nome usato ProvisioningProfile in precedenza | 
| endpoint\_url | L'URL dell'endpoint per le integrazioni gestite. | Sì | I tuoi dispositivi utilizzano questo URL per connettersi al cloud Managed Integrations. Per ottenere queste informazioni, utilizza l'[RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API. | 
| SN | Il numero di serie del dispositivo. Ad esempio, AIDACKCEVSQ6C2EXAMPLE. | Sì | È necessario fornire queste informazioni uniche per ogni dispositivo. | 
| UPC | Codice prodotto universale del dispositivo. Ad esempio, 841667145075. | Sì | È 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. | Sì | 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 consentire l'utilizzo di altri componenti. | 
| mqtt\_keep\_alive\_interval | L'intervallo è compreso tra 30 e 1200 e le unità sono espresse in secondi. Il valore predefinito è 300. | Sì | Utilizzatelo per impostare un intervallo di mantenimento attivo per le connessioni MQTT. | 
| 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 essere utilizzate da altri componenti. | 

## Passaggio 7: Copiare il file di configurazione nell'hub
<a name="managedintegrations-sdk-v2-cookbook-copyconfig"></a>

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