Schnellstart: Digitalen Zwilling erstellen und Daten senden
Dieses Szenario zeigt, wie Sie eine digitale Zwillingsinstanz erstellen und wie Sie Ihre Konfiguration testen, indem Sie Beispieldaten mit Basisauthentifizierung senden.
Voraussetzungen
Allow group <group-name> to manage iot-family in compartment <your-compartment-name>Wenn Sie den Befehl für Schritt 3: Digitale Zwillingsinstanz erstellen verwenden und die Basisauthentifizierung verwenden, müssen Sie ein Secret erstellen, um die folgende Policy zu benötigen.
Allow any-user to {SECRET_BUNDLE_READ, SECRET_READ} in compartment <compartment-name> where ALL {request.principal.type = 'iotdomain', target.vault.id = '<vault-OCID>'}Schritt 1: Domaingruppe IoT erstellen
Wenn eine IoT-Domaingruppe oder IoT-Domain vorhanden ist, mit der Sie arbeiten möchten, überspringen Sie diesen Schritt, und verwenden Sie diese OCIDs, um die zugehörige digitale Zwillingsinstanz zu erstellen. Oder führen Sie diese Schritte aus, um eine IoT-Domaingruppe und eine IoT-Domain zu erstellen. Eine vollständige Liste der Optionen finden Sie unter IoT-Domaingruppen erstellen.
Verwenden Sie den Befehl oci iot domain-group create und den erforderlichen Parameter --compartment-id, um eine Domaingruppe IoT in einem bestimmten Compartment zu erstellen. Ersetzen Sie den Wert<compartment-OCID>durch die Compartment-OCID:oci iot domain-group create --compartment-id <compartment-OCID>Option "Typ":- Wenn Sie keine
--typeangeben, lautet der Standarddomaingruppentyplightweight, um eine Lightweight-Domaingruppe zu entwickeln und zu testen, die weniger kostet und weniger Ressourcen verbraucht. Wenn Sie eine Produktionsdomaingruppe erstellen möchten, verwenden Sie die Standardoption. - Verwenden Sie für eine Produktionsdomaingruppe den Parameter
--typemit dem Wertstandard, um eine Standarddomaingruppe zu erstellen, die mit High Availability und automatischem Failover skaliert wird.
Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in CLI-Befehlsreferenz.
- Wenn Sie keine
Führen Sie den Vorgang CreateIotDomainGroup aus, um eine Domaingruppe IoT in einem Compartment zu erstellen.
Schritt 2: IoT-Domain erstellen
Führen Sie den Vorgang CreateIotDomain aus, um eine IoT-Domain zu erstellen.
Schritt 3: Digitale Zwillingsinstanz erstellen
In diesem Beispiel ist die Instanz des digitalen Zwillings nicht mit einem digitalen Zwillingsmodell oder einem digitalen Zwillingsadapter verknüpft. Sie können diese Methode verwenden, wenn Sie nur Ihr Setup für digitale Zwillinge testen oder wenn Sie eine Instanz für digitale Zwillinge einrichten, um eine Verbindung zu einem Gerät herzustellen, das unstrukturierte Daten sendet. Eine vollständige Liste der Optionen finden Sie unter Digitale Zwillingsinstanzen erstellen.
- Optionen für externen Schlüssel: Der externe Schlüssel ist der Benutzername des Geräts, wenn Sie eine Verbindung zu einem Gerät herstellen und in Schritt 5 Daten senden. Wenn Sie keinen Parameter
--external-keyeinschließen, wird der externe Schlüssel in der Antwort generiert. Wenn Sie den externen Schlüssel angeben, wird empfohlen, keine Anführungszeichen mit dem externen Schlüsselwert zu verwenden. - Authentifizierungsoptionen: Wenn Sie eine Instanz mit digitalem Zwilling erstellen, ist die Authentifizierung optional und nur erforderlich, wenn Sie Daten an oder von einem Gerät senden. Fügen Sie die Authentifizierung mit dem Parameter
--auth-idzur digitalen Zwillingsinstanz hinzu.
- Wählen Sie auf der Listenseite IoT-Domains die IoT-Domain aus, mit der Sie arbeiten möchten. Wenn Sie Hilfe beim Suchen der Listenseite für IoT-Domains benötigen, finden Sie weitere Informationen unter IoT-Domains auflisten.
- Wählen Sie die Registerkarte Digitale Zwillingsinstanzen und dann Erstellen aus.
- Geben Sie einen Namen und optional eine Beschreibung ein. Geben Sie keine vertraulichen Informationen ein.
- Optional. Geben Sie einen externen Schlüssel ein, der eine eindeutige ID ist. Wenn Sie keinen externen Schlüssel angeben, wird dieser beim Speichern dieser Instanz des digitalen Zwillings generiert. Verwenden Sie den externen Schlüssel als Gerätenutzernamen, wenn Sie eine Verbindung zum Gerät herstellen oder Daten an dieses senden.
- Wählen Sie den Typ:
- Direkt verbunden: Verbinden Sie ein Gerät oder eine Entity direkt mit der IoT-Domain. Wenn das Gerät oder die Entity strukturierte Daten sendet, wählen Sie einen Adapter aus. Durch Auswahl eines Adapters wird diese Instanz des digitalen Zwillings mit einer Transformationsschicht verknüpft, die eingehende Geräte-Payloads in die DTDL-Struktur des zugehörigen digitalen Zwillingsmodells konvertiert, die von der Instanz erwartet wird.
- Adapter auswählen: Aktivieren und wählen Sie einen digitalen Zwillingsadapter aus der Liste, um den Adapter dieser digitalen Zwillingsinstanz zuzuordnen. Wenn Sie keinen Adapter haben, erstellen Sie einen digitalen Zwillingsadapter.
Wenn das Gerät strukturierte Daten sendet, müssen Sie einen Adapter auswählen. Ein Adapter ist nicht erforderlich, wenn das Gerät oder die Entity, mit dem bzw. der Sie eine Verbindung herstellen möchten, unstrukturierte Daten sendet oder unstrukturierte Datenbefehle empfängt.
- Adapter auswählen: Aktivieren und wählen Sie einen digitalen Zwillingsadapter aus der Liste, um den Adapter dieser digitalen Zwillingsinstanz zuzuordnen. Wenn Sie keinen Adapter haben, erstellen Sie einen digitalen Zwillingsadapter.
- Nicht verbunden: Mit dieser Option können Sie eine Nur-Simulations-Digitale Zwillingsinstanz ohne Datenaufnahme erstellen. Ein digitales Zwillingsmodell ist erforderlich und darf keine Telemetrie oder Eigenschaften enthalten. Nachdem Sie diese Instanz des digitalen Zwillings erstellt haben, können Sie digitalen Zwillingsbeziehungen hinzufügen, um Ihre IoT-Umgebung ohne die Komplexität der Datenaufnahme oder -authentifizierung zu simulieren.
- Authentifizierungs-ID: Wenn das Gerät oder die Entity Daten sendet oder empfängt, müssen Sie eine Authentifizierungs-ID angeben. Zum Testen erstellen Sie eine Vault-Secret-Authentifizierungs-ID und für die Produktion erstellen Sie ein mTLS-Zertifikat für die Authentifizierungs-ID der Digital Twin-Instanz.
- Authentifizierungs-ID auswählen: Wählen Sie die Secret- oder Zertifikatoption aus. Wählen Sie für ein Secret das Vault Compartment, den Vault und das Secret aus. Wählen Sie für ein Zertifikat das Zertifikat-Compartment aus, und wählen Sie das Zertifikat aus.
- Authentifizierungs-OCID einfügen: Fügen Sie die OCID des Zertifikats oder Secrets ein.
- Tags: (Optional) Fügen Sie dem digitalen Zwillingsadapter ein oder mehrere Tags hinzu. Wenn Sie über Berechtigungen zum Erstellen einer Ressource verfügen, sind Sie auch berechtigt, Freiformtags auf diese Ressource anzuwenden. Um ein definiertes Tag zuzuweisen, benötigen Sie die Berechtigungen zum Verwenden des Tag-Namespace. Weitere Informationen zum Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Tags angewendet werden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
- Direkt verbunden: Verbinden Sie ein Gerät oder eine Entity direkt mit der IoT-Domain. Wenn das Gerät oder die Entity strukturierte Daten sendet, wählen Sie einen Adapter aus. Durch Auswahl eines Adapters wird diese Instanz des digitalen Zwillings mit einer Transformationsschicht verknüpft, die eingehende Geräte-Payloads in die DTDL-Struktur des zugehörigen digitalen Zwillingsmodells konvertiert, die von der Instanz erwartet wird.
- Wählen Sie Erstellen.
- Verwenden Sie den Befehl oci iot digital-twin-instance create und diese Parameter, um eine digitale Zwillingsinstanz zu erstellen.
- Ersetzen Sie
<iot-domain-OCID>durch die Domain IoT, die Sie mit dieser Instanz des digitalen Zwillings IoT verknüpfen möchten. Ersetzen Sie<secret-or-certificate-OCID>durch die Vault-Secret-OCID:oci iot digital-twin-instance create --auth-id <secret-OCID> --iot-domain-id <iot-domain-OCID>
Führen Sie den Vorgang CreateDigitalTwinInstance aus, um eine Instanz mit digitalem Zwilling zu erstellen.
Schritt 4: IoT-Domaindetails abrufen
Wenn der Gerätehost-Endpunkt für die zu verwendende IoT-Domain vorhanden ist, überspringen Sie diesen Schritt.
Die IoT-Domaindetails enthalten den Gerätehost, einschließlich der Domain-Kurz-ID, für weitere Details einer IoT-Domain abrufen,
Verwenden Sie den Befehl oci iot domain get und den erforderlichen Parameter, um die Details einer IoT-Domain abzurufen, einschließlich des Gerätehosts mit der Domainkurz-ID:
oci iot domain get --iot-domain-id <iot-domain-OCID>Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in CLI-Befehlsreferenz.
Führen Sie den Vorgang GetIotDomain aus, um die Details einer Domain abzurufen.
Schritt 5: Daten senden
- Gerätebenutzername: Verwenden Sie
external keyaus der digitalen Zwillingsinstanz als Gerätebenutzername. - Gerätekennwort: Ist mit der Authentifizierungs-ID für die Instanz des digitalen Zwillings verknüpft. Wenn die Instanz des digitalen Zwillings eine Vault-Secret-OCID zur Authentifizierung verwendet, verwenden Sie den Secret-Inhalt im Klartext als Gerätekennwort. Informationen hierzu finden Sie unter Secret erstellen und Inhalt eines Secrets abrufen. Die Verwendung eines Vault Secrets als Gerätekennwort wird nur zum Testen und nicht zur Produktion empfohlen.
Curl verwenden
Shells im POSIX-Stil: Verwenden Sie diesen Befehlcurl, wenn Sie bash, zsh, macOS-Terminal, Linux oder Git Bash unter Windows verwenden.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: Verwenden Sie diesen
curl-Befehl in diesem Beispiel mit-G, um eineGET-Anforderung zu erstellen und alle mit--data-urlencodebereitgestellten Daten als Abfrageparameter an die URL anzuhängen. Sie können auch die Umgebungsvariablen verwenden.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"Wenn Sie Schritt 3: Digitale Zwillingsinstanz erstellen abgeschlossen haben und den Parameterwert des externen Schlüssels mit Anführungszeichen definiert haben, müssen Sie die Anführungszeichen beim Senden der Daten angeben:
"external-key". Best Practices für die Angebotserstellung finden Sie unter Fehlerbehebung.- Verwenden Sie einen beliebigen MQTT-Client. In diesem Beispiel wird MQTTX mit den folgenden Einstellungen verwendet.
- Laden Sie MQTTX herunter, und richten Sie es ein. Befolgen Sie diese Anweisungen unter Erste Schritte mit MQTTX. Öffnen Sie MQTTX.
- Wählen Sie + Neue Verbindung aus, um eine neue Verbindung zu erstellen.
- Geben Sie den Wert Externer Schlüssel
<unique-id>als Benutzername ein. Den externen Schlüssel finden Sie in der Antwortoci iot digital-twin-instance createaus dem vorherigen Schritt 3: Digitale Zwillingsinstanz erstellen:"external-key": "<unique-id>" - Geben Sie das Passwort für das Gerät ein. Wenn Sie mit Vault Secret testen, muss dies der Secret-Inhalt im Klartext sein. Oder verwenden Sie für eine sichere Produktionsumgebung ein mTLS-Zertifikat.
- Geben Sie den Host ein. Wählen Sie das Protokoll
mqtts://aus der Host-Dropdown-Liste, und geben Sie den Gerätehost<domain-short-id>.device.iot.<region>.oci.oraclecloud.comaus der Domain IoT ein. - Geben Sie den Port ein. Beispiel:
8883Hinweis
Derzeit wird MQTT Secure (MQTTS) nur über Port8883unterstützt. - Schalten Sie SSL/TLS ein.
- Aktivieren Sie SSL Secure umschalten.
- Wählen Sie für das Zertifikat die Option CA-signiertes Serverzertifikat.
- Wenn Sie die MQTTX-Verbindung konfigurieren, stellen Sie sicher, dass Sie eine Verbindung mit einem
clean sessionherstellen, und setzen Sie die OptionLast-Will-Retainauffalse, damit Clientabonnements beibehalten werden können, wenn das Gerät kurz getrennt wird. - Setzen Sie Last Will QoS auf 1.
- Wählen Sie Verbinden aus.
Nachdem Sie diese Schritte abgeschlossen haben, befindet sich eine digitale Zwillingsinstanz in der IoT-Plattform, die Daten von einem Gerät empfangen kann.
Nächste Vorgehensweise
- Prüfen Sie die IoT-Beispieldateien, um Test- und Produktionsumgebungen einzurichten.
- Konfigurieren Sie APEX, um Ihre IoT-Domaindaten in APEX anzuzeigen, und installieren Sie dann eine Beispielanwendung für APEX IoT Explorer, um Ihre IoT-Geräte und -Nachrichten visuell zu überwachen.
- Wenn Sie die Ressourcen nicht beibehalten möchten, löschen Sie die IoT-Domains, die mit der Domaingruppe IoT verknüpft sind, und löschen Sie die Domaingruppe IoT.