Konfigurieren der Position von LoRaWAN-Geräten - AWS IoT Wireless

Konfigurieren der Position von LoRaWAN-Geräten

Wenn Sie Ihr Gerät zu AWS IoT Core for LoRaWAN hinzufügen, können Sie die statischen Positionsinformationen angeben, optional die Positionierung aktivieren und ein Ziel angeben. Das Ziel beschreibt die IoT-Regel, die die Positionsinformationen des Geräts verarbeitet und die aktualisierte Position an Amazon Location Service weiterleitet. Nachdem Sie Ihre Geräteposition konfiguriert haben, werden die Positionsdaten auf einer Amazon-Standortkarte mit den Genauigkeitsinformationen und dem von Ihnen angegebenen Ziel angezeigt.

Sie können die Position Ihres Geräts mithilfe von AWS Management Console, der AWS IoT Wireless-API oder von AWS CLI konfigurieren.

Wenn Sie die Positionierung aktivieren, müssen Sie den Geolocation-Frame-Port für die Übertragung der WLAN- und GNSS-Scandaten vom Gerät an AWS IoT Core for LoRaWAN angeben. Die Positionsinformationen werden an AWS IoT Core for LoRaWAN über diesen Frame-Port übertragen.

Die LoRaWAN-Spezifikation bietet ein Datenlieferfeld (FRMPayload) und ein Port-Feld (FPort), um zwischen verschiedenen Nachrichtentypen zu unterscheiden. Um die Positionsinformationen zu kommunizieren, können Sie für den Frame-Port einen Wert zwischen 1 und 223 angeben. FPort 0 ist für MAC-Nachrichten reserviert, FPort 224 ist für MAC-Konformitätstests reserviert und die Ports 225-255 sind für zukünftige standardisierte Anwendungserweiterungen reserviert.

Wenn Sie ein Ziel hinzufügen, wird eine AWS IoT Regel erstellt, um die Daten mithilfe der Regel-Engine an Amazon Location Service weiterzuleiten. Die aktualisierten Positionsinformationen werden dann auf einer Amazon-Standortkarte angezeigt. Wenn Sie die Positionierung nicht aktiviert haben, leitet das Ziel die Positionsdaten weiter, wenn Sie die statischen Positionskoordinaten Ihres Geräts aktualisieren.

Der folgende Code zeigt das Format der Uplink-Nachricht, die von AWS IoT Core for LoRaWAN gesendet wurde, mit den Positionsinformationen, der Genauigkeit, der Solver-Konfiguration und den drahtlosen Metadaten. Die unten hervorgehobenen Felder sind optional. Wenn keine Informationen zur vertikalen Genauigkeit vorliegen, ist der Wert null.

{ // Position configuration parameters for given wireless device "WirelessDeviceId": "5b58245e-146c-4c30-9703-0ca942e3ff35", // Position information for a device in GeoJSON format. Altitude // is optional. If no vertical accuracy information is available // or positioning isn't activated, the value is set to null. // The position information coordinates are listed in the order // [longitude, latitude, altitude]. "coordinates": [33.33000183105469, -22.219999313354492, 99.0], "type": "Point", "properties": { "horizontalAccuracy": number, "verticalAccuracy": number", "timestamp": "2022-08-19T03:08:35.061Z" }, //Parameters controlled by AWS IoT Core for LoRaWAN "WirelessMetadata": { "LoRaWAN": { "ADR": false, "Bandwidth": 125, "ClassB": false, "CodeRate": "4/5", "DataRate": "0", "DevAddr": "00b96cd4", "DevEui": "58a0cb000202c99", "FOptLen": 2, "FCnt": 1, "Fport": 136, "Frequency": "868100000", "Gateways": [ { "GatewayEui": "80029cfffe5cf1cc", "Snr": -29, "Rssi": 9.75 } ], "MIC": "7255cb07", "MType": "UnconfirmedDataUp", "Major": "LoRaWANR1", "Modulation": "LORA", "PolarizationInversion": false, "SpreadingFactor": 12, "Timestamp": "2021-05-03T03:24:29Z" } } }

Konfigurieren der Position Ihrer Geräte mithilfe der Konsole

Um die Position Ihrer Geräte mithilfe von AWS Management Console zu konfigurieren und zu verwalten, melden Sie sich zunächst an der Konsole an und rufen Sie dann die Hub-Seite Geräte der AWS IoT Konsole auf.

Hinzufügen von Positionsinformationen

Um Positionsinformationen für Ihr Gerät hinzuzufügen:

  1. Wählen Sie auf der Hub-Seite Geräte die Option Drahtloses Gerät hinzufügen aus.

  2. Geben Sie die Spezifikation des drahtlosen Geräts, die Geräte- und Dienstprofile sowie das Ziel ein, das die IoT-Regel für das Routing der Daten an andere AWS-Service definiert. Weitere Informationen finden Sie unter Einbinden Ihrer Geräte in AWS IoT Core for LoRaWAN.

  3. Geben Sie die Positionsinformationen ein, aktivieren Sie optional die Geolokalisierung und geben Sie ein Ziel für Positionsdaten an, das Sie für die Weiterleitung von Nachrichten verwenden möchten.

    • Informationen zur Position

      Geben Sie die Positionsdaten für Ihr Gerät anhand der Breiten- und Längenkoordinaten sowie einer optionalen Höhenkoordinate an. Die Positionsinformationen basieren auf dem WGS84-Koordinatensystem.

    • Geolokalisierung

      Aktivieren Sie die Positionierung, wenn Sie möchten, dass AWS IoT Core for LoRaWAN die Geolokalisierung zur Berechnung der Geräteposition verwendet. Es verwendet GNSS- und Wi-Fi-Solver von Drittanbietern, um die Position Ihres Geräts in Echtzeit zu identifizieren.

      Um die Geolokalisierungsinformationen einzugeben, wählen Sie Positionierung aktivieren und geben Sie den Geolocation-Frame-Port ein, über den die GNSS- und Wi-Fi-Scandaten an AWS IoT Core for LoRaWAN übertragen werden sollen. Als Referenz werden die Standard-FPorts angezeigt. Sie können jedoch einen anderen Wert zwischen 1 und 223 wählen.

    • Positionsdatenziel

      Wählen Sie ein Ziel aus, um die AWS IoT-Regel zu beschreiben, die die Positionsdaten des Geräts verarbeitet und an AWS IoT Core for LoRaWAN weiterleitet. Verwenden Sie dieses Ziel nur, um Positionsdaten weiterzuleiten. Es muss sich von dem Ziel unterscheiden, das Sie für die Weiterleitung von Gerätedaten an andere AWS-Service verwenden.

Anzeigen der Positionskonfiguration des Geräts

Nachdem Sie die Position Ihres Geräts konfiguriert haben, erstellt AWS IoT Core for LoRaWAN eine Amazon-Standortkarte mit dem Namen iotwireless.map. Sie können diese Karte auf der Detailseite Ihres Geräts auf der Registerkarte Position sehen. Basierend auf den von Ihnen angegebenen Positionskoordinaten oder der von den Solvern von Drittanbietern berechneten Position wird die Position Ihres Geräts als Markierung auf der Karte angezeigt. Sie können die Ansicht vergrößern oder verkleinern, um die Position Ihres Geräts auf der Karte deutlich zu sehen. Auf der Detailseite des Geräts auf der Registerkarte Position werden außerdem die Genauigkeitsinformationen, der Zeitstempel, zu dem die Position Ihres Geräts bestimmt wurde, und das von Ihnen angegebene Ziel für die Positionsdaten angezeigt.

Anmerkung

Wenn Sie die Karten von Amazon Location Service nicht aktiviert haben, wird eine Meldung angezeigt, dass Sie Amazon Location Service verwenden müssen, um auf die Karte zuzugreifen und die Position anzuzeigen. Durch die Verwendung von Amazon Location Service-Karten können zusätzliche Gebühren für Ihr AWS-Konto anfallen. Weitere Informationen finden Sie unter AWS IoT Core Preise.

Die Karte iotwireless.map dient als Quelle für Kartendaten, auf die mithilfe von Get API-Operationen, wie z. B. GetMapTile, zugegriffen wird. Informationen zu Get APIs, die mit Karten verwendet werden, finden Sie in der Amazon Location Service API-Referenz.

Um weitere Informationen zu dieser Karte zu erhalten, gehen Sie zur Amazon Location Service-Konsole, wählen Sie Maps und dann iotwireless.map. Weitere Informationen finden Sie unter Maps im Entwicklerhandbuch für Amazon Location Service.

Aktualisieren der Positionskonfiguration des Geräts

Um die Positionskonfiguration des Geräts zu ändern, wählen Sie auf der Seite mit den Gerätedetails die Option Bearbeiten und aktualisieren Sie dann die Positionsinformationen, beliebige Geolokalisierungseinstellungen und das Ziel.

Anmerkung

Informationen zu historischen Positionsdaten sind nicht verfügbar. Wenn Sie die Positionskoordinaten des Geräts aktualisieren, werden die zuvor gemeldeten Positionsdaten überschrieben. Nachdem Sie die Position aktualisiert haben, sehen Sie in den Gerätedetails auf der Registerkarte Position die neuen Positionsinformationen. Die Änderung des Zeitstempels zeigt an, dass er der letzten bekannten Position des Geräts entspricht.

Konfigurieren der Geräteposition mithilfe der API

Sie können die Positionsinformationen angeben, die Geräteposition konfigurieren und die optionale Geolokalisierung mithilfe der AWS IoT Wireless-API oder der AWS CLI aktivieren.

Wichtig

Die API-Aktionen UpdatePosition, GetPosition, PutPositionConfiguration, GetPositionConfiguration und ListPositionConfigurations werden nicht mehr unterstützt. Aufrufe zum Aktualisieren und Abrufen der Positionsinformationen sollten stattdessen die API-Operationen GetResourcePosition und UpdateResourcePosition verwenden.

Hinzufügen von Positionsinformationen und -konfiguration

Um die Positionsinformationen für ein bestimmtes drahtloses Gerät hinzuzufügen, geben Sie die Koordinaten mit dem API-Vorgang UpdateResourcePosition oder dem CLI-Befehl update-resource-position an. Geben Sie WirelessDevice als ResourceType, die ID des drahtlosen Geräts, das aktualisiert werden soll, als ResourceIdentifier und die Positionsinformationen an.

aws iotwireless update-resource-position \ --resource-type WirelessDevice \ --resource-id "1ffd32c8-8130-4194-96df-622f072a315f" \ --position [33.33, -33.33, 10.0]

Im Folgenden werden die Inhalte der deviceposition.json-Datei angezeigt. Um die FPort-Werte für das Senden der Geolokalisierungsdaten anzugeben, verwenden Sie das Positionierungs-Objekt mit den API-Operationen CreateWirelessDevice und UpdateWirelessDevice.

Inhalt von deviceposition.json

{ "type": "Point", "coordinates": [33.3318, -22.2155, 13.123], "properties": { "verticalAccuracy": 707, "horizontalAccuracy": "timestamp": "2018-11-30T18:35:24Z" } }

Dieser Befehl liefert keine Ausgabe. Verwenden Sie den GetResourcePosition API-Vorgang, um die von Ihnen angegebenen Positionsinformationen anzuzeigen.

Abrufen von Positionsinformationen und -konfiguration

Verwenden Sie die API GetResourcePosition oder den CLI-Befehl get-resource-position, um die Positionsinformationen für ein bestimmtes drahtloses Gerät abzurufen. Geben Sie WirelessDevice als resourceType und die ID des drahtlosen Geräts als resourceIdentifier an.

aws iotwireless get-resource-position \ --resource-type WirelessDevice \ --resource-id "1ffd32c8-8130-4194-96df-622f072a315f"

Wenn Sie diesen Befehl ausführen, werden die Positionsinformationen Ihres drahtlosen Geräts als GeoJSON-Payload angezeigt. Sie erhalten Informationen zu den Positionskoordinaten, zum Standorttyp und zu den Eigenschaften, zu denen auch Genauigkeitsinformationen und der Zeitstempel gehören können, der der letzten bekannten Position des Geräts entspricht.

{ "type": "Point", "coordinates": [33.3318, -22.2155, 13.123], "properties": { "verticalAccuracy": 707, "horizontalAccuracy": 389, "horizontalConfidenceLevel": 0.68, "verticalConfidenceLevel": 0.68, "timestamp": "2018-11-30T18:35:24Z" } }