Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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 JSON muatan Geo dengan koordinat geografis dan informasi akurasi. Anda dapat menyelesaikan lokasi perangkat Anda dari AWS IoT konsol, konsol AWS IoT Wireless API, atau AWS CLI.
Topik
Menyelesaikan lokasi perangkat (konsol)
Untuk menyelesaikan lokasi perangkat (konsol)
-
Buka halaman Lokasi Perangkat
di AWS IoT konsol. -
Dapatkan data pengukuran muatan dari log perangkat Anda atau dari CloudWatch Log, dan masukkan di bagian Selesaikan posisi melalui payload.
Kode berikut menunjukkan JSON payload sampel. 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, lihatPemecah lokasi dan muatan perangkat.
catatan
JSONMuatan 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
} ] }] } } -
Untuk menyelesaikan informasi lokasi, pilih Selesaikan.
Informasi lokasi adalah jenis gumpalan dan dikembalikan sebagai muatan yang menggunakan format Geo, yang merupakan JSON 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 Geo. JSON
-
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 respons 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 JSON muatan Geo yang 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.
{ "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" } }
-
-
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 Lokasi untuk mengirim data lokasi geografis Anda ke Amazon Location Service.
Menyelesaikan lokasi perangkat () API
Untuk menyelesaikan lokasi perangkat menggunakan AWS IoT Wireless API, gunakan GetPositionEstimateAPIoperasi atau get-position-estimateCLIperintah. Tentukan data pengukuran muatan sebagai input, dan jalankan API operasi untuk menyelesaikan lokasi perangkat.
catatan
GetPositionEstimate
APIOperasi 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 iniAPI.
Perintah berikut menunjukkan contoh cara menyelesaikan lokasi menggunakan API operasi ini.
catatan
Saat menjalankan get-position-estimate
CLI perintah, Anda harus menentukan JSON file output sebagai input pertama. JSONFile ini akan menyimpan perkiraan informasi lokasi yang diperoleh sebagai tanggapan dari CLI dalam JSON format Geo. Misalnya, perintah berikut menyimpan informasi lokasi di locationout.json
berkas.
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 Geo, yang merupakan JSON format yang digunakan untuk menyandikan struktur data geografis. Hal ini kemudian disimpan di locationout.json
berkas. 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
Ketika Anda mencoba untuk menyelesaikan lokasi, Anda mungkin melihat salah satu kode kesalahan berikut. AWS IoT Core Lokasi Perangkat mungkin menghasilkan kesalahan saat menggunakan GetPositionEstimate
API operasi, atau merujuk ke nomor baris yang sesuai dengan kesalahan di AWS IoT konsol.
-
400 kesalahan
Kesalahan ini menunjukkan bahwa format payload perangkat tidak JSON dapat divalidasi oleh Lokasi AWS IoT Core Perangkat. Kesalahan mungkin terjadi karena:
-
Data JSON pengukuran diformat secara tidak benar.
-
Muatan hanya berisi informasi stempel waktu.
-
Parameter data pengukuran, seperti alamat IP, tidak valid.
Untuk mengatasi kesalahan ini, periksa apakah Anda JSON 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
-
-
403 kesalahan
Kesalahan ini menunjukkan bahwa Anda tidak memiliki izin untuk melakukan API operasi 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 AWS Management Console sesi Anda atau token AWS CLI sesi Anda telah kedaluwarsa. Untuk mengatasi kesalahan ini, segarkan token sesi untuk menggunakan AWS CLI, atau keluar dari, AWS Management Console 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 seperti data yang tidak mencukupi dalam input data pengukuran. Sebagai contoh:
-
MACAlamat atau informasi menara seluler tidak cukup.
-
Alamat IP tidak tersedia untuk mencari dan mengambil lokasi.
-
GNSSMuatannya 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.