Como resolver a localização dos dispositivos de IoT - AWS IoT Core

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 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 a partir do AWS IoT console, da AWS IoT Wireless API ou AWS CLI.

Como resolver o local do dispositivo (console)

Para resolver o local do dispositivo (console)

  1. Acesse a página Localização do dispositivo no AWS IoT console.

  2. Obtenha os dados de medição da carga útil dos registros do 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.

    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 } ] }] } }
  3. 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 AWS IoT Core o Device Location reportar erros ao tentar resolver o local, você poderá solucionar os erros e resolver o local. Para ter 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" } }
  4. 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 para enviar os dados de localização geográfica para o Amazon Location Service.

Como resolver o local do dispositivo (API)

Para resolver a localização do dispositivo usando a AWS IoT Wireless API, use a operação da GetPositionEstimateAPI ou o comando da get-position-estimateCLI. 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

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

  • 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 AWS Management Console 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 AWS Management Console 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.