Menerapkan AWS. DiscoverDevices operasi - Integrasi terkelola untuk AWS IoT Device Management

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 mengilustrasikan alur kerja penemuan perangkat antara pengguna akhir dan integrasi terkelola untuk AWS IoT Device Management:

AWS. DiscoverDevices alur kerja
AWS. DiscoverDevices alur kerja
  1. Pelanggan memulai proses penemuan perangkat atas nama pengguna akhir.

  2. Integrasi terkelola untuk AWS IoT Device Management menghasilkan pengenal referensi yang dipanggil deviceDiscoveryId untuk permintaan penemuan perangkat yang dihasilkan oleh Pelanggan. AWS

  3. Integrasi terkelola untuk AWS IoT Device Management mengirimkan permintaan penemuan perangkat ke konektor C2C menggunakan antarmuka AWS.DiscoverDevices operasi, termasuk pengguna OAuth accessToken akhir yang valid dan juga. deviceDiscoveryId

  4. Konektor Anda menyimpan deviceDiscoveryId untuk dimasukkan dalam DEVICE_DISCOVERY acara tersebut. Acara ini juga akan berisi daftar perangkat pengguna akhir yang ditemukan, dan harus dikirim ke integrasi terkelola untuk AWS IoT Device Management dengan SendConnectorEvent API sebagai DEVICE_DISCOVERY acara.

  5. Konektor C2C Anda harus memanggil server sumber daya untuk mengambil semua perangkat yang dimiliki oleh pengguna akhir.

  6. 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.DiscoverDevices Integrasi terkelola memberi tahu pelanggan dengan ACK ke proses penemuan perangkat yang dimulai.

  7. Server sumber daya Anda mengirimi Anda daftar perangkat yang dimiliki dan dioperasikan oleh pengguna akhir.

  8. Konektor Anda mengonversi setiap perangkat pengguna akhir menjadi integrasi terkelola untuk format perangkat yang diperlukan AWS IoT Device Management, termasukConnectorDeviceId, ConnectorDeviceName dan laporan Kemampuan untuk setiap perangkat.

  9. Konektor C2C juga menyediakan UserId pemilik 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.

  10. Selanjutnya, konektor C2C Anda akan memanggil integrasi terkelola untuk AWS IoT Device Management APISendConnectorEvent, 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. connectorDeviceName capabilityReport

    1. Berdasarkan respons server sumber daya Anda, Anda perlu memberi tahu integrasi terkelola untuk AWS IoT Device Management yang sesuai.

      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_DISCOVERY operasi individual, dengan statusCode parameter. 3xx Jika penemuan perangkat Anda masih dalam proses, ulangi langkah 5, 6, dan 7.

  11. Integrasi terkelola untuk AWS IoT Device Management mengirimkan pemberitahuan kepada pelanggan tentang menemukan perangkat pengguna akhir.

  12. Jika konektor C2C Anda mengirimkan peristiwa DEVICE_DISCOVERY operasi dengan statusCode parameter 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 SendConnectorEvent sebelum 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
  1. Integrasi terkelola memicu penemuan perangkat:

    1. Kirim permintaan POST ke DiscoverDevices dengan muatan JSON berikut:

      /DiscoverDevices { "header": { "auth": { "token": "ashriu32yr97feqy7afsaf", "type": "OAuth2.0" } }, "payload": { "operationName": "AWS.DiscoverDevices", "operationVersion": "1.0", "connectorId": "Your-Connector-Id", "deviceDiscoveryId": "12345678" } }
  2. Konektor mengakui penemuan:

    1. 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`" } }
  3. Konektor mengirimkan Acara Penemuan Perangkat:

    1. Kirim permintaan POST ke /connector-event/{your_connector_id} dengan muatan JSON berikut:

      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 berikut ini endpoints

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