Sendungsverfolgung MQTT mit AWS IoT und mit Amazon Location Service - Amazon Location Service

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.

Sendungsverfolgung MQTT mit AWS IoT und mit Amazon Location Service

MQTTist ein leichtes und weit verbreitetes Messaging-Protokoll, das für eingeschränkte Geräte entwickelt wurde. AWS IoT Core unterstützt Geräteverbindungen, die das MQTT Protokoll und das WebSocket Secure MQTT (WSS) -Protokoll verwenden.

AWS IoT Coreverbindet Geräte mit diesen Geräten AWS und ermöglicht es Ihnen, Nachrichten zwischen ihnen zu senden und zu empfangen. Die AWS IoT Core Regel-Engine speichert Anfragen zu den Nachrichtenthemen Ihrer Geräte und ermöglicht es Ihnen, Aktionen für das Senden von Nachrichten an andere AWS Dienste wie Amazon Location Service zu definieren. Geräte, die ihren Standort als Koordinaten kennen, können ihre Standorte über die Regel-Engine an Amazon Location weiterleiten lassen.

Anmerkung

Geräte können ihre eigene Position kennen, zum Beispiel über eingebaute GeräteGPS. AWS IoT unterstützt auch die Standortverfolgung von Geräten von Drittanbietern. Weitere Informationen finden Sie unter Standort des AWS IoT Kerngeräts im AWS IoT Core Developer Guide.

In der folgenden exemplarischen Vorgehensweise wird das Tracking mithilfe von AWS IoT Core Regeln beschrieben. Sie können die Geräteinformationen auch an Ihre eigene AWS Lambda Funktion senden, wenn Sie sie verarbeiten müssen, bevor Sie sie an Amazon Location senden. Weitere Informationen zur Verwendung von Lambda zur Verarbeitung Ihrer Gerätestandorte finden Sie unterVerwenden AWS Lambda mit MQTT.

Voraussetzung

Bevor Sie mit dem Tracking beginnen können, müssen Sie die folgenden Voraussetzungen erfüllen:

  • Erstellen Sie eine Tracker-Ressource, an die Sie die Standortdaten des Geräts senden möchten.

  • Erstellen Sie eine IAM Rolle, um AWS IoT Core Zugriff auf Ihren Tracker zu gewähren.

    Wenn du diese Schritte befolgst, verwende die folgende Richtlinie, um Zugriff auf deinen Tracker zu gewähren:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "WriteDevicePosition", "Effect": "Allow", "Action": "geo:BatchUpdateDevicePosition", "Resource": "arn:aws:geo:*:*:tracker/*" } ] }

Erstellen Sie eine AWS IoT Core Regel

Erstellen Sie als Nächstes eine AWS IoT Core Regel, um die Positionstelemetrie Ihrer Geräte an Amazon Location Service weiterzuleiten. Weitere Informationen zum Erstellen von Regeln finden Sie in den folgenden Themen im AWS IoT Core Entwicklerhandbuch:

Testen Sie Ihre AWS IoT Core Regel in der Konsole

Wenn derzeit keine Geräte Telemetriedaten veröffentlichen, die den Standort enthalten, können Sie Ihre Regel mit der AWS IoT Core Konsole testen. Die Konsole verfügt über einen Testclient, auf dem Sie eine Beispielnachricht veröffentlichen können, um die Ergebnisse der Lösung zu überprüfen.

  1. Melden Sie sich bei der AWS IoT Core Konsole an unter https://console.aws.amazon.com/iot/.

  2. Erweitern Sie in der linken Navigationsleiste die Option Test und wählen Sie MQTTTestclient aus.

  3. Stellen Sie unter In einem Thema veröffentlichen den Namen des Themas auf ein iot/topic (oder den Namen des Themas, das Sie in Ihrer AWS IoT Core Regel eingerichtet haben, falls anders) und geben Sie Folgendes für die Nachrichten-Payload ein.

    { "payload": { "deviceid": "thing123", "timestamp": 1604940328, "location": { "lat": 49.2819, "long": -123.1187 }, "accuracy": { "Horizontal": 20.5 }, "positionProperties": { "field1": "value1", "field2": "value2" } } }
  4. Wählen Sie Im Thema veröffentlichen, um die Testnachricht zu senden.

  5. Verwenden Sie den folgenden AWS CLI Befehl, um zu überprüfen, ob die Nachricht von Amazon Location Service empfangen wurde. Wenn Sie ihn während der Einrichtung geändert haben, ersetzen Sie den Tracker-Namen durch den Namen, den Sie verwendet haben.

    aws location batch-get-device-position --tracker-name MyTracker --device-ids thing123