Résolution de la localisation des appareils IoT - AWS IoT Core

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.

Résolution de la localisation des appareils IoT

Utilisez la localisation de l' AWS IoT Core appareil pour décoder les données de mesure de vos appareils et déterminez l'emplacement de l'appareil à l'aide de solveurs tiers. L'emplacement résolu est généré sous forme de charge utile GeoJSON avec les coordonnées géographiques et les informations de précision. Vous pouvez déterminer l'emplacement de votre appareil à partir de la AWS IoT console, de l' AWS IoT Wireless API ou AWS CLI.

Résolution de la localisation de l'appareil (console)

Pour résoudre l'emplacement de l'appareil (console)

  1. Accédez à la page de localisation de l'appareil dans la AWS IoT console.

  2. Obtenez les données de mesure de la charge utile à partir des journaux de votre appareil ou CloudWatch des journaux, et saisissez-les dans la section Position de résolution via la charge utile.

    Le code suivant montre un exemple de charge utile JSON. La charge utile contient des données de mesure cellulaires et Wi-Fi. Si votre charge utile contient d'autres types de données de mesure, le solveur le plus précis sera utilisé. Pour plus d’informations et des exemples de charges utiles, consultez Solveurs de localisation et charge utile de l'appareil.

    Note

    La charge utile JSON doit contenir au moins un type de données de mesure.

    { "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. Pour résoudre les informations de localisation, choisissez Résoudre.

    Les informations de localisation sont de type blob et renvoyées sous forme de charge utile utilisant le format GeoJSON, qui est un format utilisé pour coder les structures de données géographiques. La charge utile contient :

    • Les coordonnées géographiques du WGS84, qui incluent les informations de latitude et de longitude. Il peut également inclure une information d'altitude.

    • Type d'informations de localisation signalées, telles que Point. Un type de localisation de point représente l'emplacement sous forme de latitude et de longitude WGS84, codé sous forme de point GeoJSON.

    • Les informations de précision horizontale et verticale, qui indiquent la différence, en mètres, entre les informations de localisation estimées par les solveurs et l'emplacement réel de l'appareil.

    • Le niveau de confiance, qui indique l'incertitude de la réponse à l'estimation de l'emplacement. La valeur par défaut est 0,68, ce qui indique une probabilité de 68 % que l'emplacement réel de l'appareil se situe dans le rayon d'incertitude de l'emplacement estimé.

    • Ville, État, pays et code postal où se trouve l'appareil. Ces informations ne seront communiquées que lorsque le solveur de recherche inversée IP est utilisé.

    • Les informations d'horodatage, qui correspondent à la date et à l'heure auxquelles la localisation a été résolue. Il utilise le format d'horodatage Unix.

    Le code suivant montre un exemple de charge utile GeoJSON renvoyée en résolvant l'emplacement.

    Note

    Si AWS IoT Core l'emplacement de l'appareil signale des erreurs lors de la tentative de résolution de la localisation, vous pouvez résoudre les erreurs et résoudre la localisation. Pour plus d’informations, consultez Résolution des erreurs lors de la résolution de l'emplacement.

    { "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. Accédez à la section Emplacement des ressources et vérifiez les informations de géolocalisation indiquées par AWS IoT Core Device Location. Vous pouvez copier la charge utile pour l'utiliser avec d'autres applications et Service AWS s. Par exemple, vous pouvez utiliser Emplacement pour envoyer vos données de localisation géographique à Amazon Location Service.

Résolution de la localisation de l'appareil (API)

Pour déterminer l'emplacement de l'appareil à l'aide de l' AWS IoT Wireless API, utilisez l'opération GetPositionEstimateAPI ou la commande get-position-estimateCLI. Spécifiez les données de mesure de la charge utile en entrée et exécutez l'opération API pour déterminer l'emplacement de l'appareil.

Note

L'opération GetPositionEstimate API ne stocke aucune information sur l’appareil ou l’état et ne peut pas être utilisée pour récupérer des données de localisation historiques. Il effectue une opération unique qui résout les données de mesure et produit l'emplacement estimé. Pour récupérer les informations de localisation, vous devez spécifier les informations de charge utile chaque fois que vous effectuez cette opération d'API.

La commande suivante montre un exemple de la marche à suivre pour résoudre l'emplacement à l'aide de cette opération d'API.

Note

Lorsque vous exécutez la commande CLI get-position-estimate, vous devez spécifier le fichier JSON de sortie comme première entrée. Ce fichier JSON stockera les informations de localisation estimées obtenues en réponse à la CLI au format GeoJSON. Par exemple, la commande suivante stocke les informations de localisation dans le fichier 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

Cet exemple inclut à la fois les points d'accès Wi-Fi et l'adresse IP comme types de mesure. AWS IoT Core L'emplacement de l'appareil choisit entre le solveur Wi-Fi et le solveur de recherche inversée IP, et le solveur est sélectionné avec la plus grande précision.

L'emplacement résolu est renvoyé sous forme de charge utile qui utilise le format GeoJSON, qui est un format utilisé pour coder les structures de données géographiques. Il est ensuite stocké dans le fichier locationout.json. La charge utile contient les coordonnées de latitude et de longitude WGS84, les informations de précision et de niveau de confiance, le type de données de localisation et l'horodatage auquel l'emplacement a été résolu.

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

Résolution des erreurs lors de la résolution de l'emplacement

Lorsque vous tentez de résoudre l'emplacement, l'un des codes d'erreur suivants peut s'afficher. AWS IoT Core L'emplacement du périphérique peut générer une erreur lors de l'utilisation de l'GetPositionEstimateAPI, ou bien faire référence au numéro de ligne correspondant à l'erreur dans la AWS IoT console.

  • Erreur 400

    Cette erreur indique que le format de la charge utile de l'appareil JSON ne peut pas être validé par AWS IoT Core Device Location. L'erreur peut se produire pour les raisons suivantes :

    • Les données de mesure JSON ne sont pas formatées correctement.

    • La charge utile contient uniquement les informations d'horodatage.

    • Les paramètres des données de mesure, tels que l'adresse IP, ne sont pas valides.

    Pour résoudre cette erreur, vérifiez si votre fichier JSON est correctement formaté et s'il contient des données provenant d'un ou de plusieurs types de mesures en entrée. Si l'adresse IP n'est pas valide, pour plus d'informations sur la manière dont vous pouvez fournir une adresse IP valide pour résoudre l'erreur, consultez Solveur de recherche inversée IP.

  • Erreur 403

    Cette erreur indique que vous n'êtes pas autorisé à effectuer l'opération d'API ou à utiliser la AWS IoT console pour récupérer l'emplacement de l'appareil. Pour résoudre cette erreur, vérifiez que vous disposez des autorisations requises pour effectuer cette action. Cette erreur peut se produire si votre AWS Management Console session ou votre jeton de AWS CLI session a expiré. Pour résoudre cette erreur, actualisez le jeton de session pour l'utiliser AWS CLI, ou déconnectez-vous du, AWS Management Console puis connectez-vous à l'aide de vos informations d'identification.

  • Erreur 404

    Cette erreur indique qu'aucune information de localisation n'a été trouvée ou résolue par AWS IoT Core Device Location. L'erreur peut être due à des cas tels que l'insuffisance des données lors de la saisie des données de mesure. Par exemple :

    • L'adresse MAC ou les informations de la tour cellulaire ne sont pas complètes.

    • L'adresse IP n'est pas disponible pour rechercher et récupérer l'emplacement.

    • La charge utile du GNSS n'est pas suffisante.

    Pour résoudre l'erreur dans de tels cas, vérifiez si vos données de mesure contiennent suffisamment d'informations nécessaires pour localiser l'appareil.

  • Erreur 500

    Cette erreur indique qu'une exception interne au serveur s'est produite lorsque AWS IoT Core Device Location a tenté de résoudre l'emplacement. Pour tenter de corriger cette erreur, actualisez la session et réessayez d'envoyer les données de mesure à résoudre.