

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Con AWS IoT figuración
<a name="iot-moisture-setup"></a>

Para completar este tutorial, debe crear los siguientes recursos. Para conectar un dispositivo AWS IoT, se crea una cosa de IoT, un certificado de dispositivo y una AWS IoT política. 
+ Cualquier AWS IoT cosa.

  Un objeto representa un dispositivo físico (en este caso, su Rasberry Pi) e incluye metadatos estáticos sobre el dispositivo. 
+ Un certificado de dispositivo.

  Todos los dispositivos deben tener un certificado de dispositivo para conectarse a AWS IoT y autenticarse con el mismo.
+ Una AWS IoT política.

  Cada certificado de dispositivo tiene una o más AWS IoT políticas asociadas. Estas políticas determinan a qué AWS IoT recursos puede acceder el dispositivo. 
+ Un certificado de CA AWS IoT raíz.

  Los dispositivos y otros clientes utilizan un certificado de CA AWS IoT raíz para autenticar el AWS IoT servidor con el que se comunican. Para obtener más información, consulte [Autenticación del servidor](server-authentication.md).
+ Una AWS IoT regla.

  Una regla incluye una consulta y una o varias acciones de regla. La consulta extrae datos de los mensajes del dispositivo para determinar si los datos de los mensajes deben procesarse. La acción de regla especifica qué hacer si los datos coinciden con la consulta.
+ Un tema de Amazon SNS y una suscripción a un tema.

  La regla escucha los datos de humedad del dispositivo Raspberry Pi. Si el valor está por debajo de un umbral, envía un mensaje al tema de Amazon SNS. Amazon SNS envía ese mensaje a todas las direcciones de correo electrónico suscritas al tema.

 



# Paso 1: Crear la AWS IoT política
<a name="iot-moisture-policy"></a>

Crea una AWS IoT política que permita a tu Raspberry Pi conectarse y enviar mensajes a AWS IoT.

1. En la [consola de AWS IoT](https://console.aws.amazon.com/iot), si aparece un botón **Empezar**, elíjalo. De lo contrario, en el panel de navegación, expanda **Seguridad** y, a continuación, elija **Políticas**.

1. Si aparece el cuadro de diálogo **Aún no tiene ninguna política**, elija **Crear una política**. De lo contrario, seleccione **Crear**.

1. Introduzca un nombre para la AWS IoT política (por ejemplo,**MoistureSensorPolicy**).

1. En la sección **Añadir instrucciones**, sustituya la política existente por el siguiente JSON. Sustituya *region* y *account* por su Cuenta de AWS número Región de AWS and.  
****  

   ```
   {
       "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. Seleccione **Crear**.

# Paso 2: Crea la AWS IoT cosa, el certificado y la clave privada
<a name="iot-moisture-create-thing"></a>

Crea una cosa en el AWS IoT registro que represente tu Raspberry Pi.

1. En la [consola de AWS IoT](https://console.aws.amazon.com/iot/home), en el panel de navegación, elija **Administrar** y, a continuación, seleccione **Objetos**.

1. Si aparece el cuadro de diálogo **Aún no tiene ningún objeto**, elija **Registrar un objeto**. De lo contrario, seleccione **Crear**.

1. En la página **Crear AWS IoT cosas**, selecciona **Crear una sola cosa**.

1. En la página **Añadir su dispositivo al registro de dispositivos**, escriba un nombre para el objeto de IoT (por ejemplo, **RaspberryPi**) y, a continuación, elija **Siguiente**. No puede modificar el nombre de un objeto una vez creado. Para cambiar el nombre de una cosa, debe crear otra nueva, asignarle el nuevo nombre y eliminar después la anterior.

1. En la página **Agregar un certificado para el objeto**, elija **Crear certificado**.

1. Elija los enlaces **Descargar** para descargar el certificado, la clave privada y el certificado de CA raíz.
**importante**  
Esta es la única vez que puede descargar el certificado y la clave privada.

1. Para activar el certificado, seleccione **Activar**. El certificado debe estar activo para que un dispositivo pueda conectarse a AWS IoT.

1. Elija **Attach a policy (Asociar una política)**.

1. En **Añadir una política para tu cosa**, selecciona y **MoistureSensorPolicy**, a continuación, selecciona **Registrar cosa**.

# Paso 3: Crear un tema y una suscripción a Amazon SNS
<a name="iot-moisture-create-sns-topic"></a>

Cree un tema y una suscripción de Amazon SNS.

1. En la [consola SNS de AWS](https://console.aws.amazon.com/sns/home), en el panel de navegación, seleccione **Temas** y, a continuación, seleccione **Crear tema**.

1. Elija el tipo **Estándar** e introduzca un nombre para el tema (por ejemplo, **MoistureSensorTopic**).

1. Escriba un nombre de visualización para el tema (por ejemplo, **Moisture Sensor Topic**). Este es el nombre que se muestra para el tema en la consola de Amazon SNS.

1. Seleccione **Crear tema**.

1. En la página de detalles del tema de Amazon SNS, seleccione **Crear suscripción**.

1. En **Protocolo**, elija **Correo electrónico**.

1. Para **punto de conexión**, introduzca su dirección de correo electrónico.

1. Seleccione **Crear subscripción**.

1. Abra su cliente de correo electrónico y busque un mensaje con el asunto **MoistureSensorTopic**. Abra el correo electrónico y elija el enlace **Confirmar suscripción**.
**importante**  
No recibirá ninguna alerta por correo electrónico de este tema de Amazon SNS hasta que confirme la suscripción.

Debería recibir un mensaje de correo electrónico con el texto que escribió.

# Paso 4: Crea una AWS IoT regla para enviar un correo electrónico
<a name="iot-moisture-create-rule"></a>

Una AWS IoT regla define una consulta y una o más acciones que se deben realizar cuando se recibe un mensaje de un dispositivo. El motor de AWS IoT reglas escucha los mensajes enviados por los dispositivos y utiliza los datos de los mensajes para determinar si se debe realizar alguna acción. Para obtener más información, consulte [Reglas para AWS IoT](iot-rules.md). 

En este tutorial el dispositivo Raspberry Pi publica mensajes en `aws/things/RaspberryPi/shadow/update`. Se trata de un tema de MQTT interno utilizado por los dispositivos y el servicio Thing Shadow. El Raspberry Pi publica mensajes que tienen el siguiente formato:

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

Puede crear una consulta que extraiga los datos de humedad y temperatura del mensaje entrante. También creará una acción de Amazon SNS que tome los datos y los envíe a los suscriptores de temas de Amazon SNS si la lectura de humedad está por debajo de un valor umbral.

**Crear una regla de Amazon SNS**

1. En la [consola de AWS IoT](https://console.aws.amazon.com/iot/home), seleccione **Enrutamiento de mensajes** y, a continuación, selecciona **Reglas**. Si aparece el cuadro de diálogo **You don't have any rules yet (Aún no tiene ninguna regla)**, elija **Create a rule (Crear una regla)**. De lo contrario, seleccione **Crear regla**.

1. En la página de **propiedades de la regla**, introduzca un **nombre de regla**, por ejemplo**MoistureSensorRule**, y proporcione una breve **descripción de la regla**, por ejemplo **Sends an alert when soil moisture level readings are too low**.

1. Seleccione **Siguiente** y configure su sentencia SQL. Elija la **versión SQL** como **23 de marzo de 2016** e introduzca la siguiente AWS IoT sentencia de consulta SQL:

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

   Esta instrucción activa la acción de la regla cuando la lectura de `moisture` es menor que `400`.
**nota**  
Es posible que tenga que utilizar un valor diferente. Una vez que el código se ejecute en el dispositivo Raspberry Pi, si toca el sensor, lo coloca en agua o en una maceta, podrá ver los valores que se obtienen del sensor. 

1. Elija **Siguiente** y adjunte las acciones de las reglas. Para la **acción 1**, elija **Servicio de notificación simple**. La descripción de esta acción de regla es **Enviar un mensaje como una notificación push de SNS**.

1. **Para el **tema de SNS**, elija el tema en el que creó y deje el [Paso 3: Crear un tema y una suscripción a Amazon SNS](iot-moisture-create-sns-topic.md) formato **MoistureSensorTopic**del **mensaje** en RAW.** En **Rol de IAM**, elija **Crear un nuevo rol**. Especifique un nombre para el rol (por ejemplo, **LowMoistureTopicRole**) y elija **Crear rol**.

1. Seleccione **Siguiente** para revisarla y, a continuación, seleccione **Crear** para crear la regla.