AWS IoT
Entwicklerhandbuch

Funktionsweise von AWS IoT

AWS IoT ermöglicht die Verbindung von mit dem Internet verbundenen Geräten mit der AWS Cloud sowie die Interaktion von Anwendungen in der Cloud mit Geräten, die mit dem Internet verbunden sind. Übliche IoT-Anwendungen erfassen und verarbeiten Telemetriedaten von Geräten oder ermöglichen Benutzern die Remote-Steuerung eines Geräts.

Geräte melden ihren Status, indem sie Nachrichten im JSON-Format in MQTT-Themen veröffentlichen. Jedes MQTT-Thema hat einen hierarchischen Namen, der das Gerät, dessen Status gerade aktualisiert wird, identifiziert. Wenn eine Nachricht in einem MQTT-Thema veröffentlicht wird, wird sie an den AWS IoT MQTT Message Broker gesendet, der dann alle Nachrichten, die in einem MQTT-Thema veröffentlicht wurden, an alle Clients sendet, die das Thema abonniert haben.

Die Kommunikation zwischen einem Gerät und AWS IoT wird durch X.509-Zertifikate geschützt. Sie haben die Möglichkeit, über AWS IoT ein Zertifikat zu generieren, oder Sie können Ihr eigenes verwenden. In beiden Fällen muss das Zertifikat bei AWS IoT registriert und aktiviert und anschließend auf Ihr Gerät kopiert werden. Wenn Ihr Gerät mit AWS IoT kommuniziert, legt es das Zertifikat bei AWS IoT als Anmeldeinformationen vor.

Es wird empfohlen, dass alle Geräte, die eine Verbindung zu AWS IoT herstellen, über einen Eintrag in der Registry verfügen. Das Registry speichert Informationen zu einem Gerät sowie die Zertifikate, die von einem Gerät für die sichere Kommunikation mit AWS IoT verwendet werden.

Sie können Regeln erstellen, die eine oder mehrere auszuführende Aktionen basierend auf den Daten in einer Nachricht definieren. Beispielsweise können Sie eine DynamoDB-Tabelle einfügen, aktualisieren oder abfragen oder eine Lambda-Funktion aufrufen. Regeln verwenden Ausdrücke zum Filtern von Nachrichten. Wenn eine Regel mit einer Nachricht übereinstimmt, löst die Regel-Engine die Aktion mithilfe der ausgewählten Eigenschaften aus. Regeln enthalten auch eine IAM-Rolle, die AWS IoT die Berechtigung für die AWS-Ressourcen gewährt, die zum Ausführen der Aktion verwendet werden.


                Eine allgemeine Übersicht von AWS IoT

Jedes Gerät verfügt über einen Schatten, der Statusinformationen speichert und abruft. Jedes Element in den Statusinformationen umfasst zwei Einträge: den zuletzt vom Gerät gemeldeten Status und den von einer Anwendung angefragten gewünschten Status. Eine Anwendung kann die aktuellen Statusinformationen für ein Gerät anfragen. Der Shadow reagiert auf die Anfrage, indem er ein JSON-Dokument mit den Statusinformationen (gemeldete und gewünschte), Metadaten und eine Versionsnummer bereitstellt. Eine Anwendung kann ein Gerät steuern, indem sie eine Statusänderung anfordert. Der Shadow akzeptiert die Statusänderungsanfrage, aktualisiert die Statusinformationen und sendet eine Nachricht, die angibt, dass die Statusinformation aktualisiert wurde. Das Gerät empfängt eine Nachricht, ändert seinen Status und meldet dann seinen neuen Status.