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
deviceDiscoveryId
per 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.DiscoverDevices
operativa, inclusa una richiesta valida per OAuthaccessToken
l'utente finale e la.deviceDiscoveryId
-
Gli archivi del connettore
deviceDiscoveryId
devono essere inclusi nell'evento.DEVICE_DISCOVERY
Questo 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'SendConnectorEvent
API comeDEVICE_DISCOVERY
evento. -
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.DiscoverDevices
Managed 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
,ConnectorDeviceName
incluso un report sulle capacità per ogni dispositivo. -
Il connettore C2C fornisce anche informazioni sul proprietario
UserId
dei 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
,connectorDeviceName
e 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_DISCOVERY
operativo, con un parametro di.statusCode
3xx
Se 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_DISCOVERY
operativo con ilstatusCode
parametro 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
SendConnectorEvent
prima 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 per il 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
DiscoverDevices
con 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.DiscoverDevices
operazione, 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. Ilvalue
campo è 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.