Resolver la ubicación de los dispositivos IoT - AWS IoT Core

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Resolver la ubicación de los dispositivos IoT

Use la ubicación del AWS IoT Core dispositivo para decodificar los datos de medición de sus dispositivos y resuelva la ubicación del dispositivo con soluciones de terceros. La ubicación resuelta se genera como una carga de GeoJSON con las coordenadas geográficas y la información de precisión. Puede resolver la ubicación de su dispositivo desde la AWS IoT consola, la AWS IoT Wireless API o. AWS CLI

Resolver la ubicación del dispositivo (consola)

Para resolver la ubicación del dispositivo (consola)

  1. Ve a la página de ubicación del dispositivo en la AWS IoT consola.

  2. Obtenga los datos de medición de la carga útil de los registros de su dispositivo o de CloudWatch los registros e introdúzcalos en la sección Posición de resolución mediante carga útil.

    El siguiente código muestra un ejemplo de carga de JSON. La carga contiene datos de medición de telefonía móvil y Wi-Fi. Si la carga contiene tipos adicionales de datos de medición, se utilizará el solucionador con la mayor precisión. Para obtener más información y ejemplos de cargas, consulte Solucionadores de ubicación y carga útil del dispositivo.

    nota

    La carga de JSON debe contener al menos un tipo de datos de medición.

    { "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 la información de ubicación, elija Resolver.

    La información de ubicación es de tipo blob y se devuelve como una carga que utiliza el formato GeoJSON, que es un formato que se utiliza para codificar estructuras de datos geográficos. La carga contiene:

    • Las coordenadas geográficas de WGS84, que incluyen la información de latitud y longitud. También puede incluir información sobre la altitud.

    • El tipo de información de ubicación notificada, por ejemplo Punto. Un tipo de ubicación de punto representa la ubicación como una latitud y longitud de WGS84, codificadas como un punto GeoJSON.

    • La información de precisión horizontal y vertical, que indica la diferencia en metros entre la información de ubicación estimada por los solucionadores y la ubicación real del dispositivo.

    • El nivel de confianza, que indica la incertidumbre en la respuesta a la estimación de ubicación. El valor predeterminado es 0,68, lo que indica una probabilidad del 68 % de que la ubicación real del dispositivo esté dentro del radio de incertidumbre de la ubicación estimada.

    • La ciudad, el estado, el país y el código postal donde se encuentra el dispositivo. Esta información solo se mostrará cuando se utilice el solucionador de búsqueda inversa de IP.

    • La información de marca temporal, que corresponde a la fecha y la hora a las que se ha resuelto la ubicación. Utiliza el formato de marca temporal de Unix.

    El siguiente código muestra un ejemplo de carga de GeoJSON devuelta al resolver la ubicación.

    nota

    Si la ubicación del AWS IoT Core dispositivo informa de errores al intentar resolver la ubicación, puedes solucionar los errores y resolver la ubicación. Para obtener más información, consulte Solución de errores al resolver la ubicación.

    { "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. Ve a la sección Ubicación de los recursos y verifica la información de geolocalización proporcionada por AWS IoT Core la ubicación del dispositivo. Puede copiar la carga útil para utilizarla con otras aplicaciones y aplicaciones. Servicio de AWS Por ejemplo, puede utilizar la Ubicación para enviar sus datos de ubicación geográfica a Amazon Location Service.

Resolver la ubicación del dispositivo (API)

Para resolver la ubicación del dispositivo mediante la AWS IoT Wireless API, utilice la operación GetPositionEstimateAPI o el comando get-position-estimateCLI. Especifique los datos de medición de la carga como entrada y ejecute la operación de la API para resolver la ubicación del dispositivo.

nota

La operación de la API GetPositionEstimate no almacena información sobre ningún dispositivo o estado, y no se puede utilizar para recuperar datos de ubicación históricos. Realiza una operación única que resuelve los datos de medición y genera la ubicación estimada. Para recuperar la información de ubicación, debe especificar la información de carga cada vez que realice esta operación de la API.

En el siguiente comando se muestra un ejemplo de cómo hacer esto con esta operación de la API.

nota

Al ejecutar el comando de la CLI get-position-estimate, debe especificar el archivo JSON de salida como primera entrada. Este archivo JSON almacenará la información de ubicación estimada obtenida como respuesta de la CLI en formato GeoJSON. Por ejemplo, el siguiente comando almacena la información de ubicación en el archivo 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

En este ejemplo, se incluyen los puntos de acceso Wi-Fi y la dirección IP como tipos de medición. AWS IoT Core Device Location elige entre el solucionador de Wi-Fi y el solucionador de búsqueda inversa de IP, y selecciona el solucionador con mayor precisión.

La ubicación resuelta es una carga que utiliza el formato GeoJSON, que es un formato que se utiliza para codificar estructuras de datos geográficos. A continuación, se almacena en el archivo locationout.json. La carga contiene las coordenadas de latitud y longitud de WGS84, información sobre la precisión y el nivel de confianza, el tipo de datos de la ubicación y la marca temporal en la que se resolvió la ubicación.

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

Solución de errores al resolver la ubicación

Al intentar resolver la ubicación, es posible que aparezca alguno de los siguientes códigos de error. AWS IoT Core La ubicación del dispositivo puede generar un error al utilizar la operación de la GetPositionEstimate API o bien hacer referencia al número de línea correspondiente al error en la AWS IoT consola.

  • Error 400

    Este error indica que la ubicación del dispositivo no puede validar el formato JSON de la carga útil AWS IoT Core del dispositivo. El error puede producirse por las siguientes razones:

    • Los datos de medición de JSON tienen un formato incorrecto.

    • La carga contiene solo la información de la marca temporal.

    • Los parámetros de los datos de medición, como la dirección IP, no son válidos.

    Para resolver este error, compruebe si su JSON tiene el formato correcto y si contiene datos de uno o más tipos de medición como entrada. Si la dirección IP no es válida, para obtener información sobre cómo puede proporcionar una dirección IP válida para resolver el error, consulte Solucionador de búsqueda inversa de IP.

  • Error 403

    Este error indica que no tienes los permisos para realizar la operación de la API o para usar la AWS IoT consola para recuperar la ubicación del dispositivo. Para resolver este error, compruebe que dispone de los permisos necesarios para realizar esta acción. Este error puede producirse si la AWS Management Console sesión o el token de AWS CLI sesión han caducado. Para resolver este error, actualiza el token de sesión para usarlo o cierra sesión AWS Management Console y AWS CLI, a continuación, inicia sesión con tus credenciales.

  • Error 404

    Este error indica que AWS IoT Core Device Location no encontró ni resolvió ninguna información de ubicación. El error puede deberse a casos como la insuficiencia de datos en la entrada de datos de medición. Por ejemplo:

    • La dirección MAC o la información de la torre de telefonía móvil no son suficientes.

    • La dirección IP no está disponible para buscar y recuperar la ubicación.

    • La carga de GNSS no es suficiente.

    Para resolver el error en estos casos, compruebe si los datos de medición contienen suficiente información necesaria para determinar la ubicación del dispositivo.

  • Error 500

    Este error indica que se produjo una excepción del servidor interno cuando AWS IoT Core Device Location intentó resolver la ubicación. Para intentar corregir este error, actualice la sesión y vuelva a intentar enviar los datos de medición que se van a resolver.