

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Einrichten AWS IoT
<a name="iot-moisture-setup"></a>

Um dieses Tutorial abzuschließen, müssen Sie die folgenden Ressourcen erstellen. Um ein Gerät zu verbinden AWS IoT, erstellen Sie ein IoT-Ding, ein Gerätezertifikat und eine AWS IoT Richtlinie. 
+  AWS IoT Irgendein Ding.

  Ein Objekt stellt ein physisches Gerät (in diesem Fall Ihr Rasberry Pi) dar und enthält statische Metadaten über das Gerät. 
+ Ein Gerätezertifikat.

  Alle Geräte müssen über ein Gerätezertifikat verfügen, um eine Verbindung herzustellen und sich mit AWS IoT zu authentifizieren.
+ Eine AWS IoT Richtlinie.

  Jedem Gerätezertifikat sind eine oder mehrere AWS IoT Richtlinien zugeordnet. Diese Richtlinien legen fest, auf welche AWS IoT Ressourcen das Gerät zugreifen kann. 
+ Ein AWS IoT Root-CA-Zertifikat.

  Geräte und andere Clients verwenden ein AWS IoT Root-CA-Zertifikat, um den AWS IoT Server zu authentifizieren, mit dem sie kommunizieren. Weitere Informationen finden Sie unter [Serverauthentifizierung](server-authentication.md).
+ Eine AWS IoT Regel.

  Eine Regel enthält eine Abfrage und mindestens eine Regelaktion. Die Abfrage extrahiert Daten aus Gerätenachrichten, um zu bestimmen, ob die Nachrichtendaten verarbeitet werden sollen. Die Regelaktion gibt an, was zu tun ist, wenn die Daten mit der Abfrage übereinstimmen.
+ Ein Amazon SNS-Thema und ein Themenabonnement.

  Die Regel überwacht die Feuchtigkeitsdaten über Ihren Raspberry Pi. Wenn der Wert unter einem Schwellenwert liegt, wird eine Nachricht an das Amazon-SNS-Thema gesendet. Amazon SNS sendet diese Nachricht an alle E-Mail-Adressen, die das Thema abonniert haben.

 



# Schritt 1: Erstellen Sie die AWS IoT Richtlinie
<a name="iot-moisture-policy"></a>

Erstellen Sie eine AWS IoT Richtlinie, die es Ihrem Raspberry Pi ermöglicht, eine Verbindung herzustellen und Nachrichten an diese zu senden AWS IoT.

1. Wenn in der [AWS IoT -Konsole](https://console.aws.amazon.com/iot) die Schaltfläche **Erste Schritte** erscheint, klicken Sie darauf. Erweitern Sie andernfalls im Navigationsbereich ** Sicherheit** und wählen Sie dann **Richtlinien** aus.

1. Wenn das Dialogfeld **You don‘t have any policies yet (Sie haben noch keine Richtlinien)** angezeigt wird, wählen Sie **Create a policy (Richtlinie erstellen)** aus. Wählen Sie andernfalls **Erstellen**.

1. Geben Sie einen Namen für die AWS IoT Richtlinie ein (z. B.**MoistureSensorPolicy**).

1. Ersetzen Sie im Abschnitt **Add statements (Anweisungen hinzufügen)** die vorhandene Richtlinie durch das folgende JSON-Objekt. Ersetzen Sie *region* und *account* durch Ihre AWS-Konto Nummer AWS-Region und.  
****  

   ```
   {
       "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. Wählen Sie **Erstellen** aus.

# Schritt 2: Erstellen Sie das AWS IoT Ding, das Zertifikat und den privaten Schlüssel
<a name="iot-moisture-create-thing"></a>

Erstellen Sie in der AWS IoT Registrierung ein Ding, das Ihren Raspberry Pi repräsentiert.

1. Wählen Sie in der [AWS IoT -Konsole](https://console.aws.amazon.com/iot/home) im Navigationsbereich **Manage (Verwalten)** und dann **Things (Objekte)**.

1. Wenn das Dialogfeld **You don‘t have any things yet (Sie haben noch keine Objekte)** angezeigt wird, wählen Sie **Register a thing (Objekt registrieren)** aus. Wählen Sie andernfalls **Erstellen**.

1. Wählen Sie auf der Seite „** AWS IoT Dinge erstellen****“ die Option Ein einzelnes Ding** erstellen aus.

1. Geben Sie auf der Seite **Add your device to the device registry (Ihr Gerät zur Geräteregistrierung hinzufügen)** einen Namen für Ihr IoT-Objekt ein (z. B. **RaspberryPi**) und wählen Sie dann **Next (Weiter)**. Sie können den Namen eines Objekts nicht mehr ändern, nachdem Sie es erstellt haben. Um den Namen eines Objekts zu ändern, müssen Sie ein neues Objekt erstellen, diesem den neuen Namen geben und dann das alte Objekt löschen.

1. Wählen Sie auf der Seite **Add a certificate for your thing (Fügen Sie ein Zertifikat für Ihr Objekt hinzu.)** die Option **Create certificate (Zertifikat erstellen)**.

1. Klicken Sie auf die **Download**-Links, um das Zertifikat, den privaten Schlüssel und das CA-Stammzertifikat herunterzuladen.
**Wichtig**  
Dies ist das einzige Mal, dass Sie Ihr Zertifikat und Ihren privaten Schlüssel herunterladen können.

1. Wählen Sie **Aktivieren** aus, um Ihr Zertifikat zu aktivieren. Das Zertifikat muss aktiv sein, damit ein Gerät eine Verbindung mit AWS IoT herstellen kann.

1. Wählen Sie **Attach a policy (Richtlinie anfügen)** aus.

1. Wählen ****MoistureSensorPolicy**Sie unter Richtlinie für Ihr Ding hinzufügen** die Option und anschließend **Ding registrieren** aus.

# Schritt 3: Erstellen eines Amazon-SNS-Themas und -Abonnements
<a name="iot-moisture-create-sns-topic"></a>

Erstellen eines Amazon-SNS-Themas und -Abonnements.

1. Klicken Sie in der [AWS SNS-Konsole](https://console.aws.amazon.com/sns/home) im Navigationsbereich auf **Themen** und wählen Sie dann **Thema erstellen** aus.

1. Wählen Sie Typ als **Standard** und geben Sie einen Namen für das Thema ein (z. B.**MoistureSensorTopic**).

1. Geben Sie einen Anzeigenamen für das Thema ein (z. B. **Moisture Sensor Topic**). Dies ist der Name, der für Ihr Thema in der Amazon SNS -Konsole angezeigt wird.

1. Wählen Sie **Thema erstellen** aus.

1. Wählen Sie auf der Seite mit den Details des Amazon SNS-Themas die Option **Create subscription (Abonnement erstellen)** aus.

1. Wählen Sie unter **Protocol (Protokoll)** die Option **Email (E-Mail)** aus.

1. Geben Sie unter **Endpunkt** Ihre E-Mail-Adresse ein.

1. Wählen Sie **Create subscription** (Abonnement erstellen) aus.

1. Öffnen Sie Ihren E-Mail-Client und suchen Sie nach einer Nachricht mit dem Betreff **MoistureSensorTopic**. Öffnen Sie die E-Mail und klicken Sie auf den Link **Confirm subscription (Abonnement bestätigen)**.
**Wichtig**  
Sie erhalten keine E-Mail-Benachrichtigungen von diesem Amazon SNS-Thema, bis Sie das Abonnement bestätigen.

Sie sollten eine E-Mail-Nachricht mit dem von Ihnen eingegebenen Text erhalten.

# Schritt 4: Erstellen Sie eine AWS IoT Regel zum Senden einer E-Mail
<a name="iot-moisture-create-rule"></a>

Eine AWS IoT Regel definiert eine Abfrage und eine oder mehrere Aktionen, die ausgeführt werden sollen, wenn eine Nachricht von einem Gerät empfangen wird. Die AWS IoT Regel-Engine wartet auf Nachrichten, die von Geräten gesendet werden, und bestimmt anhand der in den Nachrichten enthaltenen Daten, ob Maßnahmen ergriffen werden sollten. Weitere Informationen finden Sie unter [Regeln für AWS IoT](iot-rules.md). 

In diesem Tutorial veröffentlicht Ihr Raspberry Pi Nachrichten auf `aws/things/RaspberryPi/shadow/update`. Dies ist ein internes MQTT-Thema, das von Geräten und dem Thing Shadow-Service verwendet wird. Der Raspberry Pi veröffentlicht Nachrichten in der folgenden Form:

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

Sie erstellen eine Abfrage, die die Feuchtigkeits- und Temperaturdaten aus der eingehenden Nachricht extrahiert. Sie erstellen auch eine Amazon SNS-Aktion, die die Daten übernimmt und an Abonnenten des Amazon SNS-Themas sendet, wenn der Feuchtigkeitswert unter einem Schwellenwert liegt.

**Erstellen Sie eine Amazon SNS-Regel**

1. Wählen Sie in der [AWS IoT Konsole](https://console.aws.amazon.com/iot/home) **Nachrichtenrouting** und dann **Regeln** aus. Wenn das Dialogfeld **You don‘t have any rules yet (Sie haben noch keine Regeln)** angezeigt wird, wählen Sie **Create a rule (Regel erstellen)** aus. Wählen Sie andernfalls **Regel erstellen**.

1. Geben Sie auf der Seite mit den **Regeleigenschaften** einen **Regelnamen** wie **MoistureSensorRule** ein und geben Sie eine kurze **Regelbeschreibung** ein, z.B. **Sends an alert when soil moisture level readings are too low**.

1. Wählen Sie **Weiter** und konfigurieren Sie Ihre SQL-Anweisung. Wählen Sie die **SQL-Version** **2016-03-23** und geben Sie die folgende AWS IoT SQL-Abfrageanweisung ein:

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

   Diese Anweisung löst die Regelaktion aus, wenn der `moisture`-Lesevorgang kleiner als `400` ist.
**Anmerkung**  
Möglicherweise müssen Sie einen anderen Wert verwenden. Nachdem Sie den Code auf Ihrem Raspberry Pi ausgeführt haben, können Sie die Werte sehen, die Sie von Ihrem Sensor erhalten, indem Sie den Sensor berühren, ihn in Wasser platzieren oder ihn in einem Übertopf platzieren. 

1. Wählen Sie **Weiter** und hängen Sie Regelaktionen an. Wählen Sie für **Aktion 1** **Einfacher Benachrichtigungsservice** aus. Die Beschreibung für diese Regelaktion lautet **Eine Nachricht als SNS-Push-Benachrichtigung** senden.

1. **Wählen Sie als **SNS-Thema das Thema**, das Sie in, erstellt haben [Schritt 3: Erstellen eines Amazon-SNS-Themas und -Abonnements](iot-moisture-create-sns-topic.md) **MoistureSensorTopic**, und behalten Sie das **Nachrichtenformat** RAW bei.** Wählen Sie für **IAM Role (IAM-Rolle)** die Option **Create a New Role (Neue Rolle erstellen)** aus. Geben Sie einen Namen für die Rolle ein, beispielsweise **LowMoistureTopicRole**, und wählen Sie dann **Rolle erstellen** aus.

1. Wählen Sie **Weiter** aus, um die Regel zu überprüfen, und klicken Sie dann auf **Erstellen**, um die Regel zu erstellen.