Probar la conectividad a un recurso CoAP seguro con la CLI de OT

Ver código fuente en GitHub

OpenThread ofrece funcionalidad de cliente y de servidor de Secure CoAP para los dispositivos, lo que permite que los dispositivos se conecten a los recursos del servidor de Secure CoAP y observen cada recurso para detectar un cambio en su estado actual.

Secure CoAP usa la seguridad de la capa de transporte para datagramas (DTLS) para establecer conexiones seguras de extremo a extremo.

El agente de Secure CoAP proporcionado en la CLI puede actuar como cliente de CoAP seguro o servidor de CoAP seguro.

En esta guía, se proporcionan tareas básicas en las que se usan algunos de los comandos de Secure CoAP (coaps) más comunes.

Comandos de CoAP seguros

Para obtener una lista de comandos de Secure CoAP, escribe help:

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

Referencia de comandos de CLI

Para obtener descripciones y sintaxis de todos los comandos, consulta la Referencia de comandos de CLI. Los comandos de Secure CoAP comienzan en orden alfabético con coaps connect.

Ejemplo de uso del comando del cliente y el servidor de CoAP seguro

En este ejemplo, se usan comandos básicos de la CLI para iniciar un servidor y un cliente de Secure CoAP, crear un recurso de prueba en el servidor de Secure CoAP y hacer que este interactúe con el recurso. Los datos de muestra se utilizan con fines ilustrativos.

Configura conjuntos de cifrado de DTLS

La CLI de coaps proporciona los comandos psk y x509 que se pueden usar con la clave PSK y el certificado X.509. Para conocer la sintaxis y los ejemplos del comando, consulta coaps psk y coaps x509.

Configura el servidor de CoAP seguro

En el nodo del servidor de Secure CoAP, sigue estos pasos:

  1. Inicia el agente de Secure CoAP.

    coaps start
    Done
    
  2. Crea un recurso de prueba.

    coaps resource test-resource
    Done
    

Configura el cliente de Secure CoAP

En el nodo cliente de CoAP seguro, realiza los siguientes pasos:

  1. Inicia el agente de Secure CoAP:

    coaps start
    Done
    
  2. Ejecuta el comando connect para inicializar una sesión de DTLS con un par:

    coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
    Done
    coaps connected
    
  3. Ejecuta el comando get para obtener información sobre el recurso:

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

    La última parte de la respuesta del servidor es el término with payload:, seguido de todos los bytes de carga útil en formato de dígitos hexadecimales. En el ejemplo, with payload: 68656c6c6f576f726c6400 indica que la carga útil actual del recurso es el valor hexadecimal 68656c6c6f576f726c6400, que se convierte en la string helloWorld. Para obtener más información sobre el uso de la opción payload, consulta la publicación de instrucciones.

  4. Puedes modificar el recurso con el comando put:

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

    En este ejemplo, con significa que quieres que se envíe un mensaje confiable, que se obtiene a través de un mensaje confirmable (con), al servidor de CoAP seguro. La configuración predeterminada es enviar un mensaje no confirmable (non-con).

    La string hellothere es un ejemplo del uso del parámetro opcional payload cuando type es con o non-con. Para obtener más información, consulta Coaps put.

    El servidor responde con su dirección IPv6 para indicar que se manejó la solicitud.

Respuestas enviadas al servidor de Secure CoAP

En el servidor, el resultado de este ejemplo sería similar al siguiente:

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

El valor payload de 68656c6c6f7468657265 es la string hellothere convertida en una secuencia de bytes de código ASCII.