Risoluzione della posizione di dispositivi IoT - AWS IoT Core

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione della posizione di dispositivi IoT

Utilizzate AWS IoT Core Device Location per decodificare i dati di misurazione dai dispositivi e risolvere la posizione del dispositivo utilizzando solutori di terze parti. La posizione risolta viene generata come un payload GeoJSON con le coordinate geografiche e le informazioni sulla precisione. Puoi determinare la posizione del dispositivo dalla AWS IoT console, dall' AWS IoT Wireless API o. AWS CLI

Risoluzione della posizione del dispositivo (console)

Per risolvere la posizione del dispositivo (console)

  1. Vai alla pagina di localizzazione del dispositivo nella AWS IoT console.

  2. Ottieni i dati di misurazione del carico utile dai registri del dispositivo o dai CloudWatch registri e inseriscili nella sezione Risolvi la posizione tramite payload.

    Il codice riportato di seguito mostra un payload JSON di esempio. Il payload contiene dati di misurazione della rete cellulare e Wi-Fi. Se il payload contiene altri tipi di dati di misurazione, verrà utilizzato il risolutore con la precisione maggiore. Per ulteriori informazioni ed esempi di payload, consulta Risolutori di posizione e payload del dispositivo.

    Nota

    Il payload JSON deve contenere almeno un tipo di dati di misurazione.

    { "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. Per risolvere le informazioni sulla posizione, scegli Resolve (Risolvi).

    Le informazioni sulla posizione sono di tipo blob e vengono restituite come un payload che utilizza il formato GeoJSON, ideale per codificare strutture di dati geografici. Il payload contiene:

    • Le coordinate geografiche WGS84, che includono le informazioni di latitudine e longitudine. Potrebbe anche includere un'informazione di altitudine.

    • Il tipo di informazioni sulla posizione restituite, ad esempio Point (Punto). Un tipo di posizione punto rappresenta la posizione come latitudine e longitudine WGS84, codificata come un punto GeoJSON.

    • Le informazioni di precisione orizzontale e verticale, che indicano la differenza, espressa in metri, tra le informazioni sulla posizione stimate dai risolutori e la posizione effettiva del dispositivo.

    • Il livello di affidabilità, che indica l'incertezza nella risposta della stima sulla posizione. Il valore predefinito è 0,68, che indica una probabilità del 68% che la posizione effettiva del dispositivo sia compresa nel raggio di incertezza della posizione stimata.

    • La città, lo stato, il Paese e il codice postale in cui si trova il dispositivo. Queste informazioni verranno riportate solo quando viene utilizzato il risolutore di ricerca inversa IP.

    • Le informazioni sul timestamp, che corrisponde alla data e ora in cui la posizione è stata risolta. Viene utilizzato il formato timestamp Unix.

    Il codice riportato di seguito mostra un payload GeoJSON di esempio restituito risolvendo la posizione.

    Nota

    Se AWS IoT Core Device Location segnala errori durante il tentativo di risolvere la posizione, puoi risolvere gli errori e risolvere la posizione. Per ulteriori informazioni, consulta Risoluzione dei problemi relativi alla risoluzione della posizione.

    { "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. Vai alla sezione Posizione delle risorse e verifica le informazioni di geolocalizzazione riportate da Device Location. AWS IoT Core È possibile copiare il payload per utilizzarlo con altre applicazioni e applicazioni. AWS servizio Ad esempio, è possibile utilizzare la Ubicazione per inviare i dati relativi alla posizione geografica al servizio di posizione Amazon.

Risoluzione della posizione del dispositivo (API)

Per risolvere la posizione del dispositivo utilizzando l' AWS IoT Wireless API, utilizza l'operazione GetPositionEstimateAPI o il comando get-position-estimateCLI. Specificare i dati di misurazione del payload come input ed eseguire l'operazione API per risolvere la posizione del dispositivo.

Nota

L'operazione API GetPositionEstimate non memorizza alcuna informazione sul dispositivo o sullo stato e non può essere utilizzata per recuperare dati storici sulla posizione. Esegue un'operazione una tantum che risolve i dati di misurazione e produce la posizione stimata. Per recuperare le informazioni sulla posizione, è necessario specificare le informazioni sul payload ogni volta che si esegue questa operazione API.

Il seguente comando mostra un esempio di come risolvere la posizione mediante questa operazione API.

Nota

Durante l'esecuzione del comando dell'interfaccia a riga di comando get-position-estimate, è necessario specificare il file JSON di output come il primo input. Questo file JSON archivierà le informazioni sulla posizione stimata ottenute come risposta dall'interfaccia a riga di comando in formato GeoJSON. Ad esempio, il comando seguente archivia le informazioni sulla posizione nel file 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

Questo esempio include sia i punti di accesso Wi-Fi che l'indirizzo IP come tipi di misurazione. AWS IoT Core Device Location sceglie tra il solver Wi-Fi e il solutore di ricerca inversa IP e seleziona il solutore con la maggiore precisione.

La posizione risolta viene restituita come un payload che utilizza il formato GeoJSON, ideale per codificare strutture di dati geografici. Viene quindi archiviata nel file locationout.json. Il payload contiene le coordinate di latitudine e longitudine WGS84, le informazioni sulla precisione e il livello di affidabilità, il tipo di dati di posizione e il timestamp del momento in cui è la posizione è stata risolta.

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

Risoluzione dei problemi relativi alla risoluzione della posizione

Quando tenti di risolvere la posizione, potresti visualizzare uno dei seguenti codici di errore. AWS IoT Core La posizione del dispositivo potrebbe generare un errore durante l'utilizzo dell'operazione GetPositionEstimate API oppure fare riferimento al numero di riga corrispondente all'errore nella AWS IoT console.

  • Errore 400

    Questo errore indica che il formato del payload del dispositivo JSON non può essere convalidato da AWS IoT Core Device Location. Le possibile cause dell'errore sono:

    • I dati di misurazione JSON sono formattati in modo errato.

    • Il payload contiene solo le informazioni sul timestamp.

    • I parametri dei dati di misurazione, come l'indirizzo IP, non sono validi.

    Per risolvere questo errore, verificare se il JSON sia formattato correttamente e contenga dati di uno o più tipi di misurazione come input. Se l'indirizzo IP non è valido, per informazioni su come fornire un indirizzo IP valido per risolvere l'errore, consulta Risolutore di ricerca inversa IP.

  • Errore 403

    Questo errore indica che non disponi delle autorizzazioni per eseguire l'operazione API o per utilizzare la AWS IoT console per recuperare la posizione del dispositivo. Per risolvere questo errore, verificare di disporre delle autorizzazioni richieste per eseguire questa azione. Questo errore può verificarsi se la AWS Management Console sessione o il token di AWS CLI sessione sono scaduti. Per risolvere questo errore, aggiorna il token di sessione per utilizzare o disconnettiti da AWS Management Console e quindi accedi utilizzando le tue credenziali. AWS CLI

  • Errore 404

    Questo errore indica che nessuna informazione sulla posizione è stata trovata o risolta da AWS IoT Core Device Location. L'errore potrebbe verificarsi a causa di problemi quali dati insufficienti nell'immissione dei dati di misurazione. Per esempio:

    • L'indirizzo MAC o le informazioni sul ripetitore di rete cellulare non sono sufficienti.

    • L'indirizzo IP non è disponibile per cercare e recuperare la posizione.

    • Il payload GNSS non è sufficiente.

    In questi casi, per risolvere l'errore, verificare se i dati di misurazione contengono informazioni sufficienti per risolvere la posizione del dispositivo.

  • Errore 500

    Questo errore indica che si è verificata un'eccezione interna del server quando AWS IoT Core Device Location ha tentato di risolvere la posizione. Per tentare di correggere questo errore, aggiornare la sessione e riprovare a inviare i dati di misurazione da risolvere.