

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
<a name="device-location-resolve-solvers"></a>

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'API AWS IoT wireless o. AWS CLI

**Topics**
+ [Risoluzione della posizione del dispositivo (console)](#location-resolve-console)
+ [Risoluzione della posizione del dispositivo (API)](#location-resolve-api)
+ [Risoluzione dei problemi relativi alla risoluzione della posizione](#location-resolve-troubleshoot)

## Risoluzione della posizione del dispositivo (console)
<a name="location-resolve-console"></a>

Per risolvere la posizione del dispositivo (console)

1. Vai alla pagina di [localizzazione del dispositivo](https://console.aws.amazon.com/iot/home#/device-location-test) nella AWS IoT console.

1. 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](device-location-solvers-payload.md).
**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
                   }
               ]
           }]
       }
   }
   ```

1. 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, che includono le informazioni WGS84 sulla latitudine e la longitudine. Potrebbe anche includere un'informazione di altitudine.
   + Il tipo di informazioni sulla posizione restituite, ad esempio **Point** (Punto). [Un tipo di posizione del punto rappresenta la posizione come WGS84 latitudine e longitudine, codificata come punto GeoJSON.](https://geojson.org/geojson-spec.html#point)
   + 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](#location-resolve-troubleshoot).

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

1. 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. Servizio AWS Ad esempio, è possibile utilizzare la [Location (Ubicazione)](location-rule-action.md) per inviare i dati relativi alla posizione geografica al servizio di posizione Amazon.

## Risoluzione della posizione del dispositivo (API)
<a name="location-resolve-api"></a>

Per risolvere la posizione del dispositivo utilizzando l'API AWS IoT wireless, utilizza l'operazione [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)API o il comando [get-position-estimate](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-position-estimate.html)CLI. 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 memorizza le informazioni sulla posizione nel *locationout.json* file.

```
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 memorizzato nel file. *locationout.json* Il payload contiene le coordinate di WGS84 latitudine e longitudine, le informazioni sul livello di precisione e confidenza, il tipo di dati sulla posizione e il timestamp 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
<a name="location-resolve-troubleshoot"></a>

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](device-location-solvers-payload.md#location-solvers-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 Console di gestione AWS sessione o il token di AWS CLI sessione sono scaduti. Per risolvere questo errore, aggiorna il token di sessione per utilizzare o disconnettiti da Console di gestione AWS 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. 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.