Envoi d'une commande brute à partir d'une instance de jumeau numérique
Envoyer une commande à un appareil.
Selon le type de données à envoyer, utilisez les commandes d'interface de ligne de commande et l'opération d'API suivantes pour envoyer une commande JSON brute, une commande en texte brut ou une commande binaire brute à un appareil.
Actuellement, MQTT Secure (MQTTS) n'est pris en charge qu'avec le port
8883.Pour plus d'informations, voir Scénario : Réception de commandes et envoi de réponses à l'aide de MQTT.
- Dans la page de liste Domaines, sélectionnez le domaine avec lequel vous voulez travailler. Si vous avez besoin d'aide pour trouver la page de liste des domaines IoT ou un domaine IoT, voir Liste des domaines IoT.
- Sélectionnez l'onglet Instances jumeaux numériques.
- Sélectionnez le nom de l'instance du jumeau numérique à utiliser.
- Dans le menu Actions en haut de la page, sélectionnez Envoyer une commande brute.
- Entrez le point d'extrémité de la demande, l'appareil vers lequel la commande doit être transmise.
- Entrez la durée de la demande, qui définit une période pendant laquelle l'appareil doit terminer l'exécution de la commande. Utilisez ISO 8601 pour le format de durée, par exemple PT3M est égal à 3 minutes.
- Sélectionnez le format des données de commande et entrez les détails de la commande. La taille maximale est 256k :
- JSON : Données de commande JSON.
- Binaire : Effectuez un glisser-déposer ou sélectionnez un fichier contenant 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.
- Facultatif. Activez l'option Spécifier les paramètres de réponse
- Durée de la réponse : Temps maximal pendant lequel le système attend une réponse. Utilisez ISO 8601 pour le format de durée, par exemple PT3M est égal à 3 minutes.
- Point d'extrémité de réponse : Point d'extrémité de l'appareil où la réponse est attendue, par exemple
myinstance/response.
- Sélectionnez Envoyer une commande brute.
Utilisez la commande
oci iot digital-twin-instance invoke-raw-<data-type>-commandet les paramètres requis pour appeler une commande JSON, binaire ou texte brute sur un appareil. Remplacez<digital-twin-instance-OCID>par l'OCID de l'instance de jumeau numérique pour votre environnement :Utilisez la commande oci iot digital-twin-instance invoke-raw-json-command pour appeler une commande JSON brute. Remplacer 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 invoke-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/4321Utilisez la commande oci iot digital-twin-instance invoke-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/4321Pour la liste complète des paramètres et des valeurs pour les commandes de l'interface de ligne de commande, voir Informations de référence sur les commandes de l'interface de ligne de commande.
- Exécutez l'opération InvokeRawCommand et le paramètre requis pour envoyer une commande brute à un appareil. Les types de données suivants sont pris en charge :
- JSON
- binaire
- text
Réponses de commande
| scénario; | État de l'appareil | État de commande attendu | Commentaires |
|---|---|---|---|
| Non connecté | Non connecté non abonné | REFUSÉE | La livraison de commande échoue immédiatement |
| Connecté mais non abonné | Connecté | REFUSÉE | Appareil en ligne mais ne reçoit pas de commande |
| Abonné mais non connecté | Abonné seulement | EN ATTENTE → EXPIRÉ | La commande attend; expire après la temporisation |
| Abonné mais non connecté initialement et connecté avant temporisation | Initialement hors ligne | EN ATTENTE → ENVOYÉ | Commande reçue |
| Connecté et abonné | Connecté et abonné | ENVOYÉ | 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_RESPONDED | L'appareil ne répond pas dans la temporisation de la durée de la réponse |
| Commande bidirectionnelle (réponse reçue) | Connecté et abonné | TERMINÉ | L'appareil envoie les données dans le délai de réponse et termine le flux |