Suivi à l'aide AWS IoT de MQTT avec Amazon Location Service - Amazon Location Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Suivi à l'aide AWS IoT de MQTT avec Amazon Location Service

Le MQTT est un protocole de messagerie léger et largement adopté conçu pour les appareils limités. AWS IoT Coreprend en charge les connexions de périphériques utilisant le protocole MQTT et le protocole MQTT over WebSocket Secure (WSS).

AWS IoT Coreconnecte les appareils à eux AWS et vous permet d'envoyer et de recevoir des messages entre eux. Le moteur de AWS IoT Core règles stocke les requêtes concernant les sujets des messages de vos appareils et vous permet de définir des actions pour envoyer des messages à d'autres AWS services, tels qu'Amazon Location Service. Les appareils qui connaissent leur position sous forme de coordonnées peuvent voir leur position transmise à Amazon Location via le moteur de règles.

Note

Les appareils peuvent connaître leur propre position, par exemple via le GPS intégré. AWS IoTprend également en charge le suivi de la localisation des appareils tiers. Pour plus d'informations, consultez la section Emplacement du périphérique AWS IoTAWS IoT principal dans le Guide du développeur principal.

La procédure pas à pas suivante décrit le suivi à l'aide de AWS IoT Core règles. Vous pouvez également envoyer les informations de l'appareil à votre propre AWS Lambda fonction, si vous devez les traiter avant de les envoyer à Amazon Location. Pour plus de détails sur l'utilisation de Lambda pour le traitement de la localisation de vos appareils, consultez. Utilisation AWS Lambda avec MQTT

Prérequis

Avant de commencer le suivi, vous devez remplir les conditions préalables suivantes :

  • Créez une ressource de suivi à laquelle vous enverrez les données de localisation de l'appareil.

  • Créez un rôle IAM pour accorder l'AWS IoT Coreaccès à votre tracker.

    Lorsque vous suivez ces étapes, appliquez la politique suivante pour donner accès à votre traceur :

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

Créer une règle de AWS IoT Core

Créez ensuite une AWS IoT Core règle pour transmettre la télémétrie de position de vos appareils à Amazon Location Service. Pour plus d'informations sur la création de règles, consultez les rubriques suivantes du guide du AWS IoT Core développeur :

Testez votre AWS IoT Core règle dans la console

Si aucun appareil ne publie actuellement de télémétrie incluant la localisation, vous pouvez tester votre règle à l'aide de la AWS IoT Core console. La console dispose d'un client de test dans lequel vous pouvez publier un exemple de message pour vérifier les résultats de la solution.

  1. Connectez-vous à la AWS IoT Core console à l'adresse https://console.aws.amazon.com/iot/.

  2. Dans le volet de navigation de gauche, développez Test, puis choisissez le client de test MQTT.

  3. Sous Publier dans un sujet, définissez le nom du sujet sur iot/topic (ou le nom du sujet que vous avez défini dans votre AWS IoT Core règle, s'il est différent) et fournissez les informations suivantes pour la charge utile du message. Remplacez l'horodatage 1604940328 par un horodatage valide au cours des 30 derniers jours (les horodatages antérieurs à 30 jours sont ignorés par les dispositifs de suivi Amazon Location Service).

    { "payload": { "deviceid": "thing123", "timestamp": 1604940328, "location": { "lat": 49.2819, "long": -123.1187 }, "accuracy": { "Horizontal": 20.5 }, "positionProperties": { "field1": "value1", "field2": "value2" } } }
  4. Choisissez Publier dans le sujet pour envoyer le message de test.

  5. Pour vérifier que le message a bien été reçu par Amazon Location Service, utilisez la AWS CLI commande suivante. Si vous l'avez modifié lors de la configuration, remplacez le nom du tracker par celui que vous avez utilisé.

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