Tester la connectivité à une ressource CoAP sécurisée à l'aide de l'OT CLI

<ph type="x-smartling-placeholder"></ph> Consulter le code source sur GitHub

OpenThread offre à la fois une fonctionnalité de serveur et de client CoAP sécurisé, permettant aux appareils de se connecter aux ressources du serveur CoAP sécurisé et d'observer chaque ressource un changement de son état actuel.

Secure CoAP utilise DTLS (Datagram Transport Layer Security) pour établir des connexions de bout en bout.

L'agent Secure CoAP fourni dans la CLI peut agir en tant que client Secure CoAP ou serveur Secure CoAP.

Ce guide décrit les tâches de base qui utilisent certaines des commandes Secure CoAP (coaps) les plus courantes.

Commandes CoAP sécurisées

Pour obtenir la liste des commandes CoAP sécurisées, saisissez help:

coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done

Documentation de référence sur les commandes CLI

Pour obtenir la description et la syntaxe de toutes les commandes, consultez la documentation de référence sur les commandes CLI. Les commandes Secure CoAP commencent par ordre alphabétique par coaps connect.

Exemple d'utilisation de commandes client et serveur CoAP sécurisés

Cet exemple utilise les commandes CLI de base pour démarrer un serveur et un client CoAP sécurisé, créer une ressource de test sur le serveur Secure CoAP et faire en sorte que le client interagissent avec la ressource. Les données d'échantillon sont utilisées à titre d'illustration uniquement.

Configurer des suites de chiffrement DTLS

La CLI coaps fournit les commandes psk et x509 qui peuvent être utilisées avec la clé PSK et le certificat X.509. Pour connaître la syntaxe de commande et obtenir des exemples, consultez coaps psk et coaps x509

Configurer le serveur CoAP sécurisé

Sur le nœud du serveur CoAP sécurisé, procédez comme suit:

  1. Démarrez l'agent Secure CoAP.

    coaps start
    Done
    
  2. Créez une ressource de test.

    coaps resource test-resource
    Done
    

Configurer le client CoAP sécurisé

Sur le nœud client Secure CoAP, procédez comme suit:

  1. Démarrez l'agent Secure CoAP:

    coaps start
    Done
    
  2. Exécutez la commande connect pour initialiser une session DTLS avec un pair:

    coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
    Done
    coaps connected
    
  3. Exécutez la commande get pour obtenir des informations sur la ressource:

    coaps get test-resource
    Done
    coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400
    

    La dernière partie de la réponse du serveur est le terme with payload:, suivi par tous les octets de charge utile au format hexadécimal. Dans cet exemple, with payload: 68656c6c6f576f726c6400 indique que la charge utile actuelle de la ressource est la valeur hexadécimale 68656c6c6f576f726c6400, qui est convertie en chaîne helloWorld Pour en savoir plus sur l'utilisation de l'option payload, consultez coaps post.

  4. Vous pouvez modifier la ressource à l'aide de la commande put:

    coaps put test-resource con hellothere
    Done
    coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744
    

    Dans cet exemple, con signifie que vous souhaitez un message fiable, c'est-à-dire obtenu à l'aide d'un message de confirmation (con), à envoyer au serveur Secure CoAP. Par défaut, un message non vérifiable (non-con) est envoyé.

    La chaîne hellothere est un exemple d'utilisation de la valeur payload facultative lorsque type est con ou non-con. Pour en savoir plus, consultez coaps put.

    Le serveur répond par son adresse IPv6 pour indiquer que la requête a été traitée.

Réponses envoyées au serveur CoAP sécurisé

Sur le serveur, le résultat de cet exemple doit ressembler à ce qui suit:

coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 GET
coaps response sent
coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 PUT with payload: 68656c6c6f7468657265
coaps response sent

La valeur payload de 68656c6c6f7468657265 est la chaîne hellothere convertie. en séquence d'octets de code ASCII.