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á.
Como resolver a localização dos dispositivos de IoT
Use o Local do dispositivo AWS IoT Core para decodificar os dados de medição dos dispositivos e resolver o local 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 dispositivo por meio do console AWS IoT, da API AWS IoT Wireless ou da AWS CLI.
Tópicos
Como resolver o local do dispositivo (console)
Para resolver o local do dispositivo (console)
-
Acesse a página Local do dispositivo
no console AWS IoT. -
Obtenha os dados de medição da carga dos logs do dispositivo ou do CloudWatch Logs e insira-os na seção Resolver por carga.
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.
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
} ] }] } } -
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 geográficas do WGS84, 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 uma latitude e longitude WGS84, codificada como um ponto GeoJSON.
-
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 o Local do dispositivo AWS IoT Core relatar 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.
{ "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" } }
-
-
Vá para a seção Local do recurso e verifique as informações de localização geográfica relatadas pelo Local do dispositivo AWS IoT Core. Você pode copiar a carga para uso com outras aplicações e AWS service (Serviço da AWS). Por exemplo, você pode usar a Local para enviar os dados de localização geográfica para o Amazon Location Service.
Como resolver o local do dispositivo (API)
Para resolver o local do dispositivo usando a API AWS IoT Wireless, use a operação da API GetPositionEstimate ou o comando da CLI get-position-estimate. 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 arquivo 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
Esse exemplo inclui pontos de acesso Wi-Fi e endereço IP como tipos de medição. O AWS IoT Core O Local 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 arquivo locationout.json
. A carga contém as coordenadas de latitude e longitude do WGS84, as informações de precisão e nível de confiança, tipo de dados da localização e o registro de data e hora em que a localização resolvida 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
Ao tentar resolver a localização, você pode ver qualquer um dos códigos de erro a seguir. O AWS IoT Core O Local do dispositivo pode gerar um erro ao usar a operação da API GetPositionEstimate
ou então se referir ao número da linha correspondente ao erro no console AWS IoT.
-
Erro 400
Esse erro indica que o formato do JSON da carga do dispositivo não pode ser validado pelo Local do dispositivo AWS IoT Core. 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.
-
-
Erro 403
Esse erro indica que você não tem as permissões para realizar a operação da API ou usar o console AWS IoT para recuperar o local 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 a sessão do AWS Management Console ou o token de sessão da AWS CLI tiverem expirado. Para resolver esse erro, atualize o token da sessão para usar a AWS CLI ou saia do AWS Management Console e, em seguida, faça login usando suas credenciais.
-
Erro 404
Esse erro indica que nenhuma informação de local foi encontrada ou resolvida pelo Local do dispositivo AWS IoT Core. 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.