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

Afficher le code source sur GitHub

OpenThread offre à la fois des fonctionnalités de serveur et de client CoAP sécurisé, ce qui permet aux appareils de se connecter aux ressources du serveur CoAP sécurisé et d'observer chaque ressource afin d'identifier un changement d'état actuel.

La fonctionnalité CoAP sécurisée utilise DTLS (Datagram Transport Layer Security) pour établir des connexions sécurisées de bout en bout.

L'agent Secure CoAP fourni dans la CLI peut agir en tant que client CoAP sécurisé ou en tant que 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 Secure CoAP, 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 CoAP sécurisées commencent par ordre alphabétique (coaps connect).

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

Cet exemple utilise des commandes CLI de base pour démarrer un serveur et un client Secure CoAP, créer une ressource de test sur le serveur Secure CoAP et permettre au client CoAP sécurisé d'interagir avec la ressource. Les données des échantillons 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 obtenir des exemples de syntaxe et de syntaxe de commande, consultez les pages Coaps psk et Coaps x509.

Configurer le serveur Secure CoAP

Sur le nœud du serveur Secure CoAP, 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 de tous les octets de charge utile au format hexadécimal. Dans l'exemple, with payload: 68656c6c6f576f726c6400 indique que la charge utile actuelle pour la ressource est la valeur hexadécimale 68656c6c6f576f726c6400, qui est convertie dans la chaîne helloWorld. Pour en savoir plus sur l'utilisation de l'option payload, consultez la section 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 qu'un message fiable, obtenu à l'aide d'un message de confirmation (con), soit envoyé au serveur CoAP sécurisé. Par défaut, un message non confirmée (non-con) est envoyé.

    La chaîne hellothere est un exemple d'utilisation du paramètre facultatif payload lorsque type est con ou non-con. Pour en savoir plus, consultez la section Coaps Put.

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

Réponses envoyées au serveur Secure CoAP

Sur le serveur, le résultat de cet exemple ressemblerait à 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 correspond à la chaîne hellothere convertie en séquence d'octets du code ASCII.