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 JSON charge utile géographique 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 AWS IoT Wireless API, du ou AWS CLI.
Rubriques
Résolution de la localisation de l'appareil (console)
Pour résoudre l'emplacement de l'appareil (console)
-
Accédez à la page de localisation de l'appareil
dans la AWS IoT console. -
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 JSON charge utile. 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 JSON charge utile 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
} ] }] } } -
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 Geo, qui est un JSON format utilisé pour coder les structures de données géographiques. La charge utile contient :
-
Les WGS84 coordonnées géographiques, 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 position de point représente l'emplacement sous forme de WGS84 latitude et de longitude, codé sous forme de JSON point géographique
. -
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 JSON charge utile Geo 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 de plus amples informations, veuillez consulter 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" } }
-
-
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 du AWS IoT Wireless API, utilisez l'GetPositionEstimateAPIopération ou la get-position-estimateCLIcommande. Spécifiez les données de mesure de la charge utile en entrée et exécutez l'APIopération pour déterminer l'emplacement de l'appareil.
Note
L'GetPositionEstimate
APIopération 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 API opération.
La commande suivante montre un exemple de résolution de l'emplacement à l'aide de cette API opération.
Note
Lorsque vous exécutez la get-position-estimate
CLI commande, vous devez spécifier le JSON fichier de sortie comme première entrée. Ce JSON fichier stockera les informations de localisation estimées obtenues en réponse CLI au JSON format Geo. Par exemple, la commande suivante enregistre les informations de localisation dans locationout.json
dans le fichier.
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 utilisant le format Geo, qui est un JSON format utilisé pour coder les structures de données géographiques. Il est ensuite stocké dans locationout.json
dans le fichier. La charge utile contient les coordonnées de WGS84 latitude et de longitude, les informations de précision et de niveau de confiance, le type de données de localisation et l'horodatage auquel la position a été résolue.
{ "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'GetPositionEstimate
APIopération, 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 ne JSON peut pas être validé par la fonction de localisation de AWS IoT Core l'appareil. L'erreur peut se produire pour les raisons suivantes :
-
Les données JSON de mesure ne sont pas correctement formatées.
-
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'APIopération 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'MACadresse ou les informations de la tour cellulaire ne sont pas suffisantes.
-
L'adresse IP n'est pas disponible pour rechercher et récupérer l'emplacement.
-
La GNSS charge utile 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.