Pruebe la conectividad a un recurso de protocolo de aplicaciones restringido (CoAP) con la CLI de OT

Ver código fuente en GitHub

OpenThread ofrece funcionalidad de cliente y de servidor CoAP, lo que permite que los dispositivos se conecten a recursos en el servidor CoAP y observen cada recurso para detectar un cambio en su estado actual. El agente de CoAP proporcionado en la CLI puede actuar como cliente o servidor de CoAP.

Comandos de CoAP

Para obtener una lista de comandos coap, escribe help:

coap help
help
cancel
delete
get
observe
parameters
post
put
resource
set
start
stop
Done

Referencia de comandos de CLI

Para obtener descripciones y sintaxis de todos los comandos, consulta la Referencia de comandos de CLI. Los comandos coap comienzan alfabéticamente con coap cancel.

Ejemplo de uso del servidor CoAP y del comando del cliente

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

Configura el servidor de CoAP

En el nodo del servidor de CoAP, realiza los siguientes pasos:

  1. Inicia el agente de CoAP.

    coap start
    Done
    
  2. Crea un recurso de prueba.

    coap resource test-resource
    Done
    

Configura el cliente de CoAP

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

  1. Inicia el agente de CoAP:

    coap start
    Done
    
  2. Ejecuta el comando get para obtener información sobre el recurso:

    coap get fdde:ad00:beef:0:d395:daee:a75:3964 test-resource
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac] with payload: 30
    

    La última parte del servidor response es el término with payload:, seguido de todos los bytes de carga útil en formato de dígitos hexadecimales. Por lo tanto, en el ejemplo, with payload: 30 indica que la carga útil actual del recurso está configurada en un byte de información de la carga útil con un valor hexadecimal de 0x30. Para obtener más información sobre el uso de la opción payload, consulta la publicación de instrucciones.

  3. Puedes modificar el recurso con el comando put:

    coap put fdde:ad00:beef:0:2780:9423:166c:1aac test-resource con hellothere
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac]
    

    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. 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 coap put.

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

Respuestas enviadas al servidor de CoAP

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

coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] GET
coap response sent
coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] PUT with payload: 68656c6c6f7468657265
coap response sent

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