Testar a conectividade com um recurso de protocolo de aplicativo restrito (CoAP, na sigla em inglês) usando a CLI OT

Veja o código-fonte no GitHub

O OpenThread oferece funcionalidades de servidor e cliente CoAP, permitindo que conectar-se a recursos no servidor CoAP e observar cada recurso uma mudança em seu estado atual. O agente CoAP fornecido na CLI pode agir como cliente ou servidor CoAP.

Comandos CoAP

Para ver uma lista de comandos coap, digite help:

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

Referência de comandos da CLI

Para descrições e sintaxe de todos os comandos, consulte a referência de comandos da CLI. Os comandos coap começam em ordem alfabética com cancelamento automático.

Exemplo de uso do servidor CoAP e de comandos do cliente

Este exemplo usa comandos básicos da CLI para iniciar um servidor e um cliente CoAP, criar um recurso de teste no servidor do CoAP e fazer com que o cliente do CoAP interaja com o recurso. Os dados de amostra são usados para fins ilustrativos.

Configurar o servidor CoAP

No nó do servidor CoAP, execute as seguintes etapas:

  1. Inicie o agente do CoAP.

    coap start
    Done
    
  2. Criar um recurso de teste.

    coap resource test-resource
    Done
    

Configurar o cliente CoAP

No nó do cliente do CoAP, execute as seguintes etapas:

  1. Inicie o agente do CoAP:

    coap start
    Done
    
  2. Execute o comando get para receber informações sobre o 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
    

    A última parte do servidor response é o termo with payload:, seguida por todos os bytes de payload no formato de dígito hexadecimal. Portanto, no exemplo, with payload: 30 indica que o payload atual do recurso está definido como um byte de informações de payload com um valor hexadecimal de 0x30. Para mais informações sobre como usar a opção payload, consulte coap post.

  3. É possível modificar o recurso usando o 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]
    

    Neste exemplo, con significa que você quer uma mensagem confiável, obtido usando uma mensagem confirmável (con), para ser enviada ao servidor CoAP. O padrão é enviar uma mensagem não confirmável (non-con).

    A string hellothere é um exemplo de como usar o parâmetro payload opcional quando o type for con ou non-con." Para mais informações, consulte coap put.

    O servidor responde com o endereço IPv6 para indicar que a solicitação foi processada.

Respostas enviadas ao servidor CoAP

No servidor, a saída desse exemplo seria semelhante a esta:

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

O valor payload de 68656c6c6f7468657265 é a string hellothere convertida para uma sequência de bytes de código ASCII.