Envoi d'une commande brute à partir d'une instance de jumeau numérique

Envoyer une commande à un périphérique.

Selon le type de données à envoyer, utilisez les commandes CLI et l'opération d'API suivantes pour envoyer une commande JSON brute, une commande en texte brut ou une commande binaire brute à un périphérique.

Remarque

Actuellement, MQTT Secure (MQTTS) est uniquement pris en charge à l'aide du port 8883.

Pour plus d'informations, voir Scénario : réception de commandes et envoi de réponses à l'aide de MQTT.

    1. Sur la page de liste Domaines, sélectionnez le domaine avec lequel vous souhaitez travailler. Si vous avez besoin d'aide pour trouver la page de liste des domaines IoT ou un domaine IoT, reportez-vous à Liste des domaines IoT.
    2. Sélectionnez l'onglet Instances de jumeaux numériques.
    3. Sélectionnez le nom d'instance de jumeau numérique que vous voulez utiliser.
    4. Dans le menu Actions en haut de la page, sélectionnez Envoyer la commande brute.
    5. Entrez l'adresse de demande, le périphérique vers lequel la commande doit être transférée.
    6. Entrez la durée de la demande, qui définit une période pour l'exécution de la commande par le périphérique. Utilisez ISO 8601 pour le format de durée, par exemple PT3M est égal à 3 minutes.
    7. Sélectionnez le format de données de la commande et entrez les détails de la commande. La taille maximale est 256k :
      • JSON : données de commande JSON.
      • Binaire : glissez-déplacez ou sélectionnez un fichier avec les données de commande encodées base64. En général, le type de contenu MIME est application/octet-stream. Vous pouvez modifier le type de contenu.
      • Texte brut : entrez les données de la commande brute en texte brut.
    8. Facultatif. Activez l'option Spécifier les paramètres de réponse
      • Durée de la réponse : durée maximale pendant laquelle le système attend une réponse. Utilisez ISO 8601 pour le format de durée, par exemple PT3M est égal à 3 minutes.
      • Adresse de réponse : adresse d'appareil où la réponse est attendue, par exemple, myinstance/response.
    9. Sélectionnez Envoyer la commande brute.
  • Utilisez la commande oci iot digital-twin-instance invoke-raw-<data-type>-command et les paramètres requis pour appeler une commande JSON, binaire ou texte brute sur un périphérique. Remplacez <digital-twin-instance-OCID> par l'OCID d'instance de jumeau numérique de votre environnement :

    Utilisez la commande oci iot digital-twin-instance invoke-raw-json-command pour appeler une commande JSON brute. Remplacez les valeurs de votre environnement :

    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>

    Utilisez la commande oci iot digital-twin-instance invocation-raw-binary-command pour appeler une commande binaire brute. Remplacez les valeurs de paramètre de votre environnement :

    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/4321

    Utilisez la commande oci iot digital-twin-instance invocation-raw-text-command pour appeler une commande de texte brut. Remplacez les valeurs de paramètre de votre environnement :

    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/4321

    Pour obtenir la liste complète des paramètres et des valeurs des commandes de la CLI, reportez-vous à Référence des commandes de la CLI.

  • Exécutez l'opération InvokeRawCommand et le paramètre requis pour envoyer une commande raw à un périphérique. Les types de données suivants sont pris en charge :
    • JSON
    • binaire
    • text

Réponses de commande

ScénarioEtat du périphériqueEtat de commande attenduCommentaires
Non connectéNon connecté non abonné REFUSÉ Echec immédiat de la livraison des commandes
Connecté mais non abonnéConnecté REFUSÉPériphérique en ligne mais ne reçoit pas de commande
Abonné mais non connecté Abonné uniquementEN ATTENTE → EXPIRÉLa commande attend ; expire après expiration
Abonné mais non connecté initialement et est connecté avant expiration Initialement hors ligne EN ATTENTE → ENVOYÉCommande reçue
Connecté et abonnéConnecté et abonné SENT Commande reçue
Commande unidirectionnelle (aucune réponse attendue)Connecté et abonné TERMINÉ Réponse non attendue et suivie
Commande bidirectionnelle (aucune réponse reçue)Connecté et abonné NOT_RESPONDEDLe périphérique ne répond pas dans le délai d'expiration de la durée de réponse
Commande bidirectionnelle (réponse reçue) Connecté et abonné TERMINÉL'appareil envoie les données dans le délai d'expiration de la réponse et termine le flux