Rastreo mediante AWS IoT y MQTT con Amazon Location Service - Amazon Location Service

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.

Rastreo mediante AWS IoT y MQTT con Amazon Location Service

MQTT es un protocolo de mensajería ligero y ampliamente adoptado diseñado para dispositivos restringidos. AWS IoT Coreadmite conexiones de dispositivos que utilizan el protocolo MQTT y el protocolo MQTT over WebSocket Secure (WSS).

AWS IoT Core conecta dispositivos a AWS y le permite enviar y recibir mensajes entre ellos. El motor de reglas AWS IoT Core almacena las consultas sobre los temas de los mensajes de sus dispositivos y le permite definir acciones para enviar mensajes a otros servicios de AWS, como Amazon Location Service. A los dispositivos que conocen su ubicación como coordenadas se les puede reenviar su ubicación a Amazon Location a través del motor de reglas.

nota

Los dispositivos pueden conocer su propia posición, por ejemplo, a través del GPS incorporado. AWS IoT también es compatible con el rastreo de la ubicación de dispositivos de terceros. Para obtener más información, consulte AWS IoTUbicación de dispositivos de núcleo de la AWS IoTGuía para desarrolladores de núcleo.

En el siguiente tutorial se describe el rastreo mediante reglas de AWS IoT Core. También puede enviar la información del dispositivo a su propia función de AWS Lambda si necesita procesarla antes de enviarla a Amazon Location. Para obtener más información sobre el uso de Lambda para procesar las ubicaciones de sus dispositivos, consulte Utilizar AWS Lambda con MQTT.

Requisito previo

Antes de comenzar el rastreo, debe completar los siguientes requisitos previos:

  • Crear un recurso de rastreo al que enviar los datos de ubicación del dispositivo.

  • Crear un rol de IAM para conceder a AWS IoT Core acceso a su rastreador.

    Cuando siga estos pasos, use la siguiente política para dar acceso a su rastreador:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "WriteDevicePosition", "Effect": "Allow", "Action": "geo:BatchUpdateDevicePosition", "Resource": "arn:aws:geo:*:*:tracker/*" } ] }

Crear una regla de AWS IoT Core

A continuación, cree una regla de AWS IoT Core para reenviar la telemetría posicional de sus dispositivos a Amazon Location Service. Para obtener más información sobre la creación de reglas, consulte los siguientes temas en la AWS IoT CoreGuía para desarrolladores:

Pruebe su regla de AWS IoT Core en la consola

Si actualmente ningún dispositivo publica telemetría que incluya la ubicación, puede probar su regla con la consola de AWS IoT Core. La consola tiene un cliente de prueba en el que puede publicar un mensaje de muestra para comprobar los resultados de la solución.

  1. Inicie sesión en la AWS IoT Core consola en https://console.aws.amazon.com/iot/.

  2. En el menú de navegación de la izquierda, expanda Pruebas y elija Cliente de pruebas de MQTT.

  3. En Publicar en un tema, defina el Nombre del tema como iot/topic (o el nombre del tema que haya configurado en su regla de AWS IoT Core, si es diferente) y proporcione lo siguiente para la Carga de mensajes. Sustituya la marca de tiempo 1604940328 por una marca de tiempo válida de los últimos 30 días (los rastreadores de Amazon Location Service ignoran las marcas de tiempo de más de 30 días).

    { "payload": { "deviceid": "thing123", "timestamp": 1604940328, "location": { "lat": 49.2819, "long": -123.1187 }, "accuracy": { "Horizontal": 20.5 }, "positionProperties": { "field1": "value1", "field2": "value2" } } }
  4. Seleccione Publicar en un tema para enviar el mensaje de prueba.

  5. Para validar que Amazon Location Service recibió el mensaje, use el siguiente comando AWS CLI. Si lo modificó durante la configuración, sustituya el nombre del rastreador por el que utilizó.

    aws location batch-get-device-position --tracker-name MyTracker --device-ids thing123