Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerapkan AWS. DiscoverDevices operasi
Penemuan perangkat menyelaraskan daftar perangkat fisik yang dimiliki oleh pengguna akhir dengan representasi digital dari perangkat pengguna akhir yang dikelola dalam integrasi terkelola untuk AWS IoT Device Management. Ini dilakukan oleh AWS pelanggan pada perangkat yang dimiliki oleh pengguna akhir hanya setelah penautan akun selesai antara pengguna dan integrasi terkelola untuk AWS IoT Device Management. Penemuan perangkat adalah proses asinkron di mana integrasi terkelola untuk AWS IoT Device Management memanggil konektor untuk memulai permintaan penemuan perangkat. Konektor C2C mengembalikan daftar perangkat pengguna akhir yang ditemukan secara asinkron dengan pengidentifikasi referensi (disebut sebagaideviceDiscoveryId) yang dihasilkan oleh integrasi terkelola.
Diagram berikut menggambarkan alur kerja penemuan perangkat antara pengguna akhir dan integrasi terkelola untuk AWS IoT Device Management:
AWS. DiscoverDevices alur kerja
-
Pelanggan memulai proses penemuan perangkat atas nama pengguna akhir.
-
Integrasi terkelola untuk AWS IoT Device Management menghasilkan pengenal referensi yang dipanggil
deviceDiscoveryIduntuk permintaan penemuan perangkat yang dihasilkan oleh Pelanggan. AWS -
Integrasi terkelola untuk AWS IoT Device Management mengirimkan permintaan penemuan perangkat ke konektor C2C menggunakan antarmuka
AWS.DiscoverDevicesoperasi, termasuk pengguna OAuthaccessTokenakhir yang valid dan juga.deviceDiscoveryId -
Konektor Anda menyimpan
deviceDiscoveryIduntuk dimasukkan dalamDEVICE_DISCOVERYacara tersebut. Acara ini juga akan berisi daftar perangkat pengguna akhir yang ditemukan, dan harus dikirim ke integrasi terkelola untuk AWS IoT Device Management denganSendConnectorEventAPI sebagaiDEVICE_DISCOVERYacara. -
Konektor C2C Anda harus memanggil server sumber daya untuk mengambil semua perangkat yang dimiliki oleh pengguna akhir.
-
Konektor C2C Anda Lambda merespons pemanggilan Lambda
invokeFunction() dengan respons ACK kembali ke integrasi terkelola untuk AWS IoT Device Management, yang bertindak sebagai respons awal untuk operasi.AWS.DiscoverDevicesIntegrasi terkelola memberi tahu pelanggan dengan ACK ke proses penemuan perangkat yang dimulai. -
Server sumber daya Anda mengirimi Anda daftar perangkat yang dimiliki dan dioperasikan oleh pengguna akhir.
-
Konektor Anda mengonversi setiap perangkat pengguna akhir menjadi integrasi terkelola untuk format perangkat yang diperlukan AWS IoT Device Management, termasuk
ConnectorDeviceId,ConnectorDeviceNamedan laporan Kemampuan untuk setiap perangkat. -
Konektor C2C juga menyediakan
UserIdpemilik perangkat yang ditemukan. Ini dapat diambil dari server sumber daya Anda baik sebagai bagian dari daftar perangkat atau dalam panggilan terpisah tergantung pada implementasi server sumber daya Anda. -
Selanjutnya, konektor C2C Anda akan memanggil integrasi terkelola untuk AWS IoT Device Management API
SendConnectorEvent, melalui SigV4 Akun AWS menggunakan kredensil dan dengan parameter operasi ditetapkan sebagai “DEVICE_DISCOVERY”. Setiap perangkat dalam daftar perangkat yang dikirim ke integrasi terkelola untuk AWS IoT Device Management akan diwakili oleh parameter khusus perangkat seperticonnectorDeviceId,, dan file.connectorDeviceNamecapabilityReport-
Berdasarkan respons server sumber daya Anda, Anda perlu memberi tahu integrasi terkelola untuk AWS IoT Device Management.
Misalnya, jika server sumber daya Anda memiliki respons paginasi ke daftar perangkat yang ditemukan untuk pengguna akhir, maka untuk setiap jajak pendapat Anda dapat mengirim peristiwa
DEVICE_DISCOVERYoperasi individual, denganstatusCodeparameter.3xxJika penemuan perangkat Anda masih dalam proses, ulangi langkah 5, 6, dan 7.
-
-
Integrasi terkelola untuk AWS IoT Device Management mengirimkan pemberitahuan kepada pelanggan tentang menemukan perangkat pengguna akhir.
-
Jika konektor C2C Anda mengirimkan peristiwa
DEVICE_DISCOVERYoperasi denganstatusCodeparameter diperbarui dengan nilai 200, maka integrasi terkelola akan memberi tahu pelanggan tentang penyelesaian alur kerja penemuan perangkat.penting
Langkah 7 hingga 11 dapat terjadi sebelum langkah 6, jika diinginkan. Misalnya, jika platform pihak ketiga Anda memiliki API untuk mencantumkan perangkat pengguna akhir, peristiwa DEVICE_DISCOVERY dapat dikirim
SendConnectorEventsebelum konektor C2C Lambda merespons dengan ACK biasa.
Persyaratan konektor C2C untuk penemuan perangkat
Daftar berikut menguraikan persyaratan untuk konektor C2C Anda untuk memfasilitasi penemuan perangkat yang sukses.
-
Konektor C2C Lambda a dapat memproses pesan permintaan penemuan perangkat dari integrasi terkelola untuk AWS IoT Device Management dan menangani operasi.
AWS.DiscoverDevices -
Konektor C2C Anda dapat memanggil integrasi terkelola untuk AWS IoT Device APIs Management melalui SigV4 menggunakan kredensil yang digunakan untuk mendaftarkan konektor. Akun AWS
Proses penemuan perangkat
Langkah-langkah berikut menguraikan proses penemuan perangkat dengan konektor C2C dan integrasi terkelola untuk AWS IoT Device Management.
Proses penemuan perangkat
-
Integrasi terkelola memicu penemuan perangkat:
-
Kirim permintaan POST ke
DiscoverDevicesdengan muatan JSON berikut:/DiscoverDevices { "header": { "auth": { "token": "ashriu32yr97feqy7afsaf", "type": "OAuth2.0" } }, "payload": { "operationName": "AWS.DiscoverDevices", "operationVersion": "1.0", "connectorId": "Your-Connector-Id", "deviceDiscoveryId": "12345678" } }
-
-
Konektor mengakui penemuan:
-
Konektor mengirimkan pengakuan dengan respons JSON berikut:
{ "header": { "responseCode":200 }, "payload": { "responseMessage": "Discovering devices for discovery-job-id '12345678' with connector-id `Your-Connector-Id`" } }
-
-
Konektor mengirimkan Acara Penemuan Perangkat:
-
Kirim permintaan POST ke
/connector-event/dengan muatan JSON berikut:{your_connector_id}AWS API - /SendConnectorEvent URI – POST /connector-event/{your_connector_id} { "UserId": "6109342", "Operation": "DEVICE_DISCOVERY", "OperationVersion": "1.0", "StatusCode": 200, "DeviceDiscoveryId": "12345678", "ConnectorId": "Your_connector_Id", "Message": "Device discovery for discovery-job-id '12345678' successful", "Devices": [ { "ConnectorDeviceId": "Your_Device_Id_1", "ConnectorDeviceName": "Your-Device-Name", "CapabilityReport": { "nodeId":"1", "version":"1.0.0", "endpoints":[{ "id":"1", "deviceTypes":["Camera"], "clusters":[{ "id":"0x0006", "revision":1, "attributes":[{ "id":"0x0000", }], "commands":["0x00","0x01"], "events":["0x00"] }] }] } } ] }
-
Membangun sebuah CapabilityReport untuk acara DISCOVER_DEVICES
Seperti yang terlihat dalam struktur peristiwa yang didefinisikan di atas, setiap perangkat yang dilaporkan dalam peristiwa DISCOVER_DEVICES, yang berfungsi sebagai respons terhadap AWS.DiscoverDevices operasi, akan memerlukan a CapbilityReport untuk menggambarkan kemampuan perangkat yang sesuai. A `CapabilityReport` memberi tahu integrasi terkelola untuk kemampuan perangkat AWS IoT Device Management dalam format yang sesuai dengan Matter. Bidang berikut harus disediakan di ` CapabilityReport`:
-
nodeId, String: Identifier untuk node perangkat yang berisi berikutendpoints -
version, String: Versi node perangkat ini, ditetapkan oleh pengembang konektor -
endpoints, Daftar<Cluster>: Daftar AWS implementasi Model Data Materi yang didukung oleh titik akhir perangkat ini.-
id, String: Pengidentifikasi titik akhir yang ditetapkan oleh pengembang konektor -
deviceTypes, Daftar<String>: Daftar jenis perangkat yang ditangkap titik akhir ini, yaitu “Kamera”. -
clusters, Daftar<Cluster>: Daftar AWS implementasi Model Data Materi yang didukung oleh titik akhir ini.-
id, String: Pengidentifikasi cluster seperti yang didefinisikan oleh standar Matter. -
revision, Integer: Nomor revisi cluster sebagaimana didefinisikan oleh standar Matter. -
attributes, Peta<String, Object>: Peta pengidentifikasi atribut dan nilai status perangkat yang sesuai saat ini, dengan pengidentifikasi dan nilai valid yang ditentukan oleh standar materi.-
id, String: ID Atribut sebagaimana didefinisikan oleh AWS implementasi Model Data Materi. -
value, Object: Nilai saat ini dari atribut yang ditentukan oleh ID atribut. Jenis 'nilai' dapat berubah tergantung pada atribut.valueBidang ini opsional untuk setiap atribut dan hanya boleh disertakan jika lambda konektor Anda dapat menentukan status saat ini selama penemuan.
-
-
commands, Daftar<String>: Daftar perintah IDs mendukung cluster ini seperti yang didefinisikan oleh standar Matter. -
events, Daftar<String>: Daftar acara IDs mendukung cluster ini sebagaimana didefinisikan oleh standar Matter.
-
-
Untuk daftar kemampuan yang didukung saat ini dan AWS implementasi yang sesuai dari Model Data Matter, lihat rilis terbaru dari dokumentasi Model Data.