Menyelesaikan lokasi perangkat IoT - AWS IoT Core

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

Menyelesaikan lokasi perangkat IoT

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, AWS IoT Wireless API, atau AWS CLI.

Menyelesaikan lokasi perangkat (konsol)

Untuk menyelesaikan lokasi perangkat (konsol)

  1. Buka halaman Lokasi Perangkat di AWS IoT konsol.

  2. 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, lihatPemecah lokasi dan muatan perangkat.

    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 } ] }] } }
  3. 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 geografis WGS84, yang mencakup informasi lintang dan bujur. Mungkin juga termasuk informasi ketinggian.

    • Jenis informasi lokasi yang dilaporkan, seperti Point. Jenis lokasi titik mewakili lokasi sebagai garis lintang dan bujur WGS84, dikodekan sebagai titik GeoJSON.

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

    { "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" } }
  4. 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 operasi GetPositionEstimateAPI atau perintah get-position-estimateCLI. 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 file locationout.json.

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. Hal ini kemudian disimpan dalam file locationout.json. Muatan berisi koordinat lintang dan bujur WGS84, 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 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

  • 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 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-kasus seperti data yang tidak mencukupi dalam input data pengukuran. Sebagai 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.