Avvio rapido: creazione di un gemello digitale e invio dei dati
Questo scenario mostra come creare un'istanza digital twin e come eseguire il test della configurazione inviando dati di esempio utilizzando l'autenticazione di base.
Requisiti indispensabili
Allow group <group-name> to manage iot-family in compartment <your-compartment-name>Quando si utilizza il comando per il passo 3: creare un'istanza digital twin se si utilizza l'autenticazione di base, sarà necessario creare un segreto per eseguire questa operazione in base al criterio seguente.
Allow any-user to {SECRET_BUNDLE_READ, SECRET_READ} in compartment <compartment-name> where ALL {request.principal.type = 'iotdomain', target.vault.id = '<vault-OCID>'}Passo 1: creare un gruppo di domini IoT
Se si dispone di un gruppo di domini IoT o di un dominio IoT esistente con cui si desidera lavorare, saltare questo passo e utilizzare tali OCID per creare l'istanza digital twin associata. In alternativa, effettuare le operazioni riportate di seguito per creare un gruppo di domini IoT e un dominio IoT. Per un elenco completo delle opzioni, vedere Creazione di un gruppo di domini IoT.
Utilizzare il comando oci iot domain-group create e il parametro --compartment-idrichiesto per creare un gruppo di domini IoT in un compartimento specifico. Sostituire il valore<compartment-OCID>con l'OCID del compartimento:oci iot domain-group create --compartment-id <compartment-OCID>Opzione Tipo:- Se non si specifica un
--type, il tipo di gruppo di domini predefinito èlightweight, per lo sviluppo e il test di un gruppo di domini leggero che costa meno e utilizza meno risorse. Quando si desidera creare un gruppo di domini di produzione, utilizzare l'opzione standard. - Per un gruppo di domini di produzione, utilizzare il parametro
--typecon il valorestandardper creare un gruppo di domini standard con scalabilità High Availability e failover automatico.
Per un elenco completo dei parametri e dei valori per i comandi CLI, vedere CLI Command Reference.
- Se non si specifica un
Eseguire l'operazione CreateIotDomainGroup per creare un gruppo di domini IoT in un compartimento.
Passo 2: creare un dominio IoT
Eseguire l'operazione CreateIotDomain per creare un dominio IoT.
Passo 3: creare un'istanza Digital Twin
In questo esempio, l'istanza digital twin non è associata a un modello digital twin o a un adattatore digital twin. È possibile utilizzare questo metodo se si sta solo testando l'impostazione dei gemelli digitali o se si sta impostando un'istanza digital twin per la connessione a un dispositivo che invia dati non strutturati. Per un elenco completo delle opzioni, vedere Creazione di un'istanza Digital Twin.
- Opzioni chiave esterna: la chiave esterna è il nome utente del dispositivo quando ci si connette a un dispositivo per inviare dati nel passo 5. Se non si include un parametro
--external-key, la chiave esterna viene generata nella risposta. Se si specifica la chiave esterna, si consiglia di non utilizzare le virgolette con il valore della chiave esterna. - Opzioni di autenticazione: quando si crea un'istanza digital twin, l'autenticazione è facoltativa e necessaria solo se si inviano dati a o da un dispositivo. Aggiungere l'autenticazione all'istanza digital twin utilizzando il parametro
--auth-id.
- Nella pagina elenco Domini IoT selezionare il dominio IoT da utilizzare. Se è necessaria assistenza per trovare la pagina dell'elenco dei domini IoT, vedere Elenca domini IoT.
- Selezionare la scheda Istanze gemelle digitali, quindi selezionare Crea.
- Immettere un nome e, facoltativamente, una Descrizione. Evitare di fornire informazioni riservate.
- Facoltativa. Immettere una chiave esterna che sia un identificativo univoco. Se non si specifica una chiave esterna, questa viene generata quando si salva questa istanza del gemello digitale. Utilizzare la chiave esterna come nome utente del dispositivo quando ci si connette o si inviano dati al dispositivo.
- Selezionare il tipo:
- Connesso direttamente: connette un dispositivo o un'entità direttamente al dominio IoT. Se il dispositivo o l'entità invia dati strutturati, selezionare un adattatore. La selezione di un adattatore associa questa istanza digital twin a un livello di trasformazione che converte i payload dei dispositivi in entrata nella struttura DTDL del modello digital twin associato prevista dall'istanza.
- Seleziona adattatore: attivare e selezionare un adattatore gemello digitale dall'elenco per associare l'adattatore a questa istanza gemello digitale. Se non si dispone di un adattatore, creare un adattatore gemello digitale.
Se il dispositivo invia dati strutturati, è necessario selezionare un adattatore. Non è necessario un adattatore se il dispositivo o l'entità a cui si desidera connettersi invia dati non strutturati o riceve comandi dati non strutturati.
- Seleziona adattatore: attivare e selezionare un adattatore gemello digitale dall'elenco per associare l'adattatore a questa istanza gemello digitale. Se non si dispone di un adattatore, creare un adattatore gemello digitale.
- Non connesso: utilizzare questa opzione per creare un'istanza gemella digitale di sola simulazione senza l'inclusione dei dati. Un modello gemello digitale è obbligatorio e non deve contenere telemetria o proprietà. Dopo aver creato questa istanza di digital twin, è possibile aggiungere relazioni digital twin per simulare l'ambiente IoT senza la complessità dell'inclusione o dell'autenticazione dei dati.
- ID autenticazione: se il dispositivo o l'entità invia o riceve dati, è necessario specificare un ID autenticazione. Per i test, creare un ID di autenticazione segreto vault e per la produzione creare un certificato mTLS per l'ID di autenticazione dell'istanza del gemello digitale.
- Seleziona ID autenticazione: selezionare l'opzione Segreto o Certificato. Per un segreto, selezionare il compartimento del vault, il vault e il segreto. Per un certificato, selezionare il compartimento del certificato, quindi selezionare il certificato.
- Incolla OCID autenticazione: incollare l'OCID del certificato o del segreto.
- Tag: (facoltativo) aggiungere una o più tag all'adattatore gemello digitale. Se si dispone delle autorizzazioni per creare una risorsa, si dispone anche delle autorizzazioni per applicare tag in formato libero a tale risorsa. Per applicare una tag definita, è necessario disporre delle autorizzazioni per utilizzare lo spazio di nomi tag. Per ulteriori informazioni sull'applicazione di tag, vedere Tag risorsa. Se non sei sicuro di applicare i tag, salta questa opzione o chiedi a un amministratore. È possibile applicare le tag in un secondo momento.
- Connesso direttamente: connette un dispositivo o un'entità direttamente al dominio IoT. Se il dispositivo o l'entità invia dati strutturati, selezionare un adattatore. La selezione di un adattatore associa questa istanza digital twin a un livello di trasformazione che converte i payload dei dispositivi in entrata nella struttura DTDL del modello digital twin associato prevista dall'istanza.
- Selezionare Crea.
- Utilizzare il comando oci iot digital-twin-instance create e questi parametri per creare un'istanza digital twin.
- Sostituire
<iot-domain-OCID>con il dominio IoT che si desidera associare a questa istanza digital twin IoT. Sostituire<secret-or-certificate-OCID>con l'OCID segreto del vault:oci iot digital-twin-instance create --auth-id <secret-OCID> --iot-domain-id <iot-domain-OCID>
Eseguire l'operazione CreateDigitalTwinInstance per creare un'istanza gemella digitale.
Passo 4: ottenere i dettagli del dominio IoT
Se si dispone dell'endpoint host dispositivo per il dominio IoT che si desidera utilizzare, saltare questo passaggio.
I dettagli del dominio IoT contengono l'host del dispositivo, incluso l'ID breve del dominio, per ulteriori informazioni su come ottenere i dettagli di un dominio IoT,
Utilizzare il comando oci iot domain get e il parametro richiesto per ottenere i dettagli di un dominio IoT, incluso l'host del dispositivo con l'ID breve del dominio:
oci iot domain get --iot-domain-id <iot-domain-OCID>Per un elenco completo dei parametri e dei valori per i comandi CLI, vedere CLI Command Reference.
Eseguire l'operazione GetIotDomain per ottenere i dettagli di un dominio.
Passo 5: inviare i dati
- Nome utente dispositivo: utilizzare
external keydell'istanza gemella digitale come nome utente del dispositivo. - Password dispositivo: è associata all'ID di autenticazione per l'istanza gemello digitale. Se l'istanza digital twin utilizza un OCID segreto vault per l'autenticazione, utilizzare il contenuto dei segreti in testo semplice come password del dispositivo. Vedere Creazione di un segreto e Ottenimento del contenuto di un segreto. L'uso di un segreto del vault come password è consigliato solo per i test e non per la produzione.
Uso di Curl
Shell in stile POSIX: utilizzare questo comandocurlquando si utilizzano bash, zsh, terminale macOS, Linux o Git Bash in Windows.curl -u '<digital-twin-instance-external-key>:<device-password>' \ -H 'Content-Type: text/plain' \ -d 'sample data 1' \ 'https://<iot-domain-short-id>.device.iot.<region>.oci.oraclecloud.com/sampletopic'Windows Powershell: utilizzare questo comando
curlin questo esempio, utilizzare-Gper effettuare una richiestaGETe aggiungere all'URL i dati forniti con--data-urlencodecome parametri di query. Oppure puoi usare le variabili ambientali.curl.exe -u "<digital-twin-instance-external-key>:<device-password>" ` -H "Content-Type: text/plain" ` -d "sample data 1" ` "https://<iot-domain-short-id>.device.iot.<region>.oci.oraclecloud.com/sampletopic"Quando si completa il Passo 3: Creazione di un'istanza Digital Twin, se è stato definito il valore del parametro chiave esterna con virgolette, è necessario includere i preventivi quando si inviano i dati:
"external-key". Per informazioni sulle procedure ottimali per la presentazione dei preventivi, vedere Risoluzione dei problemi.- Utilizzare qualsiasi client MQTT, questo esempio utilizza MQTTX con le seguenti impostazioni.
- Il download e la configurazione di MQTTX seguono queste istruzioni, vedere Guida introduttiva a MQTTX. Apri MQTTX.
- Per creare una nuova connessione, selezionare + Nuova connessione.
- Immettere il valore
<unique-id>della chiave esterna come nome utente. È possibile trovare la chiave esterna nella rispostaoci iot digital-twin-instance create, dal precedente Passo 3: creazione di un'istanza Digital Twin:"external-key": "<unique-id>" - Immettere la password del dispositivo. Se si esegue il test, utilizzare il segreto del vault, questo deve essere il contenuto del segreto in testo semplice. Oppure, per un ambiente di produzione sicuro, utilizzare un certificato mTLS.
- Immettere l'host. Selezionare il protocollo
mqtts://dall'elenco a discesa host e immettere l'host del dispositivo:<domain-short-id>.device.iot.<region>.oci.oraclecloud.comdal dominio IoT. - Immettere la porta, ad esempio:
8883Nota
Al momento, MQTT Secure (MQTTS) è supportato solo utilizzando la porta8883. - Attivare l'opzione di attivazione/disattivazione SSL/TLS.
- Attivare l'opzione SSL Secure.
- Per il certificato, selezionare l'opzione Certificato server con firma CA.
- Quando si configura la connessione MQTTX, assicurarsi di connettersi utilizzando un
clean sessione impostare l'opzioneLast-Will-Retainsufalseper consentire la conservazione delle sottoscrizioni client se il dispositivo si disconnette brevemente. - Impostare Ultima esecuzione QoS su 1.
- Selezionare Connetti.
Al termine di questi passi, nella piattaforma IoT è disponibile un'istanza digital twin in grado di ricevere dati da un dispositivo.
Cosa fare dopo
- Rivedere i file di esempio IoT per impostare gli ambienti di test e produzione.
- Configurare APEX per visualizzare i IoT dati di dominio in APEX, quindi installare un'applicazione Explorer IoT APEX di esempio per monitorare visivamente i dispositivi e i messaggi IoT.
- Se non si prevede di conservare le risorse, eliminare i domini IoT associati al gruppo di domini IoT e eliminare il gruppo di domini IoT.