

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 Gerätestandorts mithilfe der AWS IoT Core MQTT-Themen zum Gerätestandort
<a name="device-location-reserved-topics"></a>

Sie können reservierte MQTT-Themen verwenden, um mit der AWS IoT Core Gerätestandortfunktion die neuesten Standortinformationen für Ihre Geräte abzurufen.

## MQTT-Themen zum Format des Gerätestandorts
<a name="device-location-topics-format"></a>

Für reservierte Themen für den AWS IoT Core Gerätestandort wird das folgende Präfix verwendet:

`$aws/device_location/{customer_device_id}/`

Um ein vollständiges Thema zu erstellen, ersetzen Sie zunächst `customer_device_id` durch Ihre eindeutige ID, mit der Sie Ihr Gerät identifizieren. Wir empfehlen, dass Sie das angeben`WirelessDeviceId`, z. B. für LoRa WAN- und Sidewalk-Geräte, und`thingName`, ob Ihr Gerät als AWS IoT Ding registriert ist. Anschließend fügen Sie das Thema mit dem Themenbereich hinzu, z. B. `get_position_estimate` oder `get_position_estimate/accepted`, wie im folgenden Abschnitt gezeigt.

**Anmerkung**  
`{customer_device_id}` darf nur Buchstaben, Zahlen und Bindestriche enthalten. Wenn Sie Themen zum Gerätestandort abonnieren, können Sie nur das Pluszeichen (\$1) als Platzhalterzeichen verwenden. Sie können beispielsweise den Platzhalter `+` für `{customer_device_id}` verwenden, um die Standortinformationen für Ihre Geräte abzurufen. Wenn Sie das Thema `$aws/device_location/+/get_position_estimate/accepted` abonnieren, wird eine Nachricht mit den Standortinformationen für Geräte veröffentlicht, die mit einer beliebigen Geräte-ID übereinstimmen, sofern das Problem erfolgreich gelöst wurde.

Im Folgenden finden Sie die reservierten Themen, die für die Interaktion mit AWS IoT Core Device Location verwendet werden.


**MQTT-Themen zum Gerätestandort**  

| Thema | Zulässige Operationen | Description | 
| --- | --- | --- | 
|  \$1aws/device\$1location/ /get\$1position\$1estimate *customer\$1device\$1id*  | Veröffentlichen |  Ein Gerät veröffentlicht zu diesem Thema, um die gescannten Rohmessdaten nach Gerätestandort aufzulösen. AWS IoT Core   | 
|  \$1aws/device\$1location/ /get\$1position\$1estimate/accepted *customer\$1device\$1id*  | Abonnieren |  AWS IoT Core Der Gerätestandort veröffentlicht die Standortinformationen zu diesem Thema, wenn der Gerätestandort erfolgreich ermittelt wurde.  | 
|  \$1aws/device\$1location/ /get\$1position\$1estimate/rejected *customer\$1device\$1id*  | Abonnieren |  AWS IoT Core Device Location veröffentlicht die Fehlerinformationen zu diesem Thema, wenn der Gerätestandort nicht behoben werden kann.  | 

## Richtlinie für MQTT-Themen zum Gerätestandort
<a name="device-location-topics-policy"></a>

Um Nachrichten zu Themen rund um den Gerätestandort zu empfangen, muss Ihr Gerät eine Richtlinie verwenden, die es ihm ermöglicht, eine Verbindung zum AWS IoT Gerätegateway herzustellen und die MQTT-Themen zu abonnieren.

Im Folgenden finden Sie ein Beispiel für die Richtlinie, die für den Empfang von Nachrichten zu verschiedenen Themen erforderlich ist.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Publish"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate/accepted",
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate/rejected"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/device_location/device-123/get_position_estimate/accepted",
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/device_location/device-123/get_position_estimate/rejected"
            ]
        }
    ]
}
```

## Themen zum Gerätestandort und Nutzlast
<a name="device-location-topics-payload"></a>

Im Folgenden werden die Themen AWS IoT Core zum Gerätestandort, das Format ihrer Nachrichtennutzdaten und eine Beispielrichtlinie für jedes Thema beschrieben.

**Topics**
+ [/get\$1position\$1estimate](#get-position-estimate)
+ [/get\$1position\$1estimate/accepted](#get-position-estimate-accepted)
+ [/get\$1position\$1estimate/rejected](#get-position-estimate-rejected)

### /get\$1position\$1estimate
<a name="get-position-estimate"></a>

Veröffentlichen Sie eine Nachricht zu diesem Thema, um die Rohmessdaten des Geräts abzurufen und nach AWS IoT Core Gerätestandort aufzulösen.

```
$aws/device_location/customer_device_id/get_position_estimate
```

AWS IoT Core Device Location antwortet mit der Veröffentlichung entweder auf [/get\$1position\$1estimate/accepted](#get-position-estimate-accepted) oder[/get\$1position\$1estimate/rejected](#get-position-estimate-rejected).

**Anmerkung**  
Bei der zu diesem Thema veröffentlichten Nachricht muss es sich um eine gültige JSON-Nutzlast handeln. Wenn die Eingabenachricht kein gültiges JSON-Format hat, erhalten Sie keine Antwort. Weitere Informationen finden Sie unter [Nachrichtennutzlast](#get-position-estimate-payload).

#### Nachrichten-Payload
<a name="get-position-estimate-payload"></a>

Das Format der Nachrichtennutzdaten folgt einer ähnlichen Struktur wie der Anforderungstext für den AWS IoT Wireless-API-Vorgang, [https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html). Sie enthält Folgendes:
+ Eine optionale `Timestamp`-Zeichenfolge, die dem Datum und der Uhrzeit entspricht, an denen der Standort aufgelöst wurde. Die `Timestamp`-Zeichenfolge kann eine Mindestlänge von 1 und eine Maximallänge von 10 haben.
+ Eine optionale `MessageId`-Zeichenfolge, die verwendet werden kann, um die Anforderung der Antwort zuzuordnen. Wenn Sie diese Zeichenfolge angeben, enthält die Nachricht, die in den Themen `get_position_estimate/accepted` oder `get_position_estimate/rejected` veröffentlicht wird, diese `MessageId`. Die `MessageID`-Zeichenfolge kann eine Mindestlänge von 1 und eine Maximallänge von 256 haben.
+ Die Messungsdaten des Geräts, das mindestens einen der folgenden Messungstypen enthält:
  + [https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_WiFiAccessPoint.html](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_WiFiAccessPoint.html)
  + [https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_CellTowers.html](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_CellTowers.html)
  + [https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_Ip.html](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_Ip.html)
  + [https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_Gnss.html](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_Gnss.html)

Im Folgenden finden Sie ein Beispiel für eine Nachrichtennutzlast.

```
{
    "Timestamp": "1664313161",               
    "MessageId": "ABCD1",                
    "WiFiAccessPoints":  [                           
        {
            "MacAddress": "A0:EC:F9:1E:32:C1",                   
            "Rss": -66 
        }
    ],    
    "Ip":{
        "IpAddress": "54.192.168.0"                         
    },
    "Gnss":{
      "Payload":"8295A614A2029517F4F77C0A7823B161A6FC57E25183D96535E3689783F6CA48",
      "CaptureTime":1354393948
    }
}
```

#### Beispielrichtline
<a name="get-position-estimate-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Publish"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate"
            ]
        }
    ]
}
```

### /get\$1position\$1estimate/accepted
<a name="get-position-estimate-accepted"></a>

AWS IoT Core Device Location veröffentlicht eine Antwort zu diesem Thema, wenn die aufgelösten Standortinformationen für Ihr Gerät zurückgesendet werden. Die Standortinformationen werden im [GeoJSON-Format](https://geojson.org/) zurückgegeben.

```
$aws/device_location/customer_device_id/get_position_estimate/accepted
```

Im Folgenden werden die Nachrichtennutzlast und ein Beispiel für eine Richtlinie dargestellt.

#### Nachrichtennutzlast
<a name="get-position-estimate-accepted-payload"></a>

Im Folgenden sehen Sie ein Beispiel für die Nachrichtennutzlast im GeoJSON-Format. Wenn Sie `MessageId` in Ihren Rohmessdaten ein angegeben haben und der AWS IoT Core Gerätestandort die Standortinformationen erfolgreich aufgelöst hat, gibt die Nachrichtennutzlast dieselben `MessageId` Informationen zurück.

```
{
    "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",
        "messageId": "ABCD1"
    }
}
```

#### Beispielrichtline
<a name="get-position-estimate-accepted-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/device_location/device-123/get_position_estimate/accepted"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate/accepted"
            ]
        }
    ]
}
```

### /get\$1position\$1estimate/rejected
<a name="get-position-estimate-rejected"></a>

AWS IoT Core Device Location veröffentlicht eine Fehlermeldung zu diesem Thema, wenn der Gerätestandort nicht aufgelöst werden kann.

```
$aws/device_location/customer_device_id/get_position_estimate/rejected
```

Im Folgenden sehen Sie die Nachrichtennutzlast und ein Beispiel für die Richtlinie. Weitere Informationen zu den Fehlern finden Sie unter [Fehlerbehebung beim Auflösen des Standorts](device-location-resolve-solvers.md#location-resolve-troubleshoot).

#### Nachrichtennutzlast
<a name="get-position-estimate-rejected-payload"></a>

Im Folgenden finden Sie ein Beispiel für die Nachrichten-Payload, die den Fehlercode und die Meldung enthält, aus der hervorgeht, warum AWS IoT Core Device Location die Standortinformationen nicht auflösen konnte. Wenn Sie `MessageId` bei der Bereitstellung Ihrer Rohmessdaten ein angegeben haben und der AWS IoT Core Gerätestandort die Standortinformationen nicht auflösen konnte, werden dieselben `MessageId` Informationen in der Nachrichtennutzlast zurückgegeben.

```
{
    "errorCode": 500,
    "errorMessage":"Internal server error",
    "messageId": "ABCD1"
}
```

#### Beispielrichtline
<a name="get-position-estimate-rejected-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iot:Subscribe"
      ],
      "Resource": [
        "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/device_location/device-123/get_position_estimate/rejected"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iot:Receive"
      ],
      "Resource": [
        "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate/rejected"
      ]
    }
  ]
}
```