Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Implementa AWS. DiscoverDevices operazione
Device Discovery allinea l'elenco dei dispositivi fisici di proprietà dell'utente finale con le rappresentazioni digitali di tali dispositivi degli utenti finali gestite nelle integrazioni gestite per AWS IoT Device Management. Viene eseguita da un AWS cliente su dispositivi di proprietà dell'utente finale solo dopo aver completato il collegamento dell'account tra l'utente e le integrazioni gestite per AWS IoT Device Management. Il rilevamento dei dispositivi è un processo asincrono in cui le integrazioni gestite per AWS IoT Device Management richiamano un connettore per avviare la richiesta di rilevamento dei dispositivi. Un connettore C2C restituisce un elenco di dispositivi degli utenti finali rilevati in modo asincrono con un identificatore di riferimento (denominato «) generato da integrazioni gestite. deviceDiscoveryId
Il diagramma seguente illustra il flusso di lavoro di rilevamento dei dispositivi tra l'utente finale e le integrazioni gestite per AWS IoT Device Management:
AWS. DiscoverDevices flusso di lavoro
-
Il cliente avvia il processo di scoperta del dispositivo per conto dell'utente finale.
-
Le integrazioni gestite per la AWS IoT Device Management generazione di un identificatore di riferimento richiesto
deviceDiscoveryIdper la richiesta di rilevamento del dispositivo generata dal Cliente. AWS -
Integrazioni gestite per l' AWS IoT Device Management invio di una richiesta di rilevamento del dispositivo al connettore C2C utilizzando l'interfaccia
AWS.DiscoverDevicesoperativa, inclusa una richiesta valida per OAuthaccessTokenl'utente finale e la.deviceDiscoveryId -
Gli archivi del connettore
deviceDiscoveryIddevono essere inclusi nell'evento.DEVICE_DISCOVERYQuesto evento conterrà anche un elenco dei dispositivi degli utenti finali scoperti e dovrà essere inviato alle integrazioni gestite per AWS IoT Device Management con l'SendConnectorEventAPI comeDEVICE_DISCOVERYevento. -
Il connettore C2C chiamerà il server di risorse per recuperare tutti i dispositivi di proprietà dell'utente finale.
-
Il connettore C2C Lambda risponde all'invocazione Lambda
invokeFunction() con la risposta ACK alle integrazioni gestite per AWS IoT Device Management, fungendo da risposta iniziale per l'operazione.AWS.DiscoverDevicesManaged Integrations notifica al cliente con un ACK il processo di scoperta dei dispositivi avviato. -
Il server di risorse ti invia un elenco di dispositivi posseduti e gestiti dall'utente finale.
-
Il connettore converte ogni dispositivo dell'utente finale nelle integrazioni gestite per il formato del dispositivo richiesto da AWS IoT Device Management
ConnectorDeviceId,ConnectorDeviceNameincluso un report sulle capacità per ogni dispositivo. -
Il connettore C2C fornisce anche informazioni sul proprietario
UserIddei dispositivi rilevati. Può essere recuperato dal server di risorse come parte dell'elenco dei dispositivi o in una chiamata separata a seconda dell'implementazione del server di risorse. -
Successivamente, il connettore C2C chiamerà le integrazioni gestite per l'API AWS IoT Device Management
SendConnectorEvent, tramite SigV4 utilizzando Account AWS credenziali e con il parametro operativo impostato come «DEVICE_DISCOVERY». Ogni dispositivo nell'elenco dei dispositivi inviati alle integrazioni gestite per AWS IoT Device Management sarà rappresentato da parametri specifici del dispositivo comeconnectorDeviceId,connectorDeviceNamee a.capabilityReport-
In base alla risposta del tuo server di risorse, devi notificare di conseguenza le integrazioni gestite per AWS IoT Device Management.
Ad esempio, se il tuo server di risorse riceve una risposta in pagine all'elenco dei dispositivi rilevati per un utente finale, per ogni sondaggio puoi inviare un singolo evento
DEVICE_DISCOVERYoperativo, con un parametro di.statusCode3xxSe il rilevamento dei dispositivi è ancora in corso, ripeti i passaggi 5, 6 e 7.
-
-
Managed Integrations for AWS IoT Device Management invia una notifica al cliente in merito alla scoperta dei dispositivi dell'utente finale.
-
Se il connettore C2C invia un evento
DEVICE_DISCOVERYoperativo con ilstatusCodeparametro aggiornato con un valore di 200, le integrazioni gestite notificheranno al cliente il completamento del flusso di lavoro di individuazione dei dispositivi.Importante
Se lo si desidera, i passaggi da 7 a 11 possono verificarsi prima del passaggio 6. Ad esempio, se la piattaforma di terze parti dispone di un'API per elencare i dispositivi di un utente finale, l'evento DEVICE_DISCOVERY può essere inviato
SendConnectorEventprima che il connettore C2C Lambda risponda con il tipico ACK.
Requisiti del connettore C2C per il rilevamento dei dispositivi
L'elenco seguente descrive i requisiti del connettore C2C per facilitare la corretta individuazione dei dispositivi.
-
Il connettore C2C Lambda a può elaborare un messaggio di richiesta di rilevamento del dispositivo proveniente da integrazioni gestite per AWS IoT Device Management e gestirne l'operazione.
AWS.DiscoverDevices -
Il connettore C2C può chiamare le integrazioni gestite per AWS IoT Device Management APIs tramite SigV4 utilizzando le credenziali utilizzate per la registrazione del Account AWS connettore.
Processo di scoperta dei dispositivi
I passaggi seguenti descrivono il processo di scoperta dei dispositivi con il connettore C2C e le integrazioni gestite per AWS IoT Device Management.
Processo di scoperta dei dispositivi
-
Le integrazioni gestite attivano il rilevamento dei dispositivi:
-
Invia una richiesta POST a
DiscoverDevicescon il seguente payload JSON:/DiscoverDevices { "header": { "auth": { "token": "ashriu32yr97feqy7afsaf", "type": "OAuth2.0" } }, "payload": { "operationName": "AWS.DiscoverDevices", "operationVersion": "1.0", "connectorId": "Your-Connector-Id", "deviceDiscoveryId": "12345678" } }
-
-
Il connettore conferma la scoperta:
-
Il connettore invia una conferma con la seguente risposta JSON:
{ "header": { "responseCode":200 }, "payload": { "responseMessage": "Discovering devices for discovery-job-id '12345678' with connector-id `Your-Connector-Id`" } }
-
-
Il connettore invia l'evento Device Discovery:
-
Invia una richiesta POST a
/connector-event/con il seguente payload JSON:{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"] }] }] } } ] }
-
Costruisci un CapabilityReport per l'evento DISCOVER_DEVICES
Come illustrato nella struttura degli eventi sopra definita, ogni dispositivo segnalato in un evento DISCOVER_DEVICES, che funge da risposta a un'AWS.DiscoverDevicesoperazione, richiederà una CapbilityReport descrizione delle funzionalità del dispositivo corrispondente. Un `CapabilityReport` indica le integrazioni gestite per le funzionalità dei dispositivi AWS IoT Device Management in un formato conforme a Matter. I seguenti campi devono essere forniti nel ``: CapabilityReport
-
nodeId, String: identificatore per il nodo dei dispositivi contenente quanto segueendpoints -
version, String: versione di questo nodo del dispositivo, impostata dallo sviluppatore del connettore -
endpoints, Elenco<Cluster>: Elenco delle AWS implementazioni del Matter Data Model supportate da questo endpoint del dispositivo.-
id, String: identificatore dell'endpoint impostato dallo sviluppatore del connettore -
deviceTypes, Elenco<String>: elenco dei tipi di dispositivi acquisiti da questo endpoint, ad esempio «Fotocamera». -
clusters, Elenco<Cluster>: Elenco delle AWS implementazioni del Matter Data Model supportate da questo endpoint.-
id, String: identificatore del cluster come definito dallo standard Matter. -
revision, Numero intero: numero di revisione del cluster definito dallo standard Matter. -
attributes, Mappa<String, Object>: mappa degli identificatori degli attributi e dei corrispondenti valori di stato correnti del dispositivo, con identificatori e valori validi definiti dallo standard Matter.-
id, String: ID dell'attributo definito dalle AWS implementazioni del Matter Data Model. -
value, Oggetto: il valore corrente dell'attributo definito dall'attributo ID. Il tipo di «valore» può cambiare a seconda dell'attributo. Ilvaluecampo è facoltativo per ogni attributo e deve essere incluso solo se il connettore lambda è in grado di determinare lo stato corrente durante il rilevamento.
-
-
commands, Elenco<String>: Elenco dei comandi IDs supportati da questo cluster come definito dallo standard Matter. -
events, Elenco<String>: Elenco degli eventi IDs supportati da questo cluster come definito dallo standard Matter.
-
-
Per l'elenco corrente delle funzionalità supportate e le relative AWS implementazioni del Matter Data Model, fate riferimento all'ultima versione della documentazione del modello di dati.