Auflösen des Standorts von IoT-Geräten - AWS IoT Core

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.

Auflösen des Standorts von IoT-Geräten

Verwenden Sie den AWS IoT Core Gerätestandort, um die Messdaten Ihrer Geräte zu dekodieren und den Gerätestandort mithilfe von Solvern von Drittanbietern zu ermitteln. Der aufgelöste Standort wird als GeoJSON-Nutzlast mit Geokoordinaten und Genauigkeitsinformationen generiert. Sie können den Standort Ihres Geräts über die AWS IoT Konsole, die AWS IoT Wireless API oder ermitteln. AWS CLI

Auflösen des Gerätestandorts (Konsole)

So lösen Sie den Gerätestandort auf (Konsole)

  1. Rufen Sie in der AWS IoT Konsole die Seite Gerätestandort auf.

  2. Rufen Sie die Nutzlast-Messdaten aus Ihren Geräteprotokollen oder aus den CloudWatch Protokollen ab und geben Sie sie im Abschnitt Position über Payload auflösen ein.

    Der folgende Code zeigt ein Beispiel für eine JSON-Nutzlast. Die Nutzlast enthält Mobilfunk- und WLAN-Messungsdaten. Wenn Ihre Nutzlast zusätzliche Arten von Messungsdaten enthält, wird der Solver mit der besten Genauigkeit verwendet. Weitere Informationen und Beispiele zur Nutzlast finden Sie unter Location Solver und Geräte-Payload.

    Anmerkung

    Die JSON-Nutzlast muss mindestens eine Art von Messungsdaten enthalten.

    { "Timestamp": 1664313161, "Ip":{ "IpAddress": "54.240.198.35" }, "WiFiAccessPoints": [{ "MacAddress": "A0:EC:F9:1E:32:C1", "Rss": -77 }], "CellTowers": { "Gsm": [{ "Mcc": 262, "Mnc": 1, "Lac": 5126, "GeranCid": 16504, "GsmLocalId": { "Bsic": 6, "Bcch": 82 }, "GsmTimingAdvance": 1, "RxLevel": -110, "GsmNmr": [{ "Bsic": 7, "Bcch": 85, "RxLevel": -100, "GlobalIdentity": { "Lac": 1, "GeranCid": 1 } }] }], "Wcdma": [{ "Mcc": 262, "Mnc": 7, "Lac": 65535, "UtranCid": 14674663, "WcdmaNmr": [{ "Uarfcndl": 10786, "UtranCid": 14674663, "Psc": 149 }, { "Uarfcndl": 10762, "UtranCid": 14674663, "Psc": 211 } ] }], "Lte": [{ "Mcc": 262, "Mnc": 2, "EutranCid": 2898945, "Rsrp": -50, "Rsrq": -5, "LteNmr": [{ "Earfcn": 6300, "Pci": 237, "Rsrp": -60, "Rsrq": -6, "EutranCid": 2898945 }, { "Earfcn": 6300, "Pci": 442, "Rsrp": -70, "Rsrq": -7, "EutranCid": 2898945 } ] }] } }
  3. Um die Standortinformationen aufzulösen, wählen Sie Auflösen aus.

    Die Standortinformationen sind vom Typ BLOB und werden als Nutzlast zurückgegeben, die das GeoJSON-Format verwendet. Dieses Format wird für die Kodierung geografischer Datenstrukturen verwendet. Die Nutzlast enthält Folgendes:

    • Die WGS84-Geokoordinaten, welche die Breiten- und Längengradinformationen enthalten. Sie kann auch eine Höheninformation enthalten.

    • Den Typ der gemeldeten Standortinformationen, z. B. Punkt. Ein Punkt-Standorttyp stellt den Standort als WGS84-Breitengrad und -Längengrad dar, codiert als GeoJSON-Punkt.

    • Die horizontalen und vertikalen Genauigkeitsinformationen, die den Unterschied in Metern zwischen den von den Solvern geschätzten Standortinformationen und dem tatsächlichen Gerätestandort angeben.

    • Den Zuverlässigkeitsgrad, der die Unsicherheit in der bereitgestellten Standortschätzung angibt. Der Standardwert ist 0,68, was auf eine Wahrscheinlichkeit von 68 % hinweist, dass der tatsächliche Gerätestandort innerhalb des Unsicherheitsradius des geschätzten Standorts liegt.

    • Die Stadt, das Bundesland, das Land und die Postleitzahl, in der sich das Gerät befindet. Diese Informationen werden nur gemeldet, wenn der IP-Reverse-Lookup-Solver verwendet wird.

    • Die Informationen zum Zeitstempel, die dem Datum und der Uhrzeit entspricht, an denen der Standort aufgelöst wurde. Es wird das UNIX-Zeitstempelformat verwendet.

    Der folgende Code zeigt ein Beispiel für eine GeoJSON-Nutzlast, die bei der Auflösung des Standorts zurückgegeben wurde.

    Anmerkung

    Wenn AWS IoT Core Device Location beim Versuch, den Standort zu ermitteln, Fehler meldet, können Sie die Fehler beheben und den Standort ermitteln. Weitere Informationen finden Sie unter Fehlerbehebung beim Auflösen des Standorts.

    { "coordinates": [ 13.376076698303223, 52.51823043823242 ], "type": "Point", "properties": { "verticalAccuracy": 45, "verticalConfidenceLevel": 0.68, "horizontalAccuracy": 303, "horizontalConfidenceLevel": 0.68, "country": "USA", "state": "CA", "city": "Sunnyvalue", "postalCode": "91234", "timestamp": "2022-11-18T12:23:58.189Z" } }
  4. Gehen Sie zum Abschnitt Ressourcenstandort und überprüfen Sie die vom AWS IoT Core Gerätestandort gemeldeten Geolokalisierungsinformationen. Sie können die Payload kopieren, um sie mit anderen Anwendungen und Apps zu verwenden. AWS -Service Beispielsweise können Sie Ihre geografischen Standortdaten mithilfe der Ort-Regelaktion an Amazon Location Service senden.

Auflösen des Gerätestandorts (API)

Verwenden Sie den AWS IoT Wireless API-Vorgang oder den get-position-estimateCLI-Befehl, um den Gerätestandort mithilfe der GetPositionEstimateAPI aufzulösen. Geben Sie die Nutzlast-Messungsdaten als Eingabe an und führen Sie die API-Operation aus, um den Gerätestandort aufzulösen.

Anmerkung

Die API-Operation GetPositionEstimate speichert keine Geräte- oder Statusinformationen und kann nicht zum Abrufen historischer Standortdaten verwendet werden. Er führt eine einmalige Operation durch, bei der die Messungsdaten aufgelöst und der geschätzte Standort erstellt werden. Um die Standortinformationen abzurufen, müssen Sie die Daten zur Nutzlast jedes Mal angeben, wenn Sie diese API-Operation ausführen.

Der folgende Befehl zeigt ein Beispiel für die Auflösung des Standorts mithilfe dieser API-Operation.

Anmerkung

Wenn Sie den CLI-Befehl get-position-estimate ausführen, müssen Sie die JSON-Ausgabedatei als erste Eingabe angeben. Diese JSON-Datei speichert die geschätzten Standortinformationen, die als Antwort von der CLI erhalten wurden, im GeoJSON-Format. Der folgende Befehl speichert beispielsweise die Standortinformationen in der Datei locationout.json.

aws iotwireless get-position-estimate locationout.json \ --ip IpAddress=""54.240.198.35"" \ --wi-fi-access-points \ MacAddress="A0:EC:F9:1E:32:C1",Rss=-75 \ MacAddress="A0:EC:F9:15:72:5E",Rss=-67

Dieses Beispiel umfasst sowohl Wi-Fi-Zugangspunkte als auch IP-Adressen als Messtypen. AWS IoT Core Der Gerätestandort wählt zwischen dem Wi-Fi-Solver und dem IP-Reverse-Lookup-Solver und wählt den Solver mit der höheren Genauigkeit aus.

Der aufgelöste Standort wird als Nutzlast zurückgegeben, die das GeoJSON-Format verwendet. Dieses Format wird für die Kodierung geografischer Datenstrukturen verwendet. Das Ergebnis wird dann in der Datei locationout.json gespeichert. Die Nutzlast enthält die WGS84-Geokoordinaten zu Breiten- und Längengrad, Daten zur Genauigkeit und zum Zuverlässigkeitsgrad, den Datentyp des Standorts und den Zeitstempel, zu dem der Standort gelöst wurde.

{ "coordinates": [ 13.37704086303711, 52.51865005493164 ], "type": "Point", "properties": { "verticalAccuracy": 707, "verticalConfidenceLevel": 0.68, "horizontalAccuracy": 389, "horizontalConfidenceLevel": 0.68, "country": "USA", "state": "CA", "city": "Sunnyvalue", "postalCode": "91234", "timestamp": "2022-11-18T14:03:57.391Z" } }

Fehlerbehebung beim Auflösen des Standorts

Wenn Sie versuchen, den Standort zu ermitteln, wird möglicherweise einer der folgenden Fehlercodes angezeigt. AWS IoT Core Der Gerätestandort generiert möglicherweise einen Fehler, wenn Sie den GetPositionEstimate API-Vorgang verwenden, oder es wird auf die Zeilennummer verwiesen, die dem Fehler in der AWS IoT Konsole entspricht.

  • 400-Fehler

    Dieser Fehler weist darauf hin, dass das Format der Geräte-Payload-JSON nicht anhand des AWS IoT Core Gerätestandorts überprüft werden kann. Der Fehler kann aus folgenden Gründen auftreten:

    • Die JSON-Messungsdaten sind falsch formatiert.

    • Die Nutzlast enthält nur die Informationen zum Zeitstempel.

    • Die Messungsdatenparameter, wie z. B. die IP-Adresse, sind ungültig.

    Um diesen Fehler zu beheben, überprüfen Sie, ob Ihre JSON-Datei korrekt formatiert ist und Daten von mindestens einem Messungstyp als Eingabe enthält. Wenn die IP-Adresse ungültig ist, finden Sie Informationen darüber, wie Sie eine gültige IP-Adresse zur Behebung des Fehlers angeben können, unter IP-Reverse-Lookup-Solver.

  • 403-Fehler

    Dieser Fehler weist darauf hin, dass Sie nicht über die erforderlichen Berechtigungen verfügen, um den API-Vorgang auszuführen oder die AWS IoT Konsole zum Abrufen des Gerätestandorts zu verwenden. Um diesen Fehler zu beheben, stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen verfügen, um diese Aktion auszuführen. Dieser Fehler kann auftreten, wenn Ihre AWS Management Console Sitzung oder Ihr AWS CLI Sitzungstoken abgelaufen sind. Um diesen Fehler zu beheben, aktualisieren Sie das Sitzungstoken, um das zu verwenden AWS CLI, oder melden Sie sich ab AWS Management Console und melden Sie sich dann mit Ihren Anmeldeinformationen an.

  • 404-Fehler

    Dieser Fehler weist darauf hin, dass keine Standortinformationen gefunden oder anhand AWS IoT Core des Gerätestandorts behoben wurden. Der Fehler kann beispielsweise aufgrund unzureichender Daten in der Eingabe von Messungsdaten auftreten. Beispielsweise:

    • Die Informationen zur MAC-Adresse oder zum Mobilfunkmast reichen nicht aus.

    • Die IP-Adresse ist nicht verfügbar, um den Standort zu suchen und abzurufen.

    • Die GNSS-Nutzlast ist nicht ausreichend.

    Um den Fehler in solchen Fällen zu beheben, überprüfen Sie, ob Ihre Messungsdaten ausreichende Informationen enthalten, um den Gerätestandort zu ermitteln.

  • 500-Fehler

    Dieser Fehler weist darauf hin, dass eine interne Serverausnahme aufgetreten ist, als AWS IoT Core  Device Location versucht hat, den Standort aufzulösen. Um diesen Fehler zu beheben, aktualisieren Sie die Sitzung und versuchen Sie erneut, die zu lösenden Messungsdaten zu senden.