Inizia il tracciamento - Servizio di posizione Amazon

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à.

Inizia il tracciamento

Questa sezione ti guida nella creazione di un'applicazione di tracciamento che acquisisca le posizioni dei dispositivi.

Crea un tracker

Crea una risorsa di tracciamento per archiviare ed elaborare gli aggiornamenti di posizione dai tuoi dispositivi. Puoi utilizzare la console Amazon Location Service AWS CLI, o le API Amazon Location.

Ogni aggiornamento di posizione memorizzato nelle risorse del tracker può includere una misura della precisione della posizione e fino a tre campi di metadati sulla posizione o sul dispositivo che desideri memorizzare. I metadati vengono memorizzati come coppie chiave-valore e possono memorizzare informazioni come velocità, direzione, pressione dei pneumatici o temperatura del motore.

I tracker filtrano gli aggiornamenti di posizione man mano che vengono ricevuti. Ciò riduce il rumore visivo nei percorsi del dispositivo (chiamato jitter) e il numero di falsi eventi di ingresso e uscita da geofence. Ciò aiuta anche a gestire i costi riducendo il numero di valutazioni di geofence avviate.

I tracker offrono tre opzioni di filtraggio della posizione per aiutare a gestire i costi e ridurre il jitter negli aggiornamenti delle posizioni.

  • Basato sulla precisione: utilizzabile con qualsiasi dispositivo che fornisce una misurazione di precisione. La maggior parte dei dispositivi mobili fornisce queste informazioni. La precisione di ogni misurazione della posizione è influenzata da molti fattori ambientali, tra cui la ricezione satellitare GPS, il paesaggio e la vicinanza dei dispositivi Wi-Fi e Bluetooth. La maggior parte dei dispositivi, inclusa la maggior parte dei dispositivi mobili, è in grado di fornire una stima dell'accuratezza della misurazione insieme alla misurazione. Con AccuracyBased il filtraggio, Amazon Location ignora gli aggiornamenti sulla posizione se il dispositivo si è spostato meno della precisione misurata. Ad esempio, se due aggiornamenti consecutivi da un dispositivo hanno un intervallo di precisione compreso tra 5 m e 10 m, Amazon Location ignora il secondo aggiornamento se il dispositivo si è spostato a meno di 15 m. Amazon Location non valuta gli aggiornamenti ignorati rispetto ai geofence, né li archivia.

    Se la precisione non viene fornita, viene considerata pari a zero e la misurazione è considerata perfettamente accurata.

    Nota

    È inoltre possibile utilizzare filtri basati sulla precisione per rimuovere tutti i filtri. Se selezioni il filtraggio basato sulla precisione, ma sostituisci tutti i dati di precisione a zero o ometti completamente la precisione, Amazon Location non filtrerà alcun aggiornamento.

  • Basato sulla distanza: utilizzalo quando i tuoi dispositivi non forniscono una misurazione di precisione, ma desideri comunque sfruttare il filtraggio per ridurre il jitter e gestire i costi. DistanceBasedil filtraggio ignora gli aggiornamenti sulla posizione in cui i dispositivi si sono spostati a meno di 30 m (98,4 piedi). Quando utilizzi il filtro di DistanceBased posizione, Amazon Location non valuta questi aggiornamenti ignorati rispetto ai geofence né archivia gli aggiornamenti.

    La precisione della maggior parte dei dispositivi mobili, inclusa la precisione media dei dispositivi iOS e Android, è entro 15 m. Nella maggior parte delle applicazioni, il DistanceBased filtraggio può ridurre l'effetto delle imprecisioni di posizione quando si visualizza la traiettoria del dispositivo su una mappa e l'effetto di rimbalzo di più eventi consecutivi di entrata e uscita quando i dispositivi si trovano vicino al confine di un geofence. Può anche contribuire a ridurre il costo dell'applicazione, effettuando meno chiamate per effettuare valutazioni sulla base di geofence collegati o recuperare le posizioni dei dispositivi.

  • Basato sul tempo: (impostazione predefinita) Utilizzalo quando i dispositivi inviano aggiornamenti di posizione molto frequentemente (più di una volta ogni 30 secondi) e desideri ottenere valutazioni dei geofence quasi in tempo reale senza archiviare ogni aggiornamento.Nel TimeBased filtraggio, ogni aggiornamento di posizione viene valutato sulla base di raccolte di geofence collegate, ma non tutti gli aggiornamenti di posizione vengono archiviati. Se la frequenza di aggiornamento è superiore a 30 secondi, viene archiviato un solo aggiornamento ogni 30 secondi per ogni ID dispositivo univoco.

Nota

Fai attenzione ai costi della tua applicazione di tracciamento quando decidi il metodo di filtraggio e la frequenza degli aggiornamenti delle posizioni. Ti verrà addebitato ogni aggiornamento della posizione e una volta per la valutazione dell'aggiornamento della posizione rispetto a ciascuna raccolta di geofence collegata. Ad esempio, quando si utilizza il filtro basato sul tempo, se il tracker è collegato a due raccolte di geofence, ogni aggiornamento di posizione verrà conteggiato come una richiesta di aggiornamento della posizione e due valutazioni della raccolta di geofence. Se segnali aggiornamenti di posizione ogni 5 secondi per i tuoi dispositivi e utilizzi il filtro basato sul tempo, ti verranno fatturati 720 aggiornamenti della posizione e 1.440 valutazioni di geofence all'ora per ciascun dispositivo.

La tua fattura non è influenzata dal numero di geofence presenti in ciascuna raccolta. Poiché ogni raccolta di geofence può contenere fino a 50.000 geofence, potresti voler combinare i geofence in un numero inferiore di raccolte, ove possibile, per ridurre i costi delle valutazioni dei geofence.

Per impostazione predefinita, riceverai EventBridge eventi ogni volta che un dispositivo tracciato entra o esce da un geofence collegato. Per ulteriori informazioni, consulta Collega un tracker a una raccolta di geofence.

Puoi abilitare gli eventi per tutti gli aggiornamenti di posizione filtrati per una risorsa tracker. Per ulteriori informazioni, consulta Abilita gli eventi di aggiornamento per un tracker.

Nota

Se desideri crittografare i tuoi dati utilizzando la tua chiave gestita AWS KMS dal cliente, la funzione Bounding Polygon Queries sarà disabilitata per impostazione predefinita. Questo perché utilizzando questa funzione Bounding Polygon Queries, una rappresentazione delle posizioni del dispositivo non verrà crittografata utilizzando la chiave gestita. AWS KMS Tuttavia, la posizione esatta del dispositivo viene ancora crittografata utilizzando la chiave gestita.

Puoi scegliere di attivare la funzione Bounding Polygon Queries impostando il KmsKeyEnableGeospatialQueries parametro su true durante la creazione o l'aggiornamento di un Tracker.

Console

Per creare un tracker utilizzando la console Amazon Location

  1. Apri la console Amazon Location Service all'indirizzo https://console.aws.amazon.com/location/.

  2. Nel riquadro di navigazione a sinistra, scegli Trackers.

  3. Scegli Crea tracker.

  4. Compila i seguenti campi:

    • Nome: inserisci un nome univoco. Ad esempio, ExampleTracker. Massimo 100 caratteri. Le voci valide includono caratteri alfanumerici, trattini, punti e caratteri di sottolineatura.

    • Descrizione: immettere una descrizione facoltativa.

  5. In Filtro di posizione, scegli l'opzione più adatta al modo in cui intendi utilizzare la risorsa del tracker. Se non imposti il filtro di posizione, l'impostazione predefinita è. TimeBased Per ulteriori informazioni, Localizzatori consulta questa guida e PositionFiltering l'Amazon Location Service Trackers API Reference.

  6. (Facoltativo) In Tag, immettere Key (Chiave) e Value (Valore) di un tag. Questo aggiunge un tag alla tua nuova collezione di geofence. Per ulteriori informazioni, consulta Tagging delle risorse.

  7. (Facoltativo) In Crittografia a chiave gestita dal cliente, puoi scegliere di aggiungere una chiave gestita dal cliente. Questo aggiunge una chiave simmetrica gestita dal cliente che puoi creare, possedere e gestire tramite la crittografia predefinita AWS di proprietà. Per ulteriori informazioni, consulta Crittografia dei dati inattivi.

  8. (Facoltativo) In KmsKeyEnableGeospatialQueries, puoi scegliere di abilitare le interrogazioni geospaziali. Ciò consente di utilizzare la funzionalità Bounding Polygon Queries, crittografando i dati utilizzando una chiave gestita AWS KMS del cliente.

    Nota

    Quando utilizzi la funzione Bounding Polygon Queries, una rappresentazione delle posizioni del dispositivo non viene crittografata utilizzando la chiave gestita. AWS KMS Tuttavia, la posizione esatta del dispositivo viene ancora crittografata utilizzando la chiave gestita.

  9. (Facoltativo) In EventBridge configurazione, puoi scegliere di abilitare EventBridge gli eventi per gli aggiornamenti delle posizioni filtrati. Questo invierà un evento ogni volta che un aggiornamento di posizione per un dispositivo in questo tracker soddisfa la valutazione del filtro di posizione.

  10. Scegli Crea tracker.

API

Per creare un tracker utilizzando le API di localizzazione di Amazon

Usa l'CreateTrackeroperazione dalle API di Amazon Location Trackers.

L'esempio seguente utilizza una richiesta API per creare un tracker chiamato. ExampleTracker La risorsa tracker è associata a una AWS KMS chiave gestita dal cliente per crittografare i dati dei clienti e non consente l'aggiornamento delle posizioni. EventBridge

POST /tracking/v0/trackers Content-type: application/json { "TrackerName": "ExampleTracker", "Description": "string", "KmsKeyEnableGeospatialQueries": false, "EventBridgeEnabled": false, "KmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "PositionFiltering": "AccuracyBased", "Tags": { "string" : "string" } }

Crea un tracker con abilitato KmsKeyEnableGeospatialQueries

L'esempio seguente ha il parametro KmsKeyEnableGeospatialQueries impostato su true. Ciò consente di utilizzare la funzionalità Bounding Polygon Queries, crittografando i dati utilizzando una chiave gestita dal cliente. AWS KMS

Per informazioni sull'utilizzo della funzione Bounding Polygon Queries, vedi

Nota

Quando utilizzate la funzione Bounding Polygon Queries, una rappresentazione delle posizioni del dispositivo non viene crittografata utilizzando la chiave gestita. AWS KMS Tuttavia, la posizione esatta del dispositivo viene ancora crittografata utilizzando la chiave gestita.

POST /tracking/v0/trackers Content-type: application/json { "TrackerName": "ExampleTracker", "Description": "string", "KmsKeyEnableGeospatialQueries": true, "EventBridgeEnabled": false, "KmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "PositionFiltering": "AccuracyBased", "Tags": { "string" : "string" } }
AWS CLI

Per creare un tracker utilizzando AWS CLI i comandi

Utilizza il comando create-tracker.

L'esempio seguente utilizza il AWS CLI per creare un tracker chiamato. ExampleTracker La risorsa tracker è associata a una AWS KMS chiave gestita dal cliente per crittografare i dati dei clienti e non consente l'aggiornamento delle posizioni. EventBridge

aws location \ create-tracker \ --tracker-name "ExampleTracker" \ --position-filtering "AccuracyBased" \ --event-bridge-enabled false \ --kms-key-enable-geospatial-queries false \ --kms-key-id "1234abcd-12ab-34cd-56ef-1234567890ab"

Crea un tracker con abilitato KmsKeyEnableGeospatialQueries

L'esempio seguente ha il parametro KmsKeyEnableGeospatialQueries impostato su true. Ciò consente di utilizzare la funzionalità Bounding Polygon Queries, crittografando i dati utilizzando una chiave gestita dal cliente. AWS KMS

Per informazioni sull'utilizzo della funzione Bounding Polygon Queries, vedi

Nota

Quando utilizzate la funzione Bounding Polygon Queries, una rappresentazione delle posizioni del dispositivo non viene crittografata utilizzando la chiave gestita. AWS KMS Tuttavia, la posizione esatta del dispositivo viene ancora crittografata utilizzando la chiave gestita.

aws location \ create-tracker \ --tracker-name "ExampleTracker" \ --position-filtering "AccuracyBased" \ --event-bridge-enabled false \ --kms-key-enable-geospatial-queries true \ --kms-key-id "1234abcd-12ab-34cd-56ef-1234567890ab"
Nota

La fatturazione dipende dall'utilizzo. Potresti incorrere in commissioni per l'uso di altri servizi. AWS Per ulteriori informazioni, consulta i prezzi di Amazon Location Service.

Puoi modificare la descrizione, il filtro della posizione e la EventBridge configurazione dopo aver creato il tracker scegliendo Modifica tracker.

Autenticazione delle tue richieste

Una volta creata una risorsa di tracciamento e pronto per iniziare a valutare le posizioni dei dispositivi rispetto ai geofence, scegli come autenticare le tue richieste:

  • Per scoprire come accedere ai servizi, consulta Accedere ad Amazon Location Service.

  • Se desideri pubblicare le posizioni dei dispositivi con richieste non autenticate, puoi utilizzare Amazon Cognito.

    Esempio

    L'esempio seguente mostra l'utilizzo di un pool di identità Amazon Cognito per l'autorizzazione, l'utilizzo di AWS JavaScript SDK v3 e Amazon Location. JavaScript Aiutante di autenticazione

    import { LocationClient, BatchUpdateDevicePositionCommand } from "@aws-sdk/client-location"; import { withIdentityPoolId } from "@aws/amazon-location-utilities-auth-helper"; // Unauthenticated identity pool you created const identityPoolId = "us-east-1:1234abcd-5678-9012-abcd-sample-id"; // Create an authentication helper instance using credentials from Cognito const authHelper = await withIdentityPoolId(identityPoolId); const client = new LocationClient({ region: "us-east-1", // The region containing both the identity pool and tracker resource ...authHelper.getLocationClientConfig(), // Provides configuration required to make requests to Amazon Location }); const input = { TrackerName: "ExampleTracker", Updates: [ { DeviceId: "ExampleDevice-1", Position: [-123.4567, 45.6789], SampleTime: new Date("2020-10-02T19:09:07.327Z"), }, { DeviceId: "ExampleDevice-2", Position: [-123.123, 45.123], SampleTime: new Date("2020-10-02T19:10:32Z"), }, ], }; const command = new BatchUpdateDevicePositionCommand(input); // Send device position updates const response = await client.send(command);

Aggiorna il tracker con la posizione del dispositivo

Per tracciare i tuoi dispositivi, puoi pubblicare aggiornamenti sulla posizione del dispositivo sul tracker. In un secondo momento puoi recuperare queste posizioni del dispositivo o la cronologia delle posizioni del dispositivo dalla tua risorsa tracker.

Ogni aggiornamento della posizione deve includere l'ID del dispositivo, un timestamp e una posizione. Facoltativamente, puoi includere altri metadati, tra cui la precisione e fino a 3 coppie chiave-valore per uso personale.

Se il tracker è collegato a una o più raccolte di geofence, gli aggiornamenti verranno valutati rispetto a tali geofence (seguendo le regole di filtro che hai specificato per il tracker). Se un dispositivo viola un'area geofrecintata (spostandosi dall'interno all'esterno dell'area o viceversa), riceverai eventi al suo interno. EventBridge Questi ENTER o questi EXIT eventi includono i dettagli dell'aggiornamento della posizione, tra cui l'ID del dispositivo, il timestamp e tutti i metadati associati.

Nota

Per ulteriori informazioni sul filtraggio delle posizioni, vedere. Crea un tracker

Per ulteriori informazioni sugli eventi di geofence, vedere. Reagire agli eventi di Amazon Location Service con Amazon EventBridge

Utilizza uno di questi metodi per inviare gli aggiornamenti del dispositivo:

  • Invia aggiornamenti MQTT a una risorsa AWS IoT Core e collegala alla tua risorsa tracker.

  • Invia aggiornamenti sulla posizione utilizzando l'API Amazon Location Trackers, utilizzando o le AWS CLI API Amazon Location. Puoi utilizzare gli AWS SDK per chiamare le API dalla tua applicazione iOS o Android.

API

Per inviare un aggiornamento di posizione utilizzando le API di Amazon Location

Usa l'BatchUpdateDevicePositionoperazione dalle API di Amazon Location Trackers.

L'esempio seguente utilizza una richiesta API per pubblicare un aggiornamento della posizione del dispositivo su un tracker ExampleDevice. ExampleTracker

POST /tracking/v0/trackers/ExampleTracker/positions Content-type: application/json { "Updates": [ { "DeviceId": "1", "Position": [ -123.12245146162303, 49.27521118043802 ], "SampleTime": "2022-10-24T19:09:07.327Z", "PositionProperties": { "name" : "device1" }, "Accuracy": { "Horizontal": 10 } }, { "DeviceId": "2", "Position": [ -123.1230104928471, 49.27752402723152 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "3", "Position": [ -123.12325592118916, 49.27340530543111 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "4", "Position": [ -123.11958813096311, 49.27774641063121 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "5", "Position": [ -123.1277418058896, 49.2765989015285 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "6", "Position": [ -123.11964267059481, 49.274188155916534 ], "SampleTime": "2022-10-02T19:09:07.327Z" } ] }
AWS CLI

Per inviare un aggiornamento della posizione utilizzando i comandi AWS CLI

Utilizza il comando batch-update-device-position.

L'esempio seguente utilizza an AWS CLI per inviare a un tracker ExampleTrackerun aggiornamento della posizione del dispositivo per ExampleDevice-1 e ExampleDevice-2.

aws location batch-update-device-position \ --tracker-name ExampleTracker \ --updates '[{"DeviceId":"ExampleDevice-1","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z"},{"DeviceId":"ExampleDevice-2","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z","Accuracy":{"Horizontal":10.30},"PositionProperties":{"field1":"value1","field2":"value2"}}]'

Ottieni la cronologia delle posizioni di un dispositivo da un tracker

La tua risorsa Amazon Location Tracker conserva la cronologia delle posizioni di tutti i tuoi dispositivi tracciati per un periodo di 30 giorni. Puoi recuperare la cronologia delle posizioni del dispositivo, inclusi tutti i metadati associati, dalla tua risorsa di localizzazione. I seguenti esempi utilizzano le AWS CLI, o le API Amazon Location.

API

Per ottenere la cronologia delle posizioni del dispositivo da un tracker utilizzando le API di localizzazione di Amazon

Usa l'GetDevicePositionHistoryoperazione dalle API di Amazon Location Trackers.

L'esempio seguente utilizza una richiesta URI API per ottenere la cronologia delle posizioni del dispositivo ExampleDeviceda un tracker chiamato ExampleTrackerstarting from 19:05:07 (inclusive) e termina con 19:20:07 (exclusive) on. 2020–10–02

POST /tracking/v0/trackers/ExampleTracker/devices/ExampleDevice/list-positions Content-type: application/json { "StartTimeInclusive": "2020-10-02T19:05:07.327Z", "EndTimeExclusive": "2020-10-02T19:20:07.327Z" }
AWS CLI

Per ottenere la cronologia delle posizioni del dispositivo da un tracker utilizzando i comandi AWS CLI

Utilizza il comando get-device-position-history.

L'esempio seguente utilizza an AWS CLI per ottenere la cronologia delle posizioni del dispositivo ExampleDeviceda un tracker chiamato ExampleTrackera partire da 19:05:07 (incluso) e termina con 19:20:07 (esclusivo) on. 2020–10–02

aws location \ get-device-position-history \ --device-id "ExampleDevice" \ --start-time-inclusive "2020-10-02T19:05:07.327Z" \ --end-time-exclusive "2020-10-02T19:20:07.327Z" \ --tracker-name "ExampleTracker"

Elenca le posizioni del dispositivo

Puoi visualizzare un elenco delle posizioni dei dispositivi per un tracker utilizzando o le API Amazon Location con l' ListDevicePositions API. AWS CLI Quando chiami l' ListDevicePositions API, viene restituito un elenco delle posizioni più recenti per tutti i dispositivi associati a un determinato tracker. Per impostazione predefinita, questa API restituisce 100 delle ultime posizioni del dispositivo per pagina di risultati per un determinato tracker. Per restituire solo i dispositivi all'interno di una regione specifica, utilizza il FilterGeometry parametro per creare una Bounding Polygon Query. In questo modo, quando si chiama ListDevicePositions, verranno restituiti solo i dispositivi all'interno del poligono.

Nota

Se desideri crittografare i tuoi dati utilizzando la tua chiave gestita AWS KMS dal cliente, la funzione Bounding Polygon Queries sarà disabilitata per impostazione predefinita. Questo perché utilizzando questa funzione, una rappresentazione delle posizioni del dispositivo non verrà crittografata utilizzando la chiave gestita. AWS KMS La posizione esatta del dispositivo, tuttavia, è ancora crittografata utilizzando la chiave gestita.

Puoi scegliere di attivare la funzione Bounding Polygon Queries. Questo viene fatto impostando il KmsKeyEnableGeospatialQueries parametro su true durante la creazione o l'aggiornamento di un Tracker.

API

Usa l'ListDevicePositionsoperazione dalle API di Amazon Location Trackers.

L'esempio seguente è una richiesta API per ottenere un elenco di posizioni dei dispositivi nell'area poligonale, utilizzando il parametro opzionale. FilterGeometry L'esempio restituisce 3 posizioni dei dispositivi presenti nell'area definita dall'Polygonarray.

POST /tracking/v0/trackers/TrackerName/list-positions HTTP/1.1 Content-type: application/json { "FilterGeometry": { "Polygon": [ [ [ -123.12003339442259, 49.27425121147397 ], [ -123.1176984148229, 49.277063620879744 ], [ -123.12389509145294, 49.277954183760926 ], [ -123.12755921328647, 49.27554025235713 ], [ -123.12330236586217, 49.27211836076236 ], [ -123.12003339442259, 49.27425121147397 ] ] ] }, "MaxResults": 3, "NextToken": "1234-5678-9012" }

Di seguito è riportato un esempio di risposta perListDevicePositions:

{ "Entries": [ { "DeviceId": "1", "SampleTime": "2022-10-24T19:09:07.327Z", "Position": [ -123.12245146162303, 49.27521118043802 ], "Accuracy": { "Horizontal": 10 }, "PositionProperties": { "name": "device1" } }, { "DeviceId": "3", "SampleTime": "2022-10-02T19:09:07.327Z", "Position": [ -123.12325592118916, 49.27340530543111 ] }, { "DeviceId": "2", "SampleTime": "2022-10-02T19:09:07.327Z", "Position": [ -123.1230104928471, 49.27752402723152 ] } ], "NextToken": "1234-5678-9012" }
CLI

Utilizza il comando list-trackers.

L'esempio seguente serve AWS CLI per ottenere un elenco di dispositivi in un'area poligonale.

aws location list-device-positions TODO: add arguments add props for filter geo