Raw-Befehl von einer digitalen Zwillingsinstanz senden
Senden Sie einen Befehl auf ein Gerät.
Je nach Datentyp, den Sie senden möchten, verwenden Sie die folgenden CLI-Befehle und den API-Vorgang, um einen Raw-JSON-Befehl, einen Raw-Nur-Textbefehl oder einen Raw-Binärbefehl an ein Gerät zu senden.
Derzeit wird MQTT Secure (MQTTS) nur über Port
8883 unterstützt.Weitere Informationen finden Sie unter Szenario: Befehle empfangen und Antworten mit MQTTs senden.
- Wählen Sie auf der Listenseite Domains die Domain, mit der Sie arbeiten möchten. Wenn Sie Hilfe beim Suchen der Listenseite für IoT-Domains oder einer IoT-Domain benötigen, finden Sie weitere Informationen unter IoT-Domains auflisten.
- Wählen Sie die Registerkarte Digital Twin Instances aus.
- Wählen Sie den Namen der digitalen Zwillingsinstanz aus, mit dem Sie arbeiten möchten.
- Wählen Sie oben auf der Seite im Menü Aktionen die Option Raw-Befehl senden.
- Geben Sie den Anforderungsendpunkt ein, das Gerät, an das der Befehl weitergeleitet werden soll.
- Geben Sie die Anforderungsdauer ein, und definieren Sie einen Zeitrahmen für das Gerät, um die Befehlsausführung abzuschließen. Verwenden Sie ISO 8601 als Dauerformat. Beispiel: PT3M entspricht 3 Minuten.
- Wählen Sie das Befehlsdatenformat aus, und geben Sie die Befehlsdetails ein. Die maximale Größe beträgt 256k:
- JSON: JSON-Befehlsdaten.
- Binär: Ziehen Sie eine Datei mit den codierten base64-Befehlsdaten per Drag-and-Drop, oder wählen Sie sie aus. Normalerweise ist der MIME-Inhaltstyp
application/octet-stream. Sie können den Inhaltstyp bearbeiten. - Nur Text: Geben Sie die Raw-Befehlsdaten im Nur-Text-Format ein.
- Optional. Aktivieren Sie die Option Antwortparameter angeben.
- Antwortdauer: Maximale Zeit, die das System auf eine Antwort wartet. Verwenden Sie ISO 8601 als Dauerformat. Beispiel: PT3M entspricht 3 Minuten.
- Antwortendpunkt: Geräteendpunkt, an dem die Antwort erwartet wird, z.B.
myinstance/response.
- Wählen Sie Send raw command (Raw-Befehl senden).
Verwenden Sie den Befehl
oci iot digital-twin-instance invoke-raw-<data-type>-commandund die erforderlichen Parameter, um einen Raw-JSON-, Binär- oder Textbefehl auf einem Gerät aufzurufen. Ersetzen Sie<digital-twin-instance-OCID>durch die OCID der digitalen Zwillingsinstanz für Ihre Umgebung:Verwenden Sie den Befehl oci iot digital-twin-instance invoke-raw-json-command, um einen Raw-JSON-Befehl aufzurufen. Ersetzen Sie die Beispielwerte für Ihre Umgebung:
oci iot digital-twin-instance invoke-raw-json-command \ --digital-twin-instance-id <digital-twin-instance-OCID> \ --request-endpoint /endpoints/<device-id> \ --request-data '{"temp": 34}' \ --request-data-content-type application/json \ --request-duration PT10M \ --response-endpoint /endpoints/<response-device-id>Verwenden Sie den Befehl oci iot digital-twin-instance invoke-raw-binary-command, um einen binären Raw-Befehl aufzurufen. Ersetzen Sie die Parameterwerte für Ihre Umgebung:
oci iot digital-twin-instance invoke-raw-binary-command \ --digital-twin-instance-id <digital-twin-instance-OCID> \ --request-endpoint /endpoints/1234 \ --request-data file:///mnt/data/binary_input.bin \ --request-data-content-type application/octet-stream \ --request-duration PT10M --response-endpoint /endpoints/4321Verwenden Sie den Befehl oci iot digital-twin-instance invoke-raw-text-command, um einen Raw-Textbefehl aufzurufen. Ersetzen Sie die Parameterwerte für Ihre Umgebung:
oci iot digital-twin-instance invoke-raw-text-command \ --digital-twin-instance-id <digital-twin-instance-OCID> \ --request-endpoint /endpoints/1234 \ --request-data 'command input as text' \ --request-data-content-type text/plain \ --request-duration PT10M \ --response-endpoint /endpoints/4321Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in CLI-Befehlsreferenz.
- Führen Sie den Vorgang InvokeRawCommand und den erforderlichen Parameter aus, um einen Raw-Befehl an ein Gerät zu senden. Die folgenden Datentypen werden unterstützt:
- JSON
- binär
- Text
Befehlsantworten
| Szenario | Gerätestatus | Erwarteter Befehlsstatus | Kommentare |
|---|---|---|---|
| Nicht angemeldet | Nicht verbunden, nicht abonniert | ABGELEHNT | Befehlszustellung nicht erfolgreich |
| Verbunden, aber nicht abonniert | Verbunden | ABGELEHNT | Gerät ist online, empfängt jedoch keinen Befehl |
| Abonniert, aber nicht verbunden | Nur abonniert | AUSSTEHEND → ABGELAUFEN | Befehl wartet; läuft nach Timeout ab |
| Ursprünglich abonniert, aber nicht verbunden und wird vor Timeout verbunden | Ursprünglich offline | AUSSTEHEND → GESENDET | Befehl empfangen |
| Verbunden und abonniert | Verbunden und abonniert | SENT | Befehl empfangen |
| Einwegbefehl (keine Antwort erwartet) | Verbunden und abonniert | ABGESCHLOSSEN | Antwort wird nicht erwartet und verfolgt |
| Zwei-Wege-Befehl (keine Antwort empfangen) | Verbunden und abonniert | NOT_RESPONDED | Gerät reagiert nicht innerhalb des Antwortdauer-Timeouts |
| Zwei-Wege-Befehl (Antwort empfangen) | Verbunden und abonniert | ABGESCHLOSSEN | Gerät sendet Daten innerhalb der Antwortzeitüberschreitung und schließt den Ablauf ab |