Solveurs de localisation et charge utile de l'appareil - 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.

Solveurs de localisation et charge utile de l'appareil

Les solveurs de localisation sont des algorithmes qui peuvent être utilisés pour déterminer la position de vos appareils IoT. AWS IoT Core Device Location prend en charge les solveurs de localisation suivants. Vous verrez des exemples du format de JSON charge utile pour ces types de mesures, des appareils pris en charge par le solveur et de la manière dont la localisation est résolue.

Pour déterminer l'emplacement de l'appareil, spécifiez un ou plusieurs de ces types de données de mesure. Une position unique et résolue sera renvoyée pour toutes les données de mesure combinées.

Solveur basé sur le Wi-Fi

Utilisez le solveur basé sur le Wi-Fi pour déterminer la position à l'aide des informations de numérisation provenant des points d'accès Wi-Fi. Le solveur prend en charge la WLAN technologie et peut être utilisé pour calculer l'emplacement des appareils IoT généraux et des appareils LoRa WAN sans fil.

Les LoRa WAN appareils doivent être équipés du chipset LoRa Edge, qui peut décoder les informations de numérisation Wi-Fi entrantes. LoRa Edge est une plateforme à très faible consommation qui intègre un LoRa émetteur-récepteur longue portée, un scanner multi-constellations et un GNSS MAC scanner Wi-Fi passif ciblant les applications de géolocalisation. Lorsqu'un message de liaison montante est reçu de l'appareil, les données de numérisation Wi-Fi sont envoyées à l'emplacement de l' AWS IoT Core appareil, et l'emplacement est estimé sur la base des résultats du scan Wi-Fi. Les informations décodées sont ensuite transmises au solveur basé sur le Wi-Fi pour récupérer les informations de localisation.

Le code suivant montre un exemple de la JSON charge utile de l'appareil qui contient les données de mesure. Lorsque AWS IoT Core Device Location reçoit ces données en entrée, il envoie une HTTP demande au fournisseur du solveur pour résoudre les informations de localisation. Pour récupérer les informations, spécifiez les valeurs de l'MACadresse et RSS (intensité du signal reçu). Pour ce faire, fournissez la JSON charge utile en utilisant ce format ou utilisez le paramètre d'WiFiAccessPointsobjet de l'GetPositionEstimateAPIopération.

{ "Timestamp": 1664313161, // optional "WiFiAccessPoints": [ { "MacAddress": "A0:EC:F9:1E:32:C1", // required "Rss": -75 // required } ] }

Solveur cellulaire

Vous pouvez utiliser le solveur cellulaire pour déterminer l'emplacement à l'aide des données de mesure obtenues à partir des pylônes de téléphonie cellulaire. Le solveur prend en charge les technologies suivantes. Une seule information de localisation résolue est obtenue, même si vous incluez des données de mesure issues de l'une ou de l'ensemble de ces technologies.

  • GSM

  • CDMA

  • WCDMA

  • TD- SCDMA

  • LTE

Exemples de charge utile d'un solveur cellulaire

Le code suivant montre des exemples de JSON charge utile provenant de l'appareil contenant des données de mesure cellulaires. Lorsque AWS IoT Core Device Location reçoit ces données en entrée, il envoie une HTTP demande au fournisseur du solveur pour résoudre les informations de localisation. Pour récupérer les informations, vous devez soit fournir la JSON charge utile en utilisant ce format dans la console, soit spécifier des valeurs pour le CellTowersparamètre de l'GetPositionEstimateAPIopération. Vous pouvez fournir les données de mesure en spécifiant les valeurs des paramètres à l'aide de l'une ou de l'ensemble de ces technologies cellulaires.

Lorsque vous utilisez ces données de mesure, vous devez spécifier des informations telles que le réseau et le code du pays du réseau mobile, ainsi que des paramètres supplémentaires facultatifs, notamment des informations sur l'identifiant local. Le code suivant montre un exemple du format de charge utile. Pour plus d'informations sur ces paramètres, consultez la section LTEobjet.

{ "Timestamp": 1664313161, // optional "CellTowers": { "Lte": [ { "Mcc": int, // required "Mnc": int, // required "EutranCid": int, // required. Make sure that you use int for EutranCid. "Tac": int, // optional "LteLocalId": { // optional "Pci": int, // required "Earfcn": int, // required }, "LteTimingAdvance": int, // optional "Rsrp": int, // optional "Rsrq": float, // optional "NrCapable": boolean, // optional "LteNmr": [ // optional { "Pci": int, // required "Earfcn": int, // required "EutranCid": int, // required "Rsrp": int, // optional "Rsrq": float // optional } ] } ] } }

Lorsque vous utilisez ces données de mesure, vous devez spécifier des informations telles que le réseau et le code pays du réseau mobile, les informations de la station de base et des paramètres supplémentaires facultatifs. Le code suivant montre un exemple du format de charge utile. Pour plus d'informations sur ces paramètres, consultez la section GSMobjet.

{ "Timestamp": 1664313161, // optional "CellTowers": { "Gsm": [ { "Mcc": int, // required "Mnc": int, // required "Lac": int, // required "GeranCid": int, // required "GsmLocalId": { // optional "Bsic": int, // required "Bcch": int, // required }, "GsmTimingAdvance": int, // optional "RxLevel": int, // optional "GsmNmr": [ // optional { "Bsic": int, // required "Bcch": int, // required "RxLevel": int, // optional "GlobalIdentity": { "Lac": int, // required "GeranCid": int // required } } ] } ] }

Lorsque vous utilisez ces données de mesure, vous devez spécifier des informations telles que la puissance du signal et les informations d'identification, les informations de la station de base et des paramètres supplémentaires facultatifs. Le code suivant montre un exemple du format de charge utile. Pour plus d'informations sur ces paramètres, consultez la section CDMAobjet.

{ "Timestamp": 1664313161, // optional "CellTowers": { "Cdma": [ { "SystemId": int, // required "NetworkId": int, // required "BaseStationId": int, // required "RegistrationZone": int, // optional "CdmaLocalId": { // optional "PnOffset": int, // required "CdmaChannel": int, // required }, "PilotPower": int, // optional "BaseLat": float, // optional "BaseLng": float, // optional "CdmaNmr": [ // optional { "PnOffset": int, // required "CdmaChannel": int, // required "PilotPower": int, // optional "BaseStationId": int // optional } ] } ] } }

Lorsque vous utilisez ces données de mesure, vous devez spécifier des informations telles que le code du réseau et du pays, la puissance du signal et les informations d'identification, les informations de la station de base et des paramètres supplémentaires facultatifs. Le code suivant montre un exemple du format de charge utile. Pour plus d'informations sur ces paramètres, consultez la section CDMAobjet.

{ "Timestamp": 1664313161, // optional "CellTowers": { "Wcdma": [ { "Mcc": int, // required "Mnc": int, // required "UtranCid": int, // required "Lac": int, // optional "WcdmaLocalId": { // optional "Uarfcndl": int, // required "Psc": int, // required }, "Rscp": int, // optional "Pathloss": int, // optional "WcdmaNmr": [ // optional { "Uarfcndl": int, // required "Psc": int, // required "UtranCid": int, // required "Rscp": int, // optional "Pathloss": int, // optional } ] } ] } }

Lorsque vous utilisez ces données de mesure, vous devez spécifier des informations telles que le code du réseau et du pays, la puissance du signal et les informations d'identification, les informations de la station de base et des paramètres supplémentaires facultatifs. Le code suivant montre un exemple du format de charge utile. Pour plus d'informations sur ces paramètres, consultez la section CDMAobjet.

{ "Timestamp": 1664313161, // optional "CellTowers": { "Tdscdma": [ { "Mcc": int, // required "Mnc": int, // required "UtranCid": int, // required "Lac": int, // optional "TdscdmaLocalId": { // optional "Uarfcn": int, // required "CellParams": int, // required }, "TdscdmaTimingAdvance": int, // optional "Rscp": int, // optional "Pathloss": int, // optional "TdscdmaNmr": [ // optional { "Uarfcn": int, // required "CellParams": int, // required "UtranCid": int, // optional "Rscp": int, // optional "Pathloss": int, // optional } ] } ] } }

Solveur de recherche inversée IP

Vous pouvez utiliser le solveur de recherche inversée IP pour déterminer l'emplacement en utilisant l'adresse IP comme entrée. Le solveur peut obtenir les informations de localisation à partir des appareils qui ont été approvisionnés. AWS IoT Spécifiez les informations d'adresse IP en utilisant un format qui est IPv4 soit le modèle IPv6 standard, soit le modèle compressé IPv6 hexadécimal. Vous obtenez ensuite l'estimation de localisation résolue, y compris des informations supplémentaires telles que la ville et le pays où se trouve l'appareil.

Note

En utilisant la recherche inversée d'adresse IP, vous acceptez de ne pas l'utiliser dans le but d'identifier ou de localiser une adresse résidentielle ou municipale spécifique.

Le code suivant montre un exemple de la JSON charge utile de l'appareil qui contient les données de mesure. Lorsque AWS IoT Core Device Location reçoit les informations d'adresse IP contenues dans les données de mesure, il recherche ces informations dans la base de données du fournisseur du solveur, qui est ensuite utilisée pour résoudre les informations de localisation. Pour récupérer les informations, fournissez la JSON charge utile en utilisant ce format ou spécifiez des valeurs pour le paramètre Ip de l'GetPositionEstimateAPIopération.

Note

Lorsque ce solveur est utilisé, la ville, l'État, le pays et le code postal où se trouve l'appareil sont également indiqués en plus des coordonnées. Pour obtenir un exemple, consultez Résolution de la localisation de l'appareil (console).

{ "Timestamp": 1664313161, "Ip":{ "IpAddress":"54.240.198.35" } }

GNSSsolveur

Utilisez le solveur GNSS (système mondial de navigation par satellite) pour récupérer l'emplacement de l'appareil à l'aide des informations contenues dans les messages ou NAV les messages relatifs aux résultats de l'GNSSanalyse. Vous pouvez éventuellement fournir des informations GNSS d'assistance supplémentaires, ce qui réduit le nombre de variables que le solveur doit utiliser pour rechercher des signaux. En fournissant ces informations d'assistance, qui incluent la position, l'altitude, le temps de capture et les informations de précision, le solveur peut facilement identifier les satellites en vue et calculer la position de l'appareil.

Ce solveur peut être utilisé avec des LoRa WAN appareils et d'autres appareils qui ont été approvisionnés. AWS IoT Pour les appareils IoT généraux, si les appareils prennent en charge l'estimation de localisation en utilisantGNSS, lorsque les informations de GNSS numérisation sont reçues de l'appareil, les émetteurs-récepteurs résolvent les informations de localisation. Pour LoRa WAN les appareils, ils doivent être équipés du chipset LoRa Edge. Lorsqu'un message de liaison montante est reçu du dispositif, les données de GNSS numérisation sont envoyées à AWS IoT Core for LoRaWAN, et l'emplacement est estimé sur la base des résultats de numérisation provenant des émetteurs-récepteurs.

Le code suivant montre un exemple de la JSON charge utile de l'appareil qui contient les données de mesure. Lorsque AWS IoT Core Device Location reçoit les informations de GNSS numérisation contenant la charge utile contenue dans les données de mesure, il utilise les émetteurs-récepteurs et toute information d'assistance supplémentaire incluse pour rechercher des signaux et résoudre les informations de localisation. Pour récupérer les informations, fournissez la JSON charge utile en utilisant ce format ou spécifiez des valeurs pour le paramètre Gnss de l'GetPositionEstimateAPIopération.

Note

Avant que AWS IoT Core l'emplacement du périphérique puisse résoudre l'emplacement du périphérique, vous devez supprimer l'octet de destination de la charge utile.

{ "Timestamp": 1664313161, // optional "Gnss": { "AssistAltitude": number, // optional "AssistPosition": [ number ], // optional "CaptureTime": number, // optional "CaptureTimeAccuracy": number, // optional "Payload": "string", // required "Use2DSolver": boolean // optional } }