

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# AWS IoT Core Lokasi Perangkat
<a name="device-location"></a>


|  | 
| --- |
| Sebelum menggunakan fitur Lokasi AWS IoT Core Perangkat, tinjau Syarat dan Ketentuan untuk fitur ini. Perhatikan bahwa AWS dapat mengirimkan parameter permintaan pencarian geolokasi Anda, seperti data lokasi yang digunakan untuk menjalankan pencarian, dan informasi lainnya ke penyedia data pihak ketiga pilihan Anda, yang mungkin berada di luar Wilayah AWS yang Anda gunakan saat ini. Penyedia pihak ketiga dan pemecah yang akan digunakan dipilih berdasarkan muatan masukan yang diterima. Untuk informasi lebih lanjut, lihat [Ketentuan Layanan AWS](https://aws.amazon.com/service-terms). | 

Gunakan Lokasi AWS IoT Core Perangkat untuk menguji lokasi perangkat IoT Anda menggunakan pemecah pihak ketiga. *Solver* adalah algoritma yang disediakan oleh vendor pihak ketiga yang menyelesaikan data pengukuran dan memperkirakan lokasi perangkat Anda. Dengan mengidentifikasi lokasi perangkat Anda, Anda dapat melacak dan men-debug mereka di bidang untuk memecahkan masalah apa pun.

Data pengukuran yang dikumpulkan dari berbagai sumber diselesaikan, dan informasi geolokasi dilaporkan sebagai muatan [GeoJSON](https://geojson.org/). Format GeoJSON adalah format yang digunakan untuk menyandikan struktur data geografis. Payload berisi koordinat lintang dan bujur lokasi perangkat Anda, yang didasarkan pada sistem koordinat Sistem [Geodetik Dunia](https://gisgeography.com/wgs84-world-geodetic-system/) (). WGS84

**Topics**
+ [Jenis pengukuran dan pemecah](#location-measurement-types)
+ [Cara Kerja Lokasi AWS IoT Core Perangkat](#location-how-works)
+ [Cara menggunakan Lokasi AWS IoT Core Perangkat](#location-how-use)
+ [Menyelesaikan lokasi perangkat IoT](device-location-resolve-solvers.md)
+ [Menyelesaikan lokasi perangkat menggunakan topik AWS IoT Core MQTT Lokasi Perangkat](device-location-reserved-topics.md)
+ [Pemecah lokasi dan muatan perangkat](device-location-solvers-payload.md)

## Jenis pengukuran dan pemecah
<a name="location-measurement-types"></a>

AWS IoT Core Lokasi Perangkat bermitra dengan vendor pihak ketiga untuk menyelesaikan data pengukuran dan menyediakan perkiraan lokasi perangkat. Tabel berikut menunjukkan jenis pengukuran dan pemecah lokasi pihak ketiga, serta informasi tentang perangkat yang didukung. Untuk informasi tentang perangkat LoRa WAN dan mengonfigurasi lokasi perangkat untuknya, lihat [Mengonfigurasi posisi sumber daya LoRa WAN](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/lorawan-configure-location.html).

**catatan**  
Perangkat IoT umum dan perangkat Trotoar dapat menggunakan topik MQTT lokasi perangkat untuk mendapatkan informasi lokasi. Untuk jenis pengukuran alamat Wi-Fi, Seluler, dan IP, jika perangkat mempublikasikan data pengukuran ke [topik yang dicadangkan](device-location-reserved-topics.md) dalam format GeoJSON yang ditentukan AWS IoT Core , Lokasi Perangkat dapat menyelesaikan lokasi perangkat. Untuk jenis pengukuran GNSS, perangkat harus memiliki LR11xx chip untuk memindai data pengukuran untuk mendapatkan informasi lokasi yang diselesaikan menggunakan pemecah GNSS. Untuk informasi tentang memperoleh informasi lokasi untuk perangkat LoRa WAN, lihat [Mengonfigurasi posisi untuk sumber daya LoRa WAN](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/lorawan-configure-location.html) dalam *dokumentasi AWS IoT Nirkabel*.


**Jenis pengukuran dan pemecah**  

| Jenis pengukuran | Pemecah pihak ketiga | Perangkat yang didukung | 
| --- | --- | --- | 
| Titik akses Wi-Fi | Pemecah berbasis Wi-Fi  | Perangkat IoT umum, LoRa WAN, dan perangkat Amazon Sidewalk | 
| Menara radio seluler: data GSM, LTE, CDMA, SCDMA, WCMDA, dan TD-SCDMA | Pemecah berbasis seluler  | Perangkat IoT umum, LoRa WAN, dan perangkat Amazon Sidewalk | 
| Alamat IP | Pemecah pencarian terbalik IP | Perangkat IoT apa pun yang terhubung melalui TCP/IP | 
| Data pemindaian GNSS (pesan NAV) | Pemecah GNSS | Perangkat IoT umum, LoRa WAN, dan perangkat Amazon Sidewalk | 
| Bluetooth Energi Rendah (BLE) | Pemecah berbasis BLE | Perangkat Amazon Sidewalk | 

Untuk informasi selengkapnya tentang pemecah lokasi dan contoh yang menunjukkan muatan perangkat untuk berbagai jenis pengukuran, lihat. [Pemecah lokasi dan muatan perangkat](device-location-solvers-payload.md)

## Cara Kerja Lokasi AWS IoT Core Perangkat
<a name="location-how-works"></a>

Diagram berikut menunjukkan cara Lokasi AWS IoT Core Perangkat mengumpulkan data pengukuran dan menyelesaikan informasi lokasi perangkat Anda.

![\[Gambar yang menunjukkan bagaimana Lokasi AWS IoT Core Perangkat menggunakan data pengukuran mentah Anda dan menyelesaikan lokasi perangkat.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/iot-device-location.png)


Langkah-langkah berikut menunjukkan cara kerja Lokasi AWS IoT Core Perangkat.

1. 

**Menerima data pengukuran**

   Data pengukuran mentah yang terkait dengan lokasi perangkat Anda pertama kali dikirim dari perangkat. Data pengukuran ditentukan sebagai muatan JSON.

1. 

**Data pengukuran proses**

   Data pengukuran diproses, dan Lokasi AWS IoT Core Perangkat memilih data pengukuran yang akan digunakan, yang dapat berupa Wi-Fi, seluler, pemindaian GNSS, atau informasi alamat IP.

1. 

**Pilih pemecah**

   Pemecah pihak ketiga dipilih berdasarkan data pengukuran. Misalnya, jika data pengukuran berisi informasi Wi-Fi dan alamat IP, ia memilih pemecah Wi-Fi dan pemecah pencarian terbalik IP.

1. 

**Dapatkan lokasi yang diselesaikan**

   Permintaan API dikirim ke penyedia pemecah yang meminta penyelesaian lokasi. AWS IoT Core Lokasi Perangkat kemudian mendapatkan perkiraan informasi geolokasi dari pemecah.

1. 

**Pilih lokasi yang diselesaikan**

   Informasi lokasi yang diselesaikan dan akurasinya dibandingkan, dan Lokasi AWS IoT Core Perangkat memilih hasil geolokasi dengan akurasi tertinggi.

1. 

**Informasi lokasi keluaran**

   Informasi geolokasi dikirimkan kepada Anda sebagai muatan GeoJSON. Muatan berisi koordinat WGS84 geografis, informasi akurasi, tingkat kepercayaan, dan stempel waktu di mana lokasi yang diselesaikan diperoleh.

## Cara menggunakan Lokasi AWS IoT Core Perangkat
<a name="location-how-use"></a>

Langkah-langkah berikut menunjukkan cara menggunakan Lokasi AWS IoT Core Perangkat.

1. 

**Berikan data pengukuran**

   Tentukan data pengukuran mentah yang terkait dengan lokasi perangkat Anda sebagai muatan JSON. Untuk mengambil data pengukuran payload, buka log perangkat Anda, atau gunakan CloudWatch Log, dan salin informasi data payload. Payload JSON harus berisi satu atau lebih jenis pengukuran data. Untuk contoh yang menunjukkan format payload untuk berbagai pemecah, lihat. [Pemecah lokasi dan muatan perangkat](device-location-solvers-payload.md)

1. 

**Selesaikan informasi lokasi**

   Menggunakan halaman [Lokasi Perangkat](https://console.aws.amazon.com/iot/home#/device-location-test) di AWS IoT konsol atau operasi [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)API, teruskan data pengukuran muatan dan selesaikan lokasi perangkat. AWS IoT Core Lokasi Perangkat kemudian memilih pemecah dengan akurasi tertinggi dan melaporkan lokasi perangkat. Untuk informasi selengkapnya, lihat [Menyelesaikan lokasi perangkat IoT](device-location-resolve-solvers.md).

1. 

**Salin informasi lokasi**

   Verifikasi informasi geolokasi yang diselesaikan oleh Lokasi AWS IoT Core Perangkat dan dilaporkan sebagai muatan GeoJSON. Anda dapat menyalin muatan untuk digunakan dengan aplikasi Anda dan Layanan AWS s lainnya. Misalnya, Anda dapat mengirim data lokasi geografis Anda ke Amazon Location Service menggunakan tindakan [Lokasi](location-rule-action.md) AWS IoT aturan.

Topik berikut menunjukkan cara menggunakan Lokasi AWS IoT Core Perangkat dan contoh muatan lokasi perangkat.
+ [Menyelesaikan lokasi perangkat IoT](device-location-resolve-solvers.md)
+ [Pemecah lokasi dan muatan perangkat](device-location-solvers-payload.md)

# Menyelesaikan lokasi perangkat IoT
<a name="device-location-resolve-solvers"></a>

Gunakan Lokasi AWS IoT Core Perangkat untuk memecahkan kode data pengukuran dari perangkat Anda, dan menyelesaikan lokasi perangkat menggunakan pemecah pihak ketiga. Lokasi yang diselesaikan dihasilkan sebagai muatan GeoJSON dengan koordinat geografis dan informasi akurasi. Anda dapat menyelesaikan lokasi perangkat Anda dari AWS IoT konsol, API AWS IoT Nirkabel, atau AWS CLI.

**Topics**
+ [Menyelesaikan lokasi perangkat (konsol)](#location-resolve-console)
+ [Menyelesaikan lokasi perangkat (API)](#location-resolve-api)
+ [Memecahkan masalah kesalahan saat menyelesaikan lokasi](#location-resolve-troubleshoot)

## Menyelesaikan lokasi perangkat (konsol)
<a name="location-resolve-console"></a>

Untuk menyelesaikan lokasi perangkat (konsol)

1. Buka halaman [Lokasi Perangkat](https://console.aws.amazon.com/iot/home#/device-location-test) di AWS IoT konsol.

1. Dapatkan data pengukuran muatan dari log perangkat Anda atau dari CloudWatch Log, dan masukkan di bagian **Selesaikan posisi melalui payload**.

   Kode berikut menunjukkan contoh payload JSON. Muatan berisi data pengukuran seluler dan Wi-Fi. Jika muatan Anda berisi jenis data pengukuran tambahan, pemecah dengan akurasi terbaik akan digunakan. Untuk informasi selengkapnya dan contoh muatan, lihat[Pemecah lokasi dan muatan perangkat](device-location-solvers-payload.md).
**catatan**  
Payload JSON harus berisi setidaknya satu jenis data pengukuran.

   ```
   {
       "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. Untuk menyelesaikan informasi lokasi, pilih **Selesaikan**.

   Informasi lokasi adalah jenis gumpalan dan dikembalikan sebagai muatan yang menggunakan format GeoJSON, yang merupakan format yang digunakan untuk pengkodean struktur data geografis. Muatan berisi:
   + Koordinat WGS84 geografis, yang mencakup informasi lintang dan bujur. Mungkin juga termasuk informasi ketinggian.
   + Jenis informasi lokasi yang dilaporkan, seperti **Point**. [Jenis lokasi titik mewakili lokasi sebagai WGS84 garis lintang dan bujur, dikodekan sebagai titik GeoJSON.](https://geojson.org/geojson-spec.html#point)
   + Informasi akurasi horizontal dan vertikal, yang menunjukkan perbedaan, dalam meter, antara informasi lokasi yang diperkirakan oleh pemecah dan lokasi perangkat yang sebenarnya.
   + Tingkat kepercayaan, yang menunjukkan ketidakpastian dalam respon estimasi lokasi. Nilai default adalah 0,68, yang menunjukkan probabilitas 68% bahwa lokasi perangkat sebenarnya berada dalam radius ketidakpastian dari perkiraan lokasi.
   + Kota, negara bagian, negara, dan kode pos tempat perangkat berada. Informasi ini akan dilaporkan hanya ketika pemecah pencarian balik IP digunakan.
   + Informasi stempel waktu, yang sesuai dengan tanggal dan waktu di mana lokasi diselesaikan. Ini menggunakan format timestamp Unix.

   Kode berikut menunjukkan contoh payload GeoJSON dikembalikan dengan menyelesaikan lokasi.
**catatan**  
Jika Lokasi AWS IoT Core Perangkat melaporkan kesalahan saat mencoba menyelesaikan lokasi, Anda dapat memecahkan masalah kesalahan dan menyelesaikan lokasi. Untuk informasi selengkapnya, lihat [Memecahkan masalah kesalahan saat menyelesaikan lokasi](#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. Buka bagian **Lokasi sumber daya** dan verifikasi informasi geolokasi yang dilaporkan oleh Lokasi AWS IoT Core Perangkat. Anda dapat menyalin muatan untuk digunakan dengan aplikasi lain dan Layanan AWS s. Misalnya, Anda dapat menggunakan file [Lokasi](location-rule-action.md) untuk mengirim data lokasi geografis Anda ke Amazon Location Service.

## Menyelesaikan lokasi perangkat (API)
<a name="location-resolve-api"></a>

Untuk menyelesaikan lokasi perangkat menggunakan AWS IoT Wireless API, gunakan operasi [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)API atau perintah [get-position-estimate](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-position-estimate.html)CLI. Tentukan data pengukuran payload sebagai input, dan jalankan operasi API untuk menyelesaikan lokasi perangkat.

**catatan**  
Operasi `GetPositionEstimate` API tidak menyimpan informasi perangkat atau status apa pun dan tidak dapat digunakan untuk mengambil data lokasi historis. Ini melakukan operasi satu kali yang menyelesaikan data pengukuran dan menghasilkan perkiraan lokasi. Untuk mengambil informasi lokasi, Anda harus menentukan informasi payload setiap kali Anda melakukan operasi API ini.

Perintah berikut menunjukkan contoh cara menyelesaikan lokasi menggunakan operasi API ini.

**catatan**  
Saat menjalankan perintah `get-position-estimate` CLI, Anda harus menentukan file JSON output sebagai input pertama. File JSON ini akan menyimpan perkiraan informasi lokasi yang diperoleh sebagai respons dari CLI dalam format GeoJSON. Misalnya, perintah berikut menyimpan informasi lokasi dalam *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
```

Contoh ini mencakup titik akses Wi-Fi dan alamat IP sebagai jenis pengukuran. AWS IoT Core Lokasi Perangkat memilih antara pemecah Wi-Fi dan pemecah pencarian balik IP, dan memilih pemecah dengan akurasi yang lebih tinggi.

Lokasi yang diselesaikan dikembalikan sebagai muatan yang menggunakan format GeoJSON, yang merupakan format yang digunakan untuk pengkodean struktur data geografis. Kemudian disimpan dalam *locationout.json* file. Muatan berisi koordinat WGS84 lintang dan bujur, informasi tingkat akurasi dan kepercayaan, tipe data lokasi, dan stempel waktu di mana lokasi diselesaikan.

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

## Memecahkan masalah kesalahan saat menyelesaikan lokasi
<a name="location-resolve-troubleshoot"></a>

Ketika Anda mencoba untuk menyelesaikan lokasi, Anda mungkin melihat salah satu kode kesalahan berikut. AWS IoT Core Lokasi Perangkat mungkin menghasilkan kesalahan saat menggunakan operasi `GetPositionEstimate` API, atau merujuk ke nomor baris yang terkait dengan kesalahan di AWS IoT konsol.
+ 

**400 kesalahan**  
Kesalahan ini menunjukkan bahwa format JSON payload perangkat tidak dapat divalidasi oleh AWS IoT Core Lokasi Perangkat. Kesalahan mungkin terjadi karena:
  + Data pengukuran JSON diformat secara tidak benar.
  + Muatan hanya berisi informasi stempel waktu.
  + Parameter data pengukuran, seperti alamat IP, tidak valid.

  Untuk mengatasi kesalahan ini, periksa apakah JSON Anda diformat dengan benar dan berisi data dari satu atau beberapa jenis pengukuran sebagai input. Jika alamat IP tidak valid, untuk informasi tentang bagaimana Anda dapat memberikan alamat IP yang valid untuk mengatasi kesalahan, lihat. [Pemecah pencarian terbalik IP](device-location-solvers-payload.md#location-solvers-ip)
+ 

**403 kesalahan**  
Kesalahan ini menunjukkan bahwa Anda tidak memiliki izin untuk melakukan operasi API atau menggunakan AWS IoT konsol untuk mengambil lokasi perangkat. Untuk mengatasi kesalahan ini, verifikasi bahwa Anda memiliki izin yang diperlukan untuk melakukan tindakan ini. Kesalahan ini mungkin terjadi jika Konsol Manajemen AWS sesi Anda atau token AWS CLI sesi Anda telah kedaluwarsa. Untuk mengatasi kesalahan ini, segarkan token sesi untuk menggunakan AWS CLI, atau keluar dari, Konsol Manajemen AWS lalu masuk menggunakan kredensyal Anda.
+ 

**404 kesalahan**  
Kesalahan ini menunjukkan bahwa tidak ada informasi lokasi yang ditemukan atau diselesaikan oleh Lokasi AWS IoT Core Perangkat. Kesalahan mungkin terjadi karena kasus-kasus seperti data yang tidak mencukupi dalam input data pengukuran. Contoh:
  + Alamat MAC atau informasi menara seluler tidak cukup.
  + Alamat IP tidak tersedia untuk mencari dan mengambil lokasi.
  + Payload GNSS tidak cukup.

  Untuk mengatasi kesalahan dalam kasus seperti itu, periksa apakah data pengukuran Anda berisi informasi yang cukup yang diperlukan untuk menyelesaikan lokasi perangkat.
+ 

**500 kesalahan**  
Kesalahan ini menunjukkan bahwa pengecualian server internal terjadi saat Lokasi AWS IoT Core Perangkat mencoba menyelesaikan lokasi. Untuk mencoba memperbaiki kesalahan ini, segarkan sesi dan coba lagi mengirimkan data pengukuran yang akan diselesaikan.

# Menyelesaikan lokasi perangkat menggunakan topik AWS IoT Core MQTT Lokasi Perangkat
<a name="device-location-reserved-topics"></a>

Anda dapat menggunakan topik MQTT yang dipesan untuk mendapatkan informasi lokasi terbaru untuk perangkat Anda dengan fitur Lokasi AWS IoT Core Perangkat.

## Format topik MQTT lokasi perangkat
<a name="device-location-topics-format"></a>

Topik cadangan untuk Lokasi AWS IoT Core Perangkat menggunakan awalan berikut:

`$aws/device_location/{customer_device_id}/`

Untuk membuat topik lengkap, pertama-tama ganti `customer_device_id` dengan ID unik yang Anda gunakan untuk mengidentifikasi perangkat Anda. Kami menyarankan Anda menentukan`WirelessDeviceId`, seperti untuk perangkat LoRa WAN dan Trotoar, dan`thingName`, jika perangkat Anda terdaftar sebagai AWS IoT sesuatu. Anda kemudian menambahkan topik dengan rintisan topik, seperti `get_position_estimate` atau `get_position_estimate/accepted` seperti yang ditunjukkan di bagian berikut.

**catatan**  
Hanya `{customer_device_id}` dapat berisi huruf, angka, dan tanda hubung. Saat berlangganan topik lokasi perangkat, Anda hanya dapat menggunakan tanda plus (\$1) sebagai karakter wildcard. Misalnya, Anda dapat menggunakan `+` wildcard `{customer_device_id}` untuk mendapatkan informasi lokasi untuk perangkat Anda. Saat Anda berlangganan topik`$aws/device_location/+/get_position_estimate/accepted`, pesan akan dipublikasikan dengan informasi lokasi untuk perangkat yang cocok dengan ID perangkat apa pun jika berhasil diselesaikan.

Berikut ini adalah topik cadangan yang digunakan untuk berinteraksi dengan Lokasi AWS IoT Core Perangkat.


**Lokasi perangkat topik MQTT**  

| Topik | Operasi yang diizinkan | Deskripsi | 
| --- | --- | --- | 
|  *customer\$1device\$1id*\$1aws/device\$1location/ /get\$1position\$1estimate  | Publikasikan |  Perangkat memublikasikan topik ini agar data pengukuran mentah yang dipindai diselesaikan oleh Lokasi AWS IoT Core Perangkat.  | 
|  *customer\$1device\$1id*\$1aws/device\$1location/ /get\$1position\$1estimate/diterima  | Langganan |  AWS IoT Core Lokasi Perangkat memublikasikan informasi lokasi ke topik ini saat berhasil menyelesaikan lokasi perangkat.  | 
|  *customer\$1device\$1id*\$1aws/device\$1location/ /get\$1position\$1estimate/ditolak  | Langganan |  AWS IoT Core Lokasi Perangkat memublikasikan informasi kesalahan ke topik ini jika gagal menyelesaikan lokasi perangkat.  | 

## Kebijakan untuk topik MQTT lokasi perangkat
<a name="device-location-topics-policy"></a>

Untuk menerima pesan dari topik lokasi perangkat, perangkat Anda harus menggunakan kebijakan yang memungkinkannya terhubung ke gateway AWS IoT perangkat dan berlangganan topik MQTT.

Berikut ini adalah contoh kebijakan yang diperlukan untuk menerima pesan untuk berbagai topik.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Publish"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate/accepted",
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate/rejected"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/device_location/device-123/get_position_estimate/accepted",
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/device_location/device-123/get_position_estimate/rejected"
            ]
        }
    ]
}
```

## Topik dan muatan lokasi perangkat
<a name="device-location-topics-payload"></a>

Berikut ini menampilkan topik Lokasi AWS IoT Core Perangkat, format payload pesannya, dan kebijakan contoh untuk setiap topik.

**Topics**
+ [/get\$1position\$1estimasi](#get-position-estimate)
+ [/get\$1position\$1estimate/diterima](#get-position-estimate-accepted)
+ [/get\$1position\$1estimate/ditolak](#get-position-estimate-rejected)

### /get\$1position\$1estimasi
<a name="get-position-estimate"></a>

Publikasikan pesan ke topik ini untuk mendapatkan data pengukuran mentah dari perangkat yang akan diselesaikan oleh Lokasi AWS IoT Core Perangkat.

```
$aws/device_location/customer_device_id/get_position_estimate
```

AWS IoT Core Lokasi Perangkat merespons dengan memublikasikan salah satu [/get\$1position\$1estimate/diterima](#get-position-estimate-accepted) atau[/get\$1position\$1estimate/ditolak](#get-position-estimate-rejected).

**catatan**  
Pesan yang dipublikasikan untuk topik ini harus berupa payload JSON yang valid. Jika pesan input tidak dalam format JSON yang valid, Anda tidak akan mendapatkan respons apa pun. Untuk informasi selengkapnya, lihat [Payload pesan](#get-position-estimate-payload).

#### Muatan pesan
<a name="get-position-estimate-payload"></a>

Format payload pesan mengikuti struktur yang mirip dengan badan permintaan operasi AWS IoT Wireless API, [https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html). Ini berisi:
+ `Timestamp`String opsional, yang sesuai dengan tanggal dan waktu lokasi diselesaikan. `Timestamp`String dapat memiliki panjang minimum 1 dan panjang maksimum 10.
+ `MessageId`String opsional, yang dapat digunakan untuk memetakan permintaan ke respons. Jika Anda menentukan string ini, pesan yang dipublikasikan ke `get_position_estimate/rejected` topik `get_position_estimate/accepted` atau akan berisi ini`MessageId`. `MessageID`String dapat memiliki panjang minimum 1 dan panjang maksimum 256.
+ Data pengukuran dari perangkat yang berisi satu atau lebih jenis pengukuran berikut:
  + [https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_WiFiAccessPoint.html](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_WiFiAccessPoint.html)
  + [https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_CellTowers.html](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_CellTowers.html)
  + [https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_Ip.html](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_Ip.html)
  + [https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_Gnss.html](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_Gnss.html)

Berikut ini menunjukkan payload pesan sampel.

```
{
    "Timestamp": "1664313161",               
    "MessageId": "ABCD1",                
    "WiFiAccessPoints":  [                           
        {
            "MacAddress": "A0:EC:F9:1E:32:C1",                   
            "Rss": -66 
        }
    ],    
    "Ip":{
        "IpAddress": "54.192.168.0"                         
    },
    "Gnss":{
      "Payload":"8295A614A2029517F4F77C0A7823B161A6FC57E25183D96535E3689783F6CA48",
      "CaptureTime":1354393948
    }
}
```

#### Contoh kebijakan
<a name="get-position-estimate-policy"></a>

Berikut ini adalah contoh kebijakan yang diperlukan:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Publish"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate"
            ]
        }
    ]
}
```

### /get\$1position\$1estimate/diterima
<a name="get-position-estimate-accepted"></a>

AWS IoT Core Lokasi Perangkat menerbitkan respons terhadap topik ini saat mengembalikan informasi lokasi yang telah diselesaikan untuk perangkat Anda. Informasi lokasi dikembalikan dalam format [GeoJSON](https://geojson.org/).

```
$aws/device_location/customer_device_id/get_position_estimate/accepted
```

Berikut ini menunjukkan payload pesan dan kebijakan contoh.

#### Muatan pesan
<a name="get-position-estimate-accepted-payload"></a>

Berikut ini adalah contoh payload pesan dalam format GeoJSON. Jika Anda menetapkan data pengukuran mentah dan Lokasi AWS IoT Core Perangkat berhasil menyelesaikan informasi lokasi, maka payload pesan akan menampilkan `MessageId` informasi yang sama. `MessageId`

```
{
    "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",
        "messageId": "ABCD1"
    }
}
```

#### Contoh kebijakan
<a name="get-position-estimate-accepted-policy"></a>

Berikut ini adalah contoh kebijakan yang diperlukan:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/device_location/device-123/get_position_estimate/accepted"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate/accepted"
            ]
        }
    ]
}
```

### /get\$1position\$1estimate/ditolak
<a name="get-position-estimate-rejected"></a>

AWS IoT Core Lokasi Perangkat memublikasikan respons kesalahan terhadap topik ini jika gagal menyelesaikan lokasi perangkat.

```
$aws/device_location/customer_device_id/get_position_estimate/rejected
```

Berikut ini menunjukkan payload pesan dan contoh kebijakan. Untuk informasi tentang kesalahan, lihat[Memecahkan masalah kesalahan saat menyelesaikan lokasi](device-location-resolve-solvers.md#location-resolve-troubleshoot).

#### Muatan pesan
<a name="get-position-estimate-rejected-payload"></a>

Berikut ini adalah contoh payload pesan yang menyediakan kode kesalahan dan pesan, yang menunjukkan mengapa Lokasi AWS IoT Core Perangkat gagal menyelesaikan informasi lokasi. Jika Anda menentukan `MessageId` saat memberikan data pengukuran mentah dan Lokasi AWS IoT Core Perangkat gagal menyelesaikan informasi lokasi, maka `MessageId` informasi yang sama akan dikembalikan dalam muatan pesan.

```
{
    "errorCode": 500,
    "errorMessage":"Internal server error",
    "messageId": "ABCD1"
}
```

#### Contoh kebijakan
<a name="get-position-estimate-rejected-policy"></a>

Berikut ini adalah contoh kebijakan yang diperlukan:

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iot:Subscribe"
      ],
      "Resource": [
        "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/device_location/device-123/get_position_estimate/rejected"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iot:Receive"
      ],
      "Resource": [
        "arn:aws:iot:us-east-1:123456789012:topic/$aws/device_location/device-123/get_position_estimate/rejected"
      ]
    }
  ]
}
```

# Pemecah lokasi dan muatan perangkat
<a name="device-location-solvers-payload"></a>

Pemecah lokasi adalah algoritma yang dapat digunakan untuk menyelesaikan lokasi perangkat IoT Anda. AWS IoT Core Lokasi Perangkat mendukung pemecah lokasi berikut. Anda akan melihat contoh format payload JSON untuk jenis pengukuran ini, perangkat yang didukung oleh pemecah, dan bagaimana lokasi diselesaikan.

Untuk menyelesaikan lokasi perangkat, tentukan satu atau beberapa tipe data pengukuran ini. Satu lokasi yang diselesaikan akan dikembalikan untuk semua data pengukuran yang digabungkan.

**Topics**
+ [Pemecah berbasis Wi-Fi](#location-solvers-wifi)
+ [Pemecah berbasis seluler](#location-solvers-cellular)
+ [Pemecah pencarian terbalik IP](#location-solvers-ip)
+ [Pemecah GNSS](#location-solvers-gnss)
+ [Pemecah BLE untuk perangkat berkemampuan Amazon Sidewalk](#location-solvers-ble)

## Pemecah berbasis Wi-Fi
<a name="location-solvers-wifi"></a>

Gunakan pemecah berbasis Wi-Fi untuk menyelesaikan lokasi menggunakan informasi pemindaian dari titik akses Wi-Fi. Pemecah ini mendukung teknologi WLAN, dan dapat digunakan untuk menghitung lokasi perangkat untuk perangkat IoT umum yang terhubung melalui TCP/IP, perangkat LoRa nirkabel WAN, dan perangkat berkemampuan Amazon Sidewalk. 

Perangkat LoRa WAN harus memiliki chipset LoRa Edge, yang dapat memecahkan kode informasi pemindaian Wi-Fi yang masuk. LoRa Edge adalah platform daya ultra-rendah yang mengintegrasikan LoRa transceiver jarak jauh, pemindai GNSS multi-konstelasi, dan pemindai MAC Wi-Fi pasif yang menargetkan aplikasi geolokasi. Ketika pesan uplink diterima dari perangkat, data pemindaian Wi-Fi dikirim ke Lokasi AWS IoT Core Perangkat, dan lokasi diperkirakan berdasarkan hasil pemindaian Wi-Fi. Informasi yang diterjemahkan kemudian diteruskan ke pemecah berbasis Wi-Fi untuk mengambil informasi lokasi.

Untuk mempelajari selengkapnya tentang menyelesaikan data lokasi untuk perangkat berkemampuan Amazon Sidewalk, kunjungi panduan [AWS IoT Core untuk Amazon Sidewalk pengembang](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/iot-sidewalk.html).

### Contoh muatan pemecah berbasis Wi-Fi
<a name="location-solvers-wifi-payload"></a>

Kode berikut menunjukkan contoh payload JSON dari perangkat yang berisi data pengukuran. Ketika Lokasi AWS IoT Core Perangkat menerima data ini sebagai input, ia mengirimkan permintaan HTTP ke penyedia pemecah untuk menyelesaikan informasi lokasi. Untuk mengambil informasi, tentukan nilai untuk Alamat MAC dan RSS (kekuatan sinyal yang diterima). Untuk melakukan ini, berikan payload JSON menggunakan format ini, atau gunakan parameter [WiFiAccessPointsobjek](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_WiFiAccessPoint.html) operasi [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)API.

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

## Pemecah berbasis seluler
<a name="location-solvers-cellular"></a>

 Anda dapat menggunakan pemecah berbasis seluler untuk menyelesaikan lokasi menggunakan data pengukuran yang diperoleh dari menara radio seluler. Pemecah mendukung teknologi berikut. Satu informasi lokasi yang diselesaikan diperoleh, bahkan jika Anda menyertakan data pengukuran dari salah satu atau semua teknologi ini.
+ GSM
+ CDMA
+ WCDMA
+ TD-SCDMA
+ LTE

### Contoh muatan pemecah berbasis seluler
<a name="location-solvers-cellular-payload"></a>

Kode berikut menunjukkan contoh muatan JSON dari perangkat yang berisi data pengukuran seluler. Ketika Lokasi AWS IoT Core Perangkat menerima data ini sebagai input, ia mengirimkan permintaan HTTP ke penyedia pemecah untuk menyelesaikan informasi lokasi. Untuk mengambil informasi, Anda dapat memberikan payload JSON menggunakan format ini di konsol, atau menentukan nilai untuk [CellTowers](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html#iotwireless-GetPositionEstimate-request-CellTowers)parameter operasi API. [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html) Anda dapat memberikan data pengukuran dengan menentukan nilai untuk parameter menggunakan salah satu atau semua teknologi seluler ini.

#### LTE (Evolusi jangka panjang)
<a name="location-solvers-cellular-lte"></a>

Saat Anda menggunakan data pengukuran ini, Anda harus menentukan informasi seperti jaringan dan kode negara jaringan seluler, dan parameter tambahan opsional termasuk informasi tentang ID lokal. Kode berikut menunjukkan contoh format payload. Untuk informasi selengkapnya tentang parameter ini, lihat [objek LTE](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_LteObj.html).

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

#### GSM (Sistem Global untuk Komunikasi Seluler)
<a name="location-solvers-cellular-gsm"></a>

Saat Anda menggunakan data pengukuran ini, Anda harus menentukan informasi seperti jaringan dan kode negara jaringan seluler, informasi stasiun pangkalan, dan parameter tambahan opsional. Kode berikut menunjukkan contoh format payload. Untuk informasi selengkapnya tentang parameter ini, lihat [objek GSM](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GsmObj.html).

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

#### CDMA (Akses ganda pembagian kode)
<a name="location-solvers-cellular-cdma"></a>

Saat Anda menggunakan data pengukuran ini, Anda harus menentukan informasi seperti daya sinyal dan informasi identifikasi, informasi stasiun pangkalan, dan parameter tambahan opsional. Kode berikut menunjukkan contoh format payload. Untuk informasi selengkapnya tentang parameter ini, lihat [objek CDMA](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_CdmaObj.html).

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

#### WCDMA (akses ganda pembagian kode Wideband)
<a name="location-solvers-cellular-wcdma"></a>

Saat Anda menggunakan data pengukuran ini, Anda harus menentukan informasi seperti kode jaringan dan negara, daya sinyal dan informasi identifikasi, informasi stasiun pangkalan, dan parameter tambahan opsional. Kode berikut menunjukkan contoh format payload. Untuk informasi selengkapnya tentang parameter ini, lihat [objek CDMA](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_CdmaObj.html).

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

#### TD-SCDMA (Akses ganda pembagian kode sinkron pembagian waktu)
<a name="location-solvers-cellular-tdscdma"></a>

Saat Anda menggunakan data pengukuran ini, Anda harus menentukan informasi seperti kode jaringan dan negara, daya sinyal dan informasi identifikasi, informasi stasiun pangkalan, dan parameter tambahan opsional. Kode berikut menunjukkan contoh format payload. Untuk informasi selengkapnya tentang parameter ini, lihat [objek CDMA](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_CdmaObj.html).

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

## Pemecah pencarian terbalik IP
<a name="location-solvers-ip"></a>

Anda dapat menggunakan pemecah pencarian terbalik IP untuk menyelesaikan lokasi menggunakan alamat IP sebagai input. Pemecah dapat memperoleh informasi lokasi dari perangkat yang telah disediakan. AWS IoT Tentukan informasi alamat IP menggunakan format yang merupakan pola IPv4 atau IPv6 standar, atau pola terkompresi IPv6 hex. Anda kemudian mendapatkan perkiraan lokasi yang diselesaikan, termasuk informasi tambahan seperti kota dan negara tempat perangkat berada.

**catatan**  
Dengan menggunakan pencarian terbalik IP, Anda setuju untuk tidak menggunakannya untuk tujuan mengidentifikasi atau menemukan alamat rumah tangga atau jalan tertentu.

### Contoh payload pemecah pencarian terbalik IP
<a name="location-solvers-ip-payload"></a>

Kode berikut menunjukkan contoh payload JSON dari perangkat yang berisi data pengukuran. Saat Lokasi AWS IoT Core Perangkat menerima informasi alamat IP dalam data pengukuran, lokasi akan mencari informasi ini di database penyedia pemecah, yang kemudian digunakan untuk menyelesaikan informasi lokasi. Untuk mengambil informasi, berikan payload JSON menggunakan format ini, atau tentukan nilai untuk parameter [Ip](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html#iotwireless-GetPositionEstimate-request-Ip) operasi API. [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)

**catatan**  
Ketika pemecah ini digunakan, kota, negara bagian, negara, dan kode pos tempat perangkat berada juga dilaporkan selain koordinat. Sebagai contoh, lihat [Menyelesaikan lokasi perangkat (konsol)](device-location-resolve-solvers.md#location-resolve-console).

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

## Pemecah GNSS
<a name="location-solvers-gnss"></a>

Gunakan pemecah GNSS (Global Navigation Satellite System) untuk mengambil lokasi perangkat menggunakan informasi yang terdapat dalam pesan hasil pemindaian GNSS atau pesan NAV. Anda dapat secara opsional memberikan informasi bantuan GNSS tambahan, yang mengurangi jumlah variabel yang harus digunakan pemecah untuk mencari sinyal. Dengan memberikan informasi bantuan ini, yang mencakup posisi, ketinggian, dan waktu pengambilan serta informasi akurasi, pemecah dapat dengan mudah mengidentifikasi satelit dalam pandangan dan menghitung lokasi perangkat.

Pemecah ini dapat digunakan dengan perangkat LoRa WAN dan perangkat berkemampuan Amazon Sidewalk, serta perangkat lain yang telah disediakan dengan perangkat AWS IoT yang telah disediakan. AWS IoT Untuk perangkat IoT umum, jika perangkat mendukung estimasi lokasi menggunakan GNSS, ketika informasi pemindaian GNSS diterima dari perangkat, transceiver menyelesaikan informasi lokasi. Untuk perangkat LoRa WAN, perangkat harus memiliki chipset LoRa Edge. Ketika pesan uplink diterima dari perangkat, data pemindaian GNSS dikirim ke AWS IoT LoRa WAN atau AWS IoT Amazon Sidewalk, dan lokasi diperkirakan berdasarkan hasil pemindaian dari transceiver.

### Contoh muatan pemecah GNSS
<a name="location-solvers-gnss-payload"></a>

Kode berikut menunjukkan contoh payload JSON dari perangkat yang berisi data pengukuran. Saat Lokasi AWS IoT Core Perangkat menerima informasi pemindaian GNSS yang berisi muatan dalam data pengukuran, ia menggunakan transceiver dan informasi bantuan tambahan apa pun yang disertakan untuk mencari sinyal dan menyelesaikan informasi lokasi. Untuk mengambil informasi, berikan payload JSON menggunakan format ini, atau tentukan nilai untuk parameter [Gnss](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html#iotwireless-GetPositionEstimate-request-Gnss) dari operasi API. [GetPositionEstimate](https://docs.aws.amazon.com/iot-wireless/latest/apireference/API_GetPositionEstimate.html)

**catatan**  
Sebelum Lokasi AWS IoT Core Perangkat dapat menyelesaikan lokasi perangkat, Anda harus menghapus byte tujuan dari payload.

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

## Pemecah BLE untuk perangkat berkemampuan Amazon Sidewalk
<a name="location-solvers-ble"></a>

**catatan**  
Untuk lokasi berbasis Bluetooth Low Energy, AWS IoT mengembalikan koordinat lokasi berdasarkan perkiraan lokasi Gerbang Trotoar terdekat yang terhubung ke Amazon Sidewalk dan mengaktifkan fitur Community Finding. Data Lokasi Gateway adalah AWS Konten dan diberikan kepada Anda semata-mata untuk tujuan membantu Anda menemukan perangkat yang terhubung ke Amazon Sidewalk, dan Anda hanya boleh menggunakan data untuk tujuan itu. Anda hanya boleh menggunakan dan mengakses data lokasi melalui antarmuka dan fungsionalitas yang biasanya kami sediakan untuk Anda, dan Anda tidak boleh mencoba mengidentifikasi ulang, merekayasa balik, atau memetakan ulang data lokasi Gateway yang kami berikan kepada Anda.

Perangkat akhir Amazon Sidewalk yang terhubung AWS IoT Core untuk Amazon Sidewalk dapat menyelesaikan data lokasi mereka menggunakan pesan uplink BLE, Wi-Fi, atau GNSS yang diterbitkan oleh perangkat akhir Amazon Sidewalk. Untuk informasi selengkapnya, lihat [panduan AWS IoT Core untuk Amazon Sidewalk pengembang](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/sidewalk-getting-started.html).