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 a tracciare con Amazon Location
Questa sezione ti guida nella creazione di un'applicazione di tracciamento che acquisisca le posizioni dei dispositivi.
Argomenti
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 Amazon LocationAPIs.
Ogni aggiornamento della 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 archiviati 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 GPS satellitare, 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.
DistanceBased
il 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 diDistanceBased
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 Tutorial: collega un tracker a una raccolta di geofence in Amazon Location.
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.
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, utilizzando AWS JavaScript SDKv3
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 MQTT aggiornamenti a una risorsa AWS IoT Core e collegala alla tua risorsa tracker.
-
Invia aggiornamenti sulla posizione utilizzando Amazon Location TrackerAPI, utilizzando o Amazon Location. AWS CLI APIs Puoi usare il AWS SDKsper chiamarli APIs dalla tua applicazione iOS o Android.
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 la AWS CLI, o la posizione AmazonAPIs.
Elenca le posizioni del dispositivo
Puoi visualizzare un elenco delle posizioni dei dispositivi per un tracker utilizzando o la posizione APIs Amazon con. AWS CLI ListDevicePositions API Quando chiami il ListDevicePositions API, viene restituito un elenco delle ultime posizioni per tutti i dispositivi associati a un determinato tracker. Per impostazione predefinita, 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, utilizzate 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.