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.
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.
- 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.
- Sélectionnez l'onglet Instances de jumeaux numériques.
- Sélectionnez le nom d'instance de jumeau numérique que vous voulez utiliser.
- Dans le menu Actions en haut de la page, sélectionnez Envoyer la commande brute.
- Entrez l'adresse de demande, le périphérique vers lequel la commande doit être transférée.
- 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.
- 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.
- 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.
- Sélectionnez Envoyer la 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 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/4321Utilisez 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/4321Pour 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énario | Etat du périphérique | Etat de commande attendu | Commentaires |
|---|---|---|---|
| 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é uniquement | EN 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_RESPONDED | Le 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 |