

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# AWS IoT Core Localização do dispositivo
<a name="device-location"></a>


|  | 
| --- |
| Antes de usar o recurso de localização do AWS IoT Core dispositivo, revise os Termos e Condições desse recurso. Observe que AWS pode transmitir seus parâmetros de solicitação de pesquisa de geolocalização, como os dados de localização usados para realizar pesquisas e outras informações para o provedor de dados terceirizado escolhido, que podem estar fora do Região da AWS que você está usando atualmente. O provedor terceirizado e o solucionador a serem usados são escolhidos com base na carga útil de entrada recebida. Para obter mais informações, consulte os [Termos de Serviço da AWS](https://aws.amazon.com/service-terms). | 

Use a localização AWS IoT Core do dispositivo para testar a localização dos seus dispositivos de IoT usando solucionadores de terceiros. Os *solucionadores* são algoritmos fornecidos por fornecedores terceiros que resolvem dados de medição e estimam a localização do dispositivo. Ao identificar a localização dos dispositivos, você pode rastreá-los e depurá-los em campo para solucionar quaisquer problemas.

Os dados de medição coletados de várias fontes são resolvidos, e as informações de localização geográfica são relatadas como uma carga útil do [GeoJSON](https://geojson.org/). O formato GeoJSON é um formato usado para codificar estruturas de dados geográficos. A carga contém as coordenadas de latitude e longitude da localização do seu dispositivo, que são baseadas no sistema de [coordenadas do Sistema Geodésico Mundial](https://gisgeography.com/wgs84-world-geodetic-system/) (). WGS84

**Topics**
+ [Tipos de medição e solucionadores](#location-measurement-types)
+ [Como funciona a localização do AWS IoT Core dispositivo](#location-how-works)
+ [Como usar a localização AWS IoT Core do dispositivo](#location-how-use)
+ [Como resolver a localização dos dispositivos de IoT](device-location-resolve-solvers.md)
+ [Resolvendo a localização do dispositivo usando a localização do AWS IoT Core dispositivo (tópicos do MQTT)](device-location-reserved-topics.md)
+ [Solucionadores de localização e carga do dispositivo](device-location-solvers-payload.md)

## Tipos de medição e solucionadores
<a name="location-measurement-types"></a>

AWS IoT Core A Device Location faz parceria com fornecedores terceirizados para resolver os dados de medição e fornecer uma localização estimada do dispositivo. A tabela a seguir mostra os tipos de medição e os solucionadores de localização de terceiros, além de informações sobre os dispositivos compatíveis. Para obter informações sobre dispositivos LoRa WAN e como configurar a localização do dispositivo para eles, consulte [Configurando a posição dos recursos de LoRa WAN](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/lorawan-configure-location.html).

**nota**  
Dispositivos gerais de IoT e dispositivos Sidewalk podem usar os tópicos do MQTT de localização do dispositivo para obter as informações de localização. Para tipos de medição de endereço Wi-Fi, celular e IP, se os dispositivos publicarem os dados de medição nos [tópicos reservados](device-location-reserved-topics.md) no formato GeoJSON definido AWS IoT Core , a localização do dispositivo poderá resolver a localização do dispositivo. Para o tipo de medição GNSS, o dispositivo deve ter o LR11xx chip para escanear os dados de medição para obter as informações de localização resolvidas usando o solucionador GNSS. Para obter informações sobre como obter informações de localização para dispositivos LoRa WAN, consulte [Configurando a posição dos recursos de LoRa WAN](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/lorawan-configure-location.html) na *documentação sobre AWS IoT conexões sem fio*.


**Tipos de medição e solucionadores**  

| Tipo de medição | Números de terceiros | Dispositivos compatíveis | 
| --- | --- | --- | 
| Pontos de acesso Wi-Fi | Solucionador baseado em Wi-Fi  | Dispositivos gerais de IoT, LoRa WAN e dispositivos Amazon Sidewalk | 
| Torres de rádio celular: dados GSM, LTE, CDMA, SCDMA, WCMDA e TD-SCDMA | Solucionador baseado em celular  | Dispositivos gerais de IoT, LoRa WAN e dispositivos Amazon Sidewalk | 
| IP address (endereço de IP) | Solucionador de pesquisa reversa de IP | Qualquer dispositivo de IoT que se conecte por TCP/IP | 
| Dados de varredura de GNSS (mensagens NAV) | Solucionador GNSS | Dispositivos gerais de IoT, LoRa WAN e dispositivos Amazon Sidewalk | 
| Bluetooth Low Energy (BLE) | Solucionador baseado em BLE | Dispositivos Amazon Sidewalk | 

Para obter mais informações sobre os solucionadores de localização e exemplos que mostram a carga do dispositivo para os vários tipos de medição, consulte [Solucionadores de localização e carga do dispositivo](device-location-solvers-payload.md).

## Como funciona a localização do AWS IoT Core dispositivo
<a name="location-how-works"></a>

O diagrama a seguir mostra como a localização do AWS IoT Core dispositivo coleta dados de medição e resolve as informações de localização dos seus dispositivos.

![\[Imagem mostrando como a localização AWS IoT Core do dispositivo usa seus dados brutos de medição e resolve a localização do dispositivo.\]](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/images/iot-device-location.png)


As etapas a seguir mostram como a localização AWS IoT Core do dispositivo funciona.

1. 

**Receba dados de medição**

   Os dados brutos de medição relacionados ao local do dispositivo são enviados primeiro do dispositivo. Os dados de medição são especificados como uma carga JSON.

1. 

**Processar dados de medição**

   Os dados de medição são processados e o AWS IoT Core Device Location escolhe os dados de medição a serem usados, que podem ser Wi-Fi, celular, digitalização GNSS ou informações de endereço IP.

1. 

**Escolha o solucionador**

   O solucionador terceiro é escolhido com base nos dados de medição. Por exemplo, se os dados de medição contiverem informações de Wi-Fi e endereço IP, ele escolherá o solucionador Wi-Fi e o solucionador de pesquisa reversa de IP.

1. 

**Obtenha a localização resolvida**

   Uma solicitação de API é enviada aos provedores de solução solicitando a resolução do local. AWS IoT Core A localização do dispositivo então obtém as informações estimadas de geolocalização dos solucionadores.

1. 

**Escolha o local resolvido**

   As informações de localização resolvidas e sua precisão são comparadas, e a localização do AWS IoT Core dispositivo escolhe os resultados da geolocalização com a maior precisão.

1. 

**Informações de local de saída**

   As informações de localização geográfica são enviadas para você como uma carga útil GeoJSON. A carga contém as coordenadas WGS84 geográficas, as informações de precisão, os níveis de confiança e a data e hora em que a localização resolvida foi obtida.

## Como usar a localização AWS IoT Core do dispositivo
<a name="location-how-use"></a>

As etapas a seguir mostram como usar a localização AWS IoT Core do dispositivo.

1. 

**Forneça dados de medição**

   Especifique os dados brutos de medição relacionados à localização do dispositivo como uma carga JSON. Para recuperar os dados de medição da carga útil, acesse os registros do dispositivo ou use os registros e copie CloudWatch as informações dos dados da carga útil. A carga JSON deve conter um ou mais tipos de medição de dados. Para exemplos que mostram o formato da carga de vários solucionadores, consulte [Solucionadores de localização e carga do dispositivo](device-location-solvers-payload.md).

1. 

**Resolver informações de localização**

   Usando a página [Localização do dispositivo](https://console.aws.amazon.com/iot/home#/device-location-test) no AWS IoT console ou a operação da [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)API, transmita os dados de medição da carga útil e resolva a localização do dispositivo. AWS IoT Core Em seguida, a localização do dispositivo escolhe o solucionador com a maior precisão e relata a localização do dispositivo. Para obter mais informações, consulte [Como resolver a localização dos dispositivos de IoT](device-location-resolve-solvers.md).

1. 

**Copiar informações de localização**

   Verifique as informações de geolocalização que foram resolvidas pelo AWS IoT Core Device Location e relatadas como uma carga GeoJSON. Você pode copiar a carga útil para uso com seus aplicativos e outros AWS service (Serviço da AWS). Por exemplo, você pode enviar seus dados de localização geográfica para o Amazon Location Service usando a ação de [Local](location-rule-action.md) AWS IoT regra.

Os tópicos a seguir mostram como usar a localização AWS IoT Core do dispositivo e exemplos de carga útil de localização do dispositivo.
+ [Como resolver a localização dos dispositivos de IoT](device-location-resolve-solvers.md)
+ [Solucionadores de localização e carga do dispositivo](device-location-solvers-payload.md)

# Como resolver a localização dos dispositivos de IoT
<a name="device-location-resolve-solvers"></a>

Use a localização AWS IoT Core do dispositivo para decodificar os dados de medição de seus dispositivos e resolver a localização do dispositivo usando solucionadores de terceiros. A localização resolvida é gerada como uma carga GeoJSON com as coordenadas geográficas e informações de precisão. Você pode resolver a localização do seu dispositivo no AWS IoT console, na API AWS IoT sem fio ou AWS CLI.

**Topics**
+ [Como resolver o local do dispositivo (console)](#location-resolve-console)
+ [Como resolver o local do dispositivo (API)](#location-resolve-api)
+ [Como solucionar problemas com erros ao resolver a localização](#location-resolve-troubleshoot)

## Como resolver o local do dispositivo (console)
<a name="location-resolve-console"></a>

Para resolver o local do dispositivo (console)

1. Acesse a página [Localização do dispositivo](https://console.aws.amazon.com/iot/home#/device-location-test) no AWS IoT console.

1. Obtenha os dados de medição da carga útil dos registros do seu dispositivo ou dos CloudWatch registros e insira-os na seção **Resolver posição via carga útil**.

   O código a seguir mostra um exemplo de carga JSON. A carga contém dados de medição de celular e Wi-Fi. Se a carga contiver tipos adicionais de dados de medição, o solucionador com a melhor precisão será usado. Para ter mais informações e exemplos de carga, consulte [Solucionadores de localização e carga do dispositivo](device-location-solvers-payload.md).
**nota**  
A carga JSON deve conter pelo menos um tipo de dados de medição.

   ```
   {
       "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
                   }
               ]
           }]
       }
   }
   ```

1. Para resolver as informações de local, escolha **Resolver**.

   As informações de localização são do tipo blob e retornadas como uma carga que usa o formato GeoJSON, que é um formato usado para codificar estruturas de dados geográficos. A carga contém:
   + As coordenadas WGS84 geográficas, que incluem as informações de latitude e longitude. Também pode incluir informações de altitude.
   + O tipo de informação de localização relatada, como **Ponto**. [Um tipo de localização de ponto representa a localização como WGS84 latitude e longitude, codificada como um ponto GeoJSON.](https://geojson.org/geojson-spec.html#point)
   + As informações de precisão horizontal e vertical, que indicam a diferença, em metros, entre as informações de local estimadas pelos solucionadores e o local real do dispositivo.
   + O nível de confiança, que indica a incerteza na resposta da estimativa de localização. O valor padrão é 0,68, o que indica uma probabilidade de 68% de que o local real do dispositivo esteja dentro do raio de incerteza do local estimado.
   + A cidade, o estado, o país e o código postal em que o dispositivo está localizado. Essas informações serão relatadas somente quando o solucionador de pesquisa reversa de IP for usado.
   + As informações de registro de data e hora, que correspondem à data e à hora em que o local foi resolvido. Ele usa o formato de registro de data/hora Unix.

   O código a seguir mostra um exemplo de carga GeoJSON retornada pela resolução da localização.
**nota**  
Se AWS IoT Core o Device Location reportar erros ao tentar resolver o local, você poderá solucionar os erros e resolver o local. Para obter mais informações, consulte [Como solucionar problemas com erros ao resolver a localização](#location-resolve-troubleshoot).

   ```
   {
       "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"
       }
   }
   ```

1. Vá para a seção **Localização do recurso** e verifique as informações de geolocalização relatadas pela Localização AWS IoT Core do dispositivo. Você pode copiar a carga útil para uso com outros aplicativos e AWS service (Serviço da AWS) s. Por exemplo, você pode usar a [Local](location-rule-action.md) para enviar os dados de localização geográfica para o Amazon Location Service.

## Como resolver o local do dispositivo (API)
<a name="location-resolve-api"></a>

Para resolver a localização do dispositivo usando a API AWS IoT sem fio, use a operação da [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)API ou o comando da [get-position-estimate](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-position-estimate.html)CLI. Especifique os dados de medição da carga como entrada e execute a operação da API para resolver o local do dispositivo.

**nota**  
A operação da API `GetPositionEstimate` não armazena nenhuma informação de dispositivo ou estado e não pode ser usada para recuperar dados históricos de localização. Ele executa uma operação única que resolve os dados de medição e produz a localização estimada. Para recuperar as informações de localização, você deve especificar as informações da carga sempre que realizar essa operação de API.

O comando a seguir mostra um exemplo de como resolver a localização usando essa operação de API.

**nota**  
Ao executar o comando da CLI `get-position-estimate`, você deve especificar o arquivo JSON de saída como a primeira entrada. Esse arquivo JSON armazenará as informações de localização estimadas obtidas como resposta da CLI no formato GeoJSON. Por exemplo, o comando a seguir armazena as informações de localização no *locationout.json* arquivo.

```
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
```

Este exemplo inclui pontos de acesso Wi-Fi e endereço IP como tipos de medição. AWS IoT Core A localização do dispositivo escolhe entre o solucionador Wi-Fi e o solucionador de pesquisa reversa de IP e seleciona o solucionador com maior precisão.

A localização resolvida é retornada como uma carga que usa o formato GeoJSON, que é um formato usado para codificar estruturas de dados geográficos. Em seguida, ele é armazenado no *locationout.json* arquivo. A carga contém as coordenadas de WGS84 latitude e longitude, informações de precisão e nível de confiança, o tipo de dados de localização e a data e hora em que a localização foi resolvida.

```
{
    "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"
    }
}
```

## Como solucionar problemas com erros ao resolver a localização
<a name="location-resolve-troubleshoot"></a>

Ao tentar resolver o local, você pode ver qualquer um dos códigos de erro a seguir. AWS IoT Core A localização do dispositivo pode gerar um erro ao usar a operação da `GetPositionEstimate` API ou então se referir ao número da linha correspondente ao erro no AWS IoT console.
+ 

**Erro 400**  
Esse erro indica que o formato da carga útil do dispositivo JSON não pode ser validado pela AWS IoT Core localização do dispositivo. O erro pode ocorrer porque:
  + Os dados de medição do JSON estão formatados incorretamente.
  + A carga contém somente as informações do registro de data/hora.
  + Os parâmetros dos dados de medição, como o endereço IP, não são válidos.

  Para resolver esse erro, verifique se o JSON está formatado corretamente e contém dados de um ou mais tipos de medição como entrada. Se o endereço IP for inválido, para obter informações sobre como você pode fornecer um endereço IP válido para resolver o erro, consulte [Solucionador de pesquisa reversa de IP](device-location-solvers-payload.md#location-solvers-ip).
+ 

**Erro 403**  
Esse erro indica que você não tem as permissões para realizar a operação da API ou usar o AWS IoT console para recuperar a localização do dispositivo. Para resolver esse erro, verifique se você tem as permissões necessárias para realizar essa ação. Esse erro pode ocorrer se sua Console de gerenciamento da AWS sessão ou seu token de AWS CLI sessão tiverem expirado. Para resolver esse erro, atualize o token da sessão para usar o. ou saia do Console de gerenciamento da AWS e AWS CLI, em seguida, faça login usando suas credenciais.
+ 

**Erro 404**  
Esse erro indica que nenhuma informação de localização foi encontrada ou resolvida pela Localização AWS IoT Core do dispositivo. O erro pode ocorrer devido a casos como dados insuficientes na entrada de dados de medição. Por exemplo:
  + As informações do endereço MAC ou da torre celular não são suficientes.
  + O endereço IP não está disponível para pesquisar e recuperar a localização.
  + A carga do GNSS não é suficiente.

  Para resolver o erro nesses casos, verifique se os dados de medição contêm informações suficientes necessárias para resolver o local do dispositivo.
+ 

**Erro 500**  
Esse erro indica que ocorreu uma exceção interna do servidor quando Local do dispositivo AWS IoT Core tentou resolver o local. Para tentar corrigir esse erro, atualize a sessão e tente enviar novamente os dados de medição a serem resolvidos.

# Resolvendo a localização do dispositivo usando a localização do AWS IoT Core dispositivo (tópicos do MQTT)
<a name="device-location-reserved-topics"></a>

Você pode usar tópicos reservados do MQTT para obter as informações de localização mais recentes para seus dispositivos com o recurso Localização do AWS IoT Core dispositivo.

## Formato dos tópicos MQTT de local do dispositivo
<a name="device-location-topics-format"></a>

Os tópicos reservados para a localização do AWS IoT Core dispositivo usam o seguinte prefixo:

`$aws/device_location/{customer_device_id}/`

Para criar um tópico completo, primeiro substitua `customer_device_id` pelo ID exclusivo que você usa para identificar o dispositivo. Recomendamos que você especifique o.`WirelessDeviceId`, como para dispositivos LoRa WAN e Sidewalk, e`thingName`, se o seu dispositivo está registrado como AWS IoT algo. Em seguida, você acrescenta o tópico ao esboço do tópico, como `get_position_estimate` ou `get_position_estimate/accepted`, conforme mostrado na seção a seguir.

**nota**  
O `{customer_device_id}` contém somente letras minúsculas, números e traços. Ao assinar tópicos de local do dispositivo, você só pode usar o sinal de adição (\$1) como um caractere curinga. Por exemplo, você pode usar o curinga `+` para o `{customer_device_id}` para obter as informações de localização dos dispositivos. Quando você assina o tópico `$aws/device_location/+/get_position_estimate/accepted`, uma mensagem é publicada com as informações de localização dos dispositivos que correspondem a qualquer ID do dispositivo, caso tenha sido resolvida com sucesso.

A seguir estão os tópicos reservados usados para interagir com a localização AWS IoT Core do dispositivo.


**Tópicos MQTT de local do dispositivo**  

| Tópico | Operações permitidas | Description | 
| --- | --- | --- | 
|  \$1 aws/device\$1location/ /get\$1position\$1estimate *customer\$1device\$1id*  | Publicar |  Um dispositivo publica este tópico para que os dados brutos de medição digitalizados sejam resolvidos pela localização AWS IoT Core do dispositivo.  | 
|  \$1 aws/device\$1location/ /get\$1position\$1estimate/accepted *customer\$1device\$1id*  | Assinar |  AWS IoT Core A localização do dispositivo publica as informações de localização neste tópico quando resolve com êxito a localização do dispositivo.  | 
|  \$1 aws/device\$1location/ /get\$1position\$1estimate/rejeitado *customer\$1device\$1id*  | Assinar |  AWS IoT Core A localização do dispositivo publica as informações de erro neste tópico quando não consegue resolver a localização do dispositivo.  | 

## Política para tópicos MQTT de local do dispositivo
<a name="device-location-topics-policy"></a>

Para receber mensagens de tópicos de localização do dispositivo, seu dispositivo deve usar uma política que permita que ele se conecte ao gateway do AWS IoT dispositivo e assine os tópicos do MQTT.

Veja a seguir um exemplo da política necessária para receber mensagens para os vários tópicos.

****  

```
{
    "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"
            ]
        }
    ]
}
```

## Tópicos de local do dispositivo e carga
<a name="device-location-topics-payload"></a>

Veja a seguir os tópicos de localização do AWS IoT Core dispositivo, o formato da carga útil da mensagem e um exemplo de política para cada tópico.

**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>

Publique uma mensagem neste tópico para que os dados brutos de medição do dispositivo sejam resolvidos pela localização AWS IoT Core do dispositivo.

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

AWS IoT Core A localização do dispositivo responde publicando em um [/get\$1position\$1estimate/accepted](#get-position-estimate-accepted) ou[/get\$1position\$1estimate/rejected](#get-position-estimate-rejected).

**nota**  
A mensagem publicada neste tópico deve ser uma carga JSON válida. Se a mensagem de entrada não estiver no formato JSON válido, você não receberá nenhuma resposta. Para obter mais informações, consulte [Carga da mensagem](#get-position-estimate-payload).

#### Carga útil da mensagem
<a name="get-position-estimate-payload"></a>

O formato da carga útil da mensagem segue uma estrutura semelhante ao corpo da solicitação de operação da API AWS IoT sem fio, [https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html). Ela contém:
+ Uma string `Timestamp` opcional, que corresponde à data e hora em que a localização foi resolvida. A string `Timestamp` pode ter um comprimento mínimo de 1 e um máximo de 10.
+ Uma string `MessageId` opcional, que pode ser usada para mapear a solicitação para a resposta. Se você especificar essa string, a mensagem publicada nos tópicos `get_position_estimate/accepted` ou `get_position_estimate/rejected` conterá esse `MessageId`. A string `MessageID` pode ter um comprimento mínimo de 1 e um máximo de 256.
+ Os dados de medição do dispositivo que contém um ou mais dos seguintes tipos de medição:
  + [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)

Veja a seguir um exemplo de carga de mensagem.

```
{
    "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
    }
}
```

#### Exemplo de política
<a name="get-position-estimate-policy"></a>

Veja a seguir um exemplo da política necessária:

****  

```
{
    "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 A localização do dispositivo publica uma resposta a esse tópico ao retornar as informações de localização resolvidas do seu dispositivo. As informações de localização são retornadas no [formato GeoJSON](https://geojson.org/).

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

Veja a seguir a carga da mensagem e um exemplo de política.

#### Carga útil da mensagem
<a name="get-position-estimate-accepted-payload"></a>

O exemplo a seguir é da carga da mensagem no formato GeoJSON. Se você especificou a `MessageId` em seus dados brutos de medição e a localização do AWS IoT Core dispositivo resolveu as informações de localização com êxito, a carga da mensagem retornará as mesmas `MessageId` informações.

```
{
    "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"
    }
}
```

#### Exemplo de política
<a name="get-position-estimate-accepted-policy"></a>

Veja a seguir um exemplo da política necessária:

****  

```
{
    "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 A localização do dispositivo publica uma resposta de erro para esse tópico quando não consegue resolver a localização do dispositivo.

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

Veja a seguir a carga da mensagem e um exemplo de política. Para obter mais informações sobre os erros, consulte [Como solucionar problemas com erros ao resolver a localização](device-location-resolve-solvers.md#location-resolve-troubleshoot).

#### Carga útil da mensagem
<a name="get-position-estimate-rejected-payload"></a>

Veja a seguir um exemplo da carga útil da mensagem que fornece o código de erro e a mensagem, indicando por que a localização do AWS IoT Core dispositivo falhou ao resolver as informações de localização. Se você especificou um `MessageId` ao fornecer seus dados de medição brutos e a localização do AWS IoT Core dispositivo falhar em resolver as informações de localização, as mesmas `MessageId` informações serão retornadas na carga útil da mensagem.

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

#### Exemplo de política
<a name="get-position-estimate-rejected-policy"></a>

Veja a seguir um exemplo da política necessária:

****  

```
{
  "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"
      ]
    }
  ]
}
```

# Solucionadores de localização e carga do dispositivo
<a name="device-location-solvers-payload"></a>

Os solucionadores de localização são algoritmos que podem ser usados para resolver a localização de seus dispositivos de IoT. AWS IoT Core A localização do dispositivo é compatível com os seguintes solucionadores de localização. Você verá exemplos do formato de carga JSON para esses tipos de medição, os dispositivos suportados pelo solucionador e como a localização é resolvida.

Para resolver o local do dispositivo, especifique um ou mais desses tipos de dados de medição. Uma única localização resolvida será retornada para todos os dados de medição combinados.

**Topics**
+ [Solucionador baseado em Wi-Fi](#location-solvers-wifi)
+ [Solucionador baseado em celular](#location-solvers-cellular)
+ [Solucionador de pesquisa reversa de IP](#location-solvers-ip)
+ [Solucionador GNSS](#location-solvers-gnss)
+ [Solucionador BLE para dispositivos habilitados para Amazon Sidewalk](#location-solvers-ble)

## Solucionador baseado em Wi-Fi
<a name="location-solvers-wifi"></a>

Use o solucionador baseado em Wi-Fi para resolver a localização usando as informações de varredura dos pontos de acesso Wi-Fi. O solucionador suporta a tecnologia WLAN e pode ser usado para calcular a localização do dispositivo para dispositivos IoT gerais conectados por TCP/IP, dispositivos LoRa sem fio WAN e dispositivos habilitados para Amazon Sidewalk. 

Os dispositivos LoRa WAN devem ter o chipset LoRa Edge, que pode decodificar as informações de digitalização Wi-Fi recebidas. LoRa O Edge é uma plataforma de potência ultrabaixa que integra um LoRa transceptor de longo alcance, um scanner GNSS de várias constelações e um scanner MAC Wi-Fi passivo voltado para aplicativos de geolocalização. Quando uma mensagem de uplink é recebida do dispositivo, os dados da varredura de Wi-Fi são enviados para a Localização do AWS IoT Core dispositivo, e a localização é estimada com base nos resultados da verificação de Wi-Fi. As informações decodificadas são passadas para o solucionador baseado em Wi-Fi para recuperar as informações de localização.

Para saber mais sobre como resolver dados de localização para dispositivos habilitados para Amazon Sidewalk, visite o guia do [AWS IoT Core para Amazon Sidewalk desenvolvedor](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/iot-sidewalk.html).

### Exemplo de carga de solucionador baseado em Wi-Fi
<a name="location-solvers-wifi-payload"></a>

O código a seguir mostra um exemplo da carga JSON do dispositivo que contém os dados de medição. Quando AWS IoT Core o Device Location recebe esses dados como entrada, ele envia uma solicitação HTTP ao provedor do solucionador para resolver as informações de localização. Para recuperar as informações, especifique valores para o endereço MAC e intensidade do sinal recebido (RSS). Para fazer isso, forneça a carga JSON usando esse formato ou use o parâmetro de [WiFiAccessPointsobjeto](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_WiFiAccessPoint.html) da operação da [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)API.

```
{
    "Timestamp": 1664313161,    // optional
    "WiFiAccessPoints": [ 
        {
            "MacAddress": "A0:EC:F9:1E:32:C1",  // required
            "Rss": -75                          // required
        }
    ]
}
```

## Solucionador baseado em celular
<a name="location-solvers-cellular"></a>

 Você pode usar o solucionador baseado em celular para resolver a localização usando dados de medição obtidos das torres de rádio celular. O solucionador oferece suporte às tecnologias a seguir. Uma única informação de localização resolvida é obtida, mesmo se você incluir dados de medição de qualquer uma ou de todas essas tecnologias.
+ GSM
+ CDMA
+ WCDMA
+ TD-SCDMA
+ LTE

### Exemplos de carga de solucionador baseado em celular
<a name="location-solvers-cellular-payload"></a>

O código a seguir mostra um exemplo da carga JSON do dispositivo que contém os dados de medição celular. Quando AWS IoT Core o Device Location recebe esses dados como entrada, ele envia uma solicitação HTTP ao provedor do solucionador para resolver as informações de localização. Para recuperar as informações, você fornece a carga JSON usando esse formato no console ou especifica valores para o [CellTowers](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html#iotwireless-GetPositionEstimate-request-CellTowers)parâmetro da operação da [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)API. Você pode fornecer os dados de medição especificando valores para parâmetros usando qualquer uma ou todas essas tecnologias celulares.

#### Evolução de longo prazo (LTE)
<a name="location-solvers-cellular-lte"></a>

Ao usar esses dados de medição, você deve especificar informações como a rede e o código do país da rede móvel e parâmetros adicionais opcionais, incluindo informações sobre o ID da localização. Veja a seguir um exemplo do formato da carga. Para mais informações sobre esses parâmetros, consulte [Objeto LTE](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_LteObj.html).

```
{
    "Timestamp": 1664313161,           // optional 
    "CellTowers": {
        "Lte": [
        {
          "Mcc": int,                   // required
          "Mnc": int,                   // required
          "EutranCid": int,             // required. Make sure that you use int for EutranCid.
          "Tac": int,                   // optional
          "LteLocalId": {               // optional
              "Pci": int,               // required 
              "Earfcn": int,            // required 
          },
          "LteTimingAdvance": int,      // optional 
          "Rsrp": int,                  // optional 
          "Rsrq": float,                // optional 
          "NrCapable": boolean,         // optional 
          "LteNmr": [                   // optional
                {
                    "Pci": int,         // required 
                    "Earfcn": int,      // required 
                    "EutranCid": int,   // required
                    "Rsrp": int,        // optional 
                    "Rsrq": float       // optional 
                }
            ]
         }
      ] 
   }
}
```

#### Sistema Global de Comunicações Móveis (GSM)
<a name="location-solvers-cellular-gsm"></a>

Ao usar esses dados de medição, você deve especificar informações como a rede e o código do país da rede móvel, informações de estação base e parâmetros adicionais opcionais. Veja a seguir um exemplo do formato da carga. Para obter mais informações sobre esses parâmetros, consulte [Objeto GSM](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GsmObj.html).

```
{   
    "Timestamp": 1664313161,           // optional
    "CellTowers": {
        "Gsm": [ 
        {
          "Mcc": int,                   // required
          "Mnc": int,                   // required
          "Lac": int,                   // required
          "GeranCid": int,              // required
          "GsmLocalId": {               // optional
              "Bsic": int,              // required 
              "Bcch": int,              // required 
          },
          "GsmTimingAdvance": int,      // optional
          "RxLevel": int,               // optional
          "GsmNmr": [                   // optional
            {
                "Bsic": int,            // required
                "Bcch": int,            // required
                "RxLevel": int,         // optional
                "GlobalIdentity": {
                    "Lac": int,         // required
                    "GeranCid": int     // required
                }
             }
          ]
       }
    ]  
}
```

#### Acesso múltiplo por divisão de código (CDMA)
<a name="location-solvers-cellular-cdma"></a>

Ao usar esses dados de medição, você deve especificar informações, como a potência do sinal e informações de identificação, da estação base e parâmetros adicionais opcionais. Veja a seguir um exemplo do formato da carga. Para obter mais informações sobre esses parâmetros, consulte [Objeto CDMA](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_CdmaObj.html).

```
{
    "Timestamp": 1664313161,               // optional
    "CellTowers": {
        "Cdma": [ 
        {
            "SystemId": int,                // required 
            "NetworkId": int,               // required 
            "BaseStationId": int,           // required 
            "RegistrationZone": int,        // optional 
            "CdmaLocalId": {                // optional
              "PnOffset": int,              // required 
              "CdmaChannel": int,           // required 
            },
            "PilotPower": int,              // optional 
            "BaseLat": float,               // optional 
            "BaseLng": float,               // optional 
            "CdmaNmr": [                    // optional 
                {
                    "PnOffset": int,        // required 
                    "CdmaChannel": int,     // required 
                    "PilotPower": int,      // optional 
                    "BaseStationId": int    // optional 
                }
             ]
          }
       ]
    }
}
```

#### Acesso múltiplo por divisão de código de ondas longas (CDMA)
<a name="location-solvers-cellular-wcdma"></a>

Ao usar esses dados de medição, você deve especificar informações, como o código de rede e do país, potência do sinal e informações de identificação, da estação base e parâmetros adicionais opcionais. Veja a seguir um exemplo do formato da carga. Para obter mais informações sobre esses parâmetros, consulte [Objeto CDMA](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_CdmaObj.html).

```
{
    "Timestamp": 1664313161,           // optional
    "CellTowers": {
        "Wcdma": [ 
        {
          "Mcc": int,                   // required
          "Mnc": int,                   // required 
          "UtranCid": int,              // required 
          "Lac": int,                   // optional 
          "WcdmaLocalId": {             // optional
              "Uarfcndl": int,          // required
              "Psc": int,               // required 
          },
          "Rscp": int,                  // optional
          "Pathloss": int,              // optional 
          "WcdmaNmr": [                 // optional 
                {
                  "Uarfcndl": int,      // required 
                  "Psc": int,           // required 
                  "UtranCid": int,      // required
                  "Rscp": int,          // optional 
                  "Pathloss": int,      // optional 
                }
             ]
          }
       ]
    }
}
```

#### Acesso múltiplo por divisão de código síncrona por divisão de tempo (TD-SCDMA)
<a name="location-solvers-cellular-tdscdma"></a>

Ao usar esses dados de medição, você deve especificar informações, como o código de rede e do país, potência do sinal e informações de identificação, da estação base e parâmetros adicionais opcionais. Veja a seguir um exemplo do formato da carga. Para obter mais informações sobre esses parâmetros, consulte [Objeto CDMA](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_CdmaObj.html).

```
{
    "Timestamp": 1664313161,           // optional
    "CellTowers": {
        "Tdscdma": [ 
        {
          "Mcc": int,                   // required
          "Mnc": int,                   // required
          "UtranCid": int,              // required
          "Lac": int,                   // optional
          "TdscdmaLocalId": {           // optional
              "Uarfcn": int,            // required 
              "CellParams": int,        // required 
          },
          "TdscdmaTimingAdvance": int,  // optional
          "Rscp": int,                  // optional
          "Pathloss": int,              // optional
          "TdscdmaNmr": [               // optional 
                {
                  "Uarfcn": int,        // required 
                  "CellParams": int,    // required 
                  "UtranCid": int,      // optional
                  "Rscp": int,          // optional
                  "Pathloss": int,      // optional 
                }
             ]
         }
      ]
   }
}
```

## Solucionador de pesquisa reversa de IP
<a name="location-solvers-ip"></a>

Você pode usar o solucionador de pesquisa reversa de IP para resolver a localização usando o endereço IP como entrada. O solucionador pode obter as informações de localização dos dispositivos que foram provisionados com. AWS IoT Especifique as informações do endereço IP usando um formato que seja o IPv6 padrão padrão IPv4 ou o padrão comprimido IPv6 hexadecimal. Em seguida, você obtém a estimativa de localização resolvida, incluindo informações adicionais, como cidade e país onde o dispositivo está localizado.

**nota**  
Ao usar a pesquisa reversa de IP, você concorda em não usá-la com a finalidade de identificar ou localizar uma residência específica ou um endereço.

### Exemplo de carga do solucionador de pesquisa reversa de IP
<a name="location-solvers-ip-payload"></a>

O código a seguir mostra um exemplo da carga JSON do dispositivo que contém os dados de medição. Quando o AWS IoT Core Device Location recebe as informações do endereço IP nos dados de medição, ele consulta essas informações no banco de dados do provedor do solucionador, que é então usado para resolver as informações de localização. Para recuperar as informações, forneça a carga JSON usando esse formato ou especifique valores para o parâmetro [Ip da operação](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html#iotwireless-GetPositionEstimate-request-Ip) da [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)API.

**nota**  
Quando esse solucionador é usado, a cidade, o estado, o país e o código postal em que o dispositivo está localizado também são informados, além das coordenadas. Para ver um exemplo, consulte [Como resolver o local do dispositivo (console)](device-location-resolve-solvers.md#location-resolve-console).

```
{
    "Timestamp": 1664313161,
    "Ip":{
        "IpAddress":"54.240.198.35"
      }
}
```

## Solucionador GNSS
<a name="location-solvers-gnss"></a>

Use o solucionador Sistema de navegação por satélite (GNSS) para recuperar o local do dispositivo usando as informações contidas nas mensagens de resultado de varredura de GNSS ou nas mensagens NAV. Opcionalmente, você pode fornecer informações adicionais de assistência GNSS, o que reduz o número de variáveis que o solucionador deve usar para pesquisar sinais. Ao fornecer essas informações de assistência, que incluem a posição, a altitude, o tempo de captura e as informações de precisão, o solucionador pode identificar facilmente os satélites à vista e calcular o local do dispositivo.

Esse solucionador pode ser usado com dispositivos LoRa WAN e dispositivos habilitados para Amazon Sidewalk, bem como outros dispositivos que foram provisionados com dispositivos de AWS IoT que foram provisionados com. AWS IoT Para dispositivos IoT gerais, se os dispositivos são compatíveis com a estimativa de localização usando GNSS, quando as informações de varredura de GNSS são recebidas do dispositivo, os transceptores resolvem as informações de local. Para dispositivos LoRa WAN, os dispositivos devem ter o chipset LoRa Edge. Quando uma mensagem de uplink é recebida do dispositivo, os dados de escaneamento GNSS são enviados para a LoRa WAN ou AWS IoT para o AWS IoT Amazon Sidewalk, e a localização é estimada com base nos resultados da verificação dos transceptores.

### Exemplo de carga do solucionador GNSS
<a name="location-solvers-gnss-payload"></a>

O código a seguir mostra um exemplo da carga JSON do dispositivo que contém os dados de medição. Quando o AWS IoT Core Device Location recebe as informações de varredura GNSS contendo a carga nos dados de medição, ele usa os transceptores e qualquer informação de assistência adicional incluída para pesquisar sinais e resolver as informações de localização. Para recuperar as informações, forneça a carga JSON usando esse formato ou especifique valores para o parâmetro [Gnss da operação](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html#iotwireless-GetPositionEstimate-request-Gnss) da API. [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)

**nota**  
Antes AWS IoT Core que a localização do dispositivo possa resolver a localização do dispositivo, você deve remover o byte de destino da carga.

```
{   
    "Timestamp": 1664313161,                  // optional
    "Gnss": { 
        "AssistAltitude": number,             // optional
        "AssistPosition": [ number ],         // optional
        "CaptureTime": number,                // optional
        "CaptureTimeAccuracy": number,        // optional
        "Payload": "string",                  // required
        "Use2DSolver": boolean                // optional
   }
}
```

## Solucionador BLE para dispositivos habilitados para Amazon Sidewalk
<a name="location-solvers-ble"></a>

**nota**  
Para localização baseada em Bluetooth Low Energy, AWS IoT retorna as coordenadas de localização com base na localização aproximada dos Sidewalk Gateways próximos que estão conectados ao Amazon Sidewalk e têm o recurso Community Finding ativado. Os dados de localização do gateway são AWS conteúdo e são fornecidos a você exclusivamente com a finalidade de ajudá-lo a localizar seus dispositivos conectados ao Amazon Sidewalk, e você só deve usar os dados para essa finalidade. Você só deve usar e acessar os dados de localização por meio da interface e da funcionalidade que geralmente disponibilizamos para você, e não deve tentar reidentificar, fazer engenharia reversa ou remapear quaisquer dados de localização do Gateway fornecidos por nós a você.

Os dispositivos finais do Amazon Sidewalk conectados AWS IoT Core para Amazon Sidewalk podem resolver seus dados de localização usando mensagens de uplink BLE, Wi-Fi ou GNSS publicadas pelo dispositivo final Amazon Sidewalk. Para obter mais informações, consulte o [guia do AWS IoT Core para Amazon Sidewalk desenvolvedor](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/sidewalk-getting-started.html).