

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 AWS IoT
<a name="iot-moisture-setup"></a>

Per completare questo tutorial, è necessario creare le seguenti risorse. Per connettere un dispositivo AWS IoT, crei un oggetto IoT, un certificato del dispositivo e una AWS IoT policy. 
+ Qualsiasi AWS IoT cosa.

  Un oggetto rappresenta un dispositivo fisico (in questo caso, il Raspberry Pi) e contiene metadati statici relativi al dispositivo. 
+ Un certificato del dispositivo.

  Tutti i dispositivi devono disporre di un certificato del dispositivo per connettersi a AWS IoT ed eseguire l'autenticazione.
+ Una AWS IoT politica.

  A ogni certificato del dispositivo sono associate una o più AWS IoT politiche. Queste politiche determinano a quali AWS IoT risorse può accedere il dispositivo. 
+ Un certificato CA AWS IoT principale.

  I dispositivi e gli altri client utilizzano un certificato CA AWS IoT principale per autenticare il AWS IoT server con cui comunicano. Per ulteriori informazioni, consulta [Autenticazione del server](server-authentication.md).
+ Una AWS IoT regola.

  Una regola contiene una query e una o più operazioni di regola. La query estrae i dati dai messaggi del dispositivo per determinare se i dati del messaggio devono essere elaborati. L'operazione della regola specifica cosa fare se i dati corrispondono alla query.
+ Un argomento Amazon SNS e una sottoscrizione di un argomento.

  La regola ascolta i dati di umidità dal Raspberry Pi. Se il valore è inferiore a una soglia, invia un messaggio all'argomento Amazon SNS. Amazon SNS invia tale messaggio a tutti gli indirizzi e-mail che hanno effettuato la sottoscrizione all'argomento.

 



# Fase 1: Creare la AWS IoT politica
<a name="iot-moisture-policy"></a>

Crea una AWS IoT policy che consenta al tuo Raspberry Pi di connettersi e inviare messaggi a AWS IoT.

1. Se nella [console AWS IoT](https://console.aws.amazon.com/iot) è presente un pulsante **Get started (Inizia)**, selezionarlo. In caso contrario, nel riquadro di navigazione del servizio espandere **Security** (Sicurezza), quindi selezionare **Policies** (Policy).

1. Se viene visualizzata la finestra di dialogo**You don’t have any policies yet (Non hai ancora policy)**, selezionare **Create a policy (Crea una policy)**. In caso contrario, scegliere **Create** (Crea).

1. Inserisci un nome per la AWS IoT politica (ad esempio,**MoistureSensorPolicy**).

1. Nella sezione **Add statements (Aggiungi istruzioni)**, sostituire la policy esistente con il seguente JSON. Sostituisci «*region*e» *account* con il tuo Account AWS numero Regione AWS e.  
****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iot:Connect",
               "Resource": "arn:aws:iot:us-east-1:123456789012:client/RaspberryPi"
           },
           {
               "Effect": "Allow",
               "Action": "iot:Publish",
               "Resource": [
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/update",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/delete",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/get"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "iot:Receive",
               "Resource": [
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/update/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/delete/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/get/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/update/rejected",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/delete/rejected"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "iot:Subscribe",
               "Resource": [
                   "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/RaspberryPi/shadow/update/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/RaspberryPi/shadow/delete/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/RaspberryPi/shadow/get/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/RaspberryPi/shadow/update/rejected",
                   "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/RaspberryPi/shadow/delete/rejected"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iot:GetThingShadow",
                   "iot:UpdateThingShadow",
                   "iot:DeleteThingShadow"
               ],
               "Resource": "arn:aws:iot:us-east-1:123456789012:thing/RaspberryPi"
           }
       ]
   }
   ```

1. Scegli **Create** (Crea).

# Fase 2: Creare l' AWS IoT oggetto, il certificato e la chiave privata
<a name="iot-moisture-create-thing"></a>

Crea un elemento nel AWS IoT registro per rappresentare il tuo Raspberry Pi.

1. Nel riquadro di navigazione della [console AWS IoT](https://console.aws.amazon.com/iot/home) scegliere **Manage (Gestisci)**, quindi scegliere **Things (Oggetti)**.

1. Se è visibile la finestra di dialogo **You don’t have any things yet (Non hai ancora oggetti)**, selezionare **Register a thing (Registra un oggetto)**. In caso contrario, scegliere **Create** (Crea).

1. Nella pagina **Creazione di AWS IoT oggetti**, scegli **Crea una singola cosa**.

1. Nella pagina **Add your device to the device registry (Aggiungi il tuo dispositivo al registro dei dispositivi)**, immettere un nome per l'oggetto IoT, ad esempio **RaspberryPi**, quindi scegliere **Next (Avanti)**. Non puoi modificare il nome di un oggetto dopo averlo creato. Per cambiare il nome di un oggetto, devi creare un nuovo oggetto, dargli il nuovo nome e quindi eliminare il vecchio oggetto.

1. Nella pagina **Add a certificate for your thing (Aggiungi un certificato per l'oggetto)**, scegli **Create certificate (Crea certificato)**.

1. Scegliere i collegamenti **Download (Scarica)** per scaricare il certificato, la chiave privata e il certificato CA root.
**Importante**  
Questa è l'unico momento in cui è possibile scaricare il certificato e la chiave privata.

1. Scegli **Activate (Attiva)** per attivare il certificato. Il certificato deve essere attivo affinché un dispositivo possa connettersi a AWS IoT.

1. Scegliere **Attach a policy (Collega policy)**.

1. Per **Aggiungi una politica per il tuo oggetto**, scegli **MoistureSensorPolicy**, quindi scegli **Registra oggetto**.

# Fase 3: Creazione e sottoscrizione a un argomento Amazon SNS
<a name="iot-moisture-create-sns-topic"></a>

Creazione e sottoscrizione di un argomento Amazon SNS.

1. Dalla [console AWS SNS](https://console.aws.amazon.com/sns/home), nel riquadro di navigazione, scegli **Topics (Argomenti)** e quindi scegli **Create topic (Crea argomento)**.

1. Scegli Tipo come **Standard** e inserisci un nome per l'argomento (ad esempio,**MoistureSensorTopic**).

1. Immettere un nome visualizzato per l'argomento, ad esempio **Moisture Sensor Topic**. Questo è il nome visualizzato per l'argomento nella console Amazon SNS.

1. Scegli **Create topic** (Crea argomento).

1. Nella pagina dei dettagli dell'argomento Amazon SNS, scegli **Create Subscription (Crea sottoscrizione)**.

1. Per **Protocollo**, scegli **E-mail**.

1. Per **Endpoint**, immettere il proprio indirizzo e-mail.

1. Scegli **Create Subscription** (Crea sottoscrizione).

1. Aprire il client e-mail e cercare un messaggio con l'oggetto **MoistureSensorTopic**. Aprire l'e-mail e selezionare il collegamento **Confirm subscription (Conferma sottoscrizione)**.
**Importante**  
Non riceverai avvisi e-mail da questo argomento Amazon SNS finché non confermi la sottoscrizione.

Dovresti ricevere un messaggio di posta elettronica con il testo che hai digitato.

# Passaggio 4: Crea una AWS IoT regola per inviare un'email
<a name="iot-moisture-create-rule"></a>

Una AWS IoT regola definisce una query e una o più azioni da eseguire quando si riceve un messaggio da un dispositivo. Il motore AWS IoT delle regole ascolta i messaggi inviati dai dispositivi e utilizza i dati contenuti nei messaggi per determinare se è necessario intraprendere un'azione. Per ulteriori informazioni, consulta [Regole per AWS IoT](iot-rules.md). 

In questo tutorial, il Raspberry Pi pubblica messaggi su `aws/things/RaspberryPi/shadow/update`. Si tratta di un argomento MQTT interno utilizzato dai dispositivi e dal servizio Thing Shadow. Il Raspberry Pi pubblica messaggi nel formato seguente:

```
{
    "reported": {
        "moisture" : moisture-reading,
        "temp" : temperature-reading
    }
}
```

È necessario creare una query che estrae i dati relativi a umidità e temperatura dal messaggio in entrata. È necessario inoltre creare un'azione Amazon SNS che acquisisce i dati e li invia agli iscritti dell'argomento se la lettura dell'umidità è inferiore a un valore di soglia.

**Creazione di una regola Amazon SNS.**

1. **Nella [AWS IoT console](https://console.aws.amazon.com/iot/home), scegli **Routing dei messaggi**, quindi scegli Regole.** Se viene visualizzata la finestra di dialogo**You don’t have any rules yet (Non hai ancora regole)**, selezionare **Create a rule (Crea una regola)**. Altrimenti, scegli **Crea regola**.

1. Nella pagina delle **proprietà della regola**, inserisci un **nome per la regola**, ad esempio**MoistureSensorRule**, e fornisci una breve **descrizione della regola**, ad esempio**Sends an alert when soil moisture level readings are too low**.

1. Scegliete **Avanti** e configurate l'istruzione SQL. Scegli la **versione SQL** come **23/03/2016** e inserisci la seguente AWS IoT istruzione di query SQL:

   ```
   SELECT * FROM '$aws/things/RaspberryPi/shadow/update/accepted' WHERE state.reported.moisture < 400
   ```

   Questa istruzione attiva l'operazione della regola quando la lettura `moisture` è inferiore a `400`.
**Nota**  
Potrebbe essere necessario utilizzare un valore diverso. Quando il codice è in esecuzione sul Raspberry Pi, è possibile visualizzare i valori ottenuti dal sensore toccando il sensore, immergendolo in acqua o posizionandolo in una fioriera. 

1. Scegli **Avanti** e allega le azioni delle regole. Per **l'azione 1**, scegli **Simple Notification Service**. La descrizione di questa azione della regola è **Invia un messaggio come notifica push SNS**.

1. **Per l'**argomento SNS**, scegli l'argomento in [Fase 3: Creazione e sottoscrizione a un argomento Amazon SNS](iot-moisture-create-sns-topic.md) cui hai creato e lascia il **formato del messaggio** come RAW. **MoistureSensorTopic**** Per **Ruolo IAM**, scegli **Crea un nuovo ruolo**. Inserisci un nome per il ruolo, ad esempio**LowMoistureTopicRole**, e quindi scegli **Crea ruolo**.

1. Scegli **Avanti** per rivedere, quindi scegli **Crea** per creare la regola.