Fase 2: Provisioning del tuo Raspberry Pi in AWS IoT - AWS IoT Core

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

Fase 2: Provisioning del tuo Raspberry Pi in AWS IoT

Le procedure contenute in questa sezione iniziano con l'immagine microSD salvata con AWS CLI e AWS IoT Device Client installati e crea le risorse AWS IoT e certificati del dispositivo che effettuano il provisioning del tuo Raspberry Pi in AWS IoT.

Installa la scheda microSD nel Raspberry Pi

Questa procedura installa la scheda microSD con il software necessario caricato e configurato in Raspberry Pi e configura il tuo Account AWS in modo da poter continuare con i tutorial in questo percorso di apprendimento.

Utilizzare una scheda microSD da (Facoltativo) Salvare l'immagine della scheda microSD che dispone del software necessario per gli esercizi e le esercitazioni in questo percorso di apprendimento.

Per installare la scheda microSD nel Raspberry Pi
  1. Con l'alimentazione scollegata dal Raspberry Pi, inserisci la scheda microSD nel Raspberry Pi.

  2. Collega Raspberry Pi all'alimentazione.

  3. Dopo circa un minuto, sul computer host locale, riavvia la sessione della finestra terminale e accedi al Raspberry Pi.

  4. Sul computer host locale, nella finestra terminale e con le credenziali ID chiave di accesso e Chiave di accesso segreta per il Raspberry Pi:

    1. Esegui l'app di configurazione AWS con questo comando:

      aws configure
    2. Inserisci le tue credenziali Account AWS e le informazioni di configurazione quando richiesto:

      AWS Access Key ID [****************YXYX]: your Access Key ID AWS Secret Access Key [****************YXYX]: your Secret Access Key Default region name [us-west-2]: your Regione AWS code Default output format [json]: json

Dopo aver ripristinato le tue credenziali Account AWS, sei pronto per proseguire con Provisioning del dispositivo in AWS IoT Core.

Provisioning del dispositivo in AWS IoT Core

Le procedure contenute in questa sezione creano risorse AWS IoT che effettuano il provisioning sul tuo Raspberry Pi in AWS IoT. Man mano che crei queste risorse, ti verrà chiesto di registrare varie informazioni. Queste informazioni sono utilizzate nella configurazione di AWS IoT Device Client nella procedura successiva.

Affinché il tuo Raspberry Pi funzioni con AWS IoT, è necessario eseguire il provisioning su di esso. Il provisioning è il processo di creazione e configurazione di risorse AWS IoT necessarie per supportare il Raspberry Pi come dispositivo IoT.

Con il Raspberry Pi acceso e riavviato, connetti la finestra terminale del computer host locale al Raspberry Pi e completa queste procedure.

Creare e scaricare i file di certificato del dispositivo

Questa procedura crea i file di certificato del dispositivo per questa demo.

Per creare e scaricare i file di certificato del dispositivo per il tuo Raspberry Pi
  1. Nella finestra terminale del computer host locale, immettere questi comandi per creare i file di certificato del dispositivo per il dispositivo.

    mkdir ~/certs/testconn aws iot create-keys-and-certificate \ --set-as-active \ --certificate-pem-outfile "~/certs/testconn/device.pem.crt" \ --public-key-outfile "~/certs/testconn/public.pem.key" \ --private-key-outfile "~/certs/testconn/private.pem.key"

    Questo comando restituisce una risposta simile alla seguente. Registra il valore certificateArn per utilizzarlo in seguito.

    { "certificateArn": "arn:aws:iot:us-west-2:57EXAMPLE833:cert/76e7e4edb3e52f52334be2f387a06145b2aa4c7fcd810f3aea2d92abc227d269", "certificateId": "76e7e4edb3e52f5233EXAMPLE7a06145b2aa4c7fcd810f3aea2d92abc227d269", "certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgI_SHORTENED_FOR_EXAMPLE_Lgn4jfgtS\n-----END CERTIFICATE-----\n", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BA_SHORTENED_FOR_EXAMPLE_ImwIDAQAB\n-----END PUBLIC KEY-----\n", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQE_SHORTENED_FOR_EXAMPLE_T9RoDiukY\n-----END RSA PRIVATE KEY-----\n" } }
  2. Inserisci i seguenti comandi per impostare le autorizzazioni sulla directory dei certificati e sui relativi file.

    chmod 745 ~ chmod 700 ~/certs/testconn chmod 644 ~/certs/testconn/* chmod 600 ~/certs/testconn/private.pem.key
  3. Esegui questo comando per rivedere le autorizzazioni sulle directory e sui file dei certificati.

    ls -l ~/certs/testconn

    L'output del comando dovrebbe essere lo stesso di quello che vedi qui, tranne per le date e gli orari del file.

    -rw-r--r-- 1 pi pi 1220 Oct 28 13:02 device.pem.crt -rw------- 1 pi pi 1675 Oct 28 13:02 private.pem.key -rw-r--r-- 1 pi pi 451 Oct 28 13:02 public.pem.key

A questo punto, hai i file del certificato del dispositivo installati sul tuo Raspberry Pi e puoi proseguire con Creare risorse AWS IoT.

Creare risorse AWS IoT

Questa procedura effettua il provisioning sul tuo dispositivo in AWS IoT creando le risorse necessarie al tuo dispositivo per poter accedere alle caratteristiche e ai servizi AWS IoT.

Per effettuare il provisioning del dispositivo in AWS IoT
  1. Nella finestra terminale del computer host locale, immettere il seguente comando per ottenere l'indirizzo dell'endpoint dati del dispositivo per l'Account AWS.

    aws iot describe-endpoint --endpoint-type IoT:Data-ATS

    Questo comando restituisce una risposta simile alla seguente. Registra il valore endpointAddress per utilizzarlo in seguito.

    { "endpointAddress": "a3qjEXAMPLEffp-ats.iot.us-west-2.amazonaws.com" }
  2. Inserisci il comando per creare una risorsa AWS IoT per Raspberry Pi.

    aws iot create-thing --thing-name "DevCliTestThing"

    Se la risorsa dell'oggetto AWS IoT è stata creata, il comando restituisce una risposta simile a quanto segue.

    { "thingName": "DevCliTestThing", "thingArn": "arn:aws:iot:us-west-2:57EXAMPLE833:thing/DevCliTestThing", "thingId": "8ea78707-32c3-4f8a-9232-14bEXAMPLEfd" }
  3. Nella finestra terminale:

    1. Apri un editor di testo, ad esempio nano.

    2. Copia questo documento di policy JSON e incollalo nell'editor di testo aperto.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:Connect" ], "Resource": [ "*" ] } ] }
      Nota

      Questo documento di policy concede generosamente a tutte le risorse l'autorizzazione a connettersi, ricevere, pubblicare e sottoscrivere. Normalmente le policy consentono solo a risorse specifiche di eseguire azioni specifiche. Tuttavia, per il test iniziale della connettività del dispositivo, questa policy eccessivamente generale e permissiva viene utilizzata per ridurre al minimo la possibilità di un problema di accesso durante questo test. Nei tutorial successivi, verranno utilizzati documenti di policy più ristretti per dimostrare le migliori pratiche nella progettazione delle policy.

    3. Salva il file nell'editor di testo come ~/policies/dev_cli_test_thing_policy.json.

  4. Eseguire questo comando per utilizzare il documento di policy dai passaggi precedenti per creare una policy AWS IoT.

    aws iot create-policy \ --policy-name "DevCliTestThingPolicy" \ --policy-document "file://~/policies/dev_cli_test_thing_policy.json"

    Se la policy viene creata, verrà visualizzata una risposta simile alla seguente.

    { "policyName": "DevCliTestThingPolicy", "policyArn": "arn:aws:iot:us-west-2:57EXAMPLE833:policy/DevCliTestThingPolicy", "policyDocument": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"iot:Publish\",\n \"iot:Subscribe\",\n \"iot:Receive\",\n \"iot:Connect\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n", "policyVersionId": "1" }
  5. Eseguire questo comando per attribuire la policy al certificato del dispositivo. Sostituisci certificateArn con il valore certificateArn salvato in precedenza.

    aws iot attach-policy \ --policy-name "DevCliTestThingPolicy" \ --target "certificateArn"

    In caso di successo, questo comando non restituisce alcun risultato.

  6. Esegui questo comando per attribuire il certificato del dispositivo alle risorse dell'oggetto AWS IoT. Sostituisci certificateArn con il valore certificateArn salvato in precedenza.

    aws iot attach-thing-principal \ --thing-name "DevCliTestThing" \ --principal "certificateArn"

    In caso di successo, questo comando non restituisce alcun risultato.

Dopo aver eseguito correttamente il provisioning del dispositivo in AWS IoT sei pronto a proseguire con Fase 3: Configurazione di AWS IoT Device Client per verificare la connettività.