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

Consulte o código-fonte no GitHub

O OpenThread oferece funcionalidade de servidor e cliente CoAP, permitindo que os dispositivos se conectem a recursos no servidor CoAP e observem cada mudança no estado atual de cada recurso. O agente CoAP fornecido na CLI pode atuar 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 ver as descrições e a sintaxe de todos os comandos, consulte a Referência de comandos da CLI. Os comandos coap começam em ordem alfabética com coap cancel.

Exemplo de uso de comando do cliente e do servidor CoAP

Este exemplo usa comandos básicos da CLI para iniciar um servidor e um cliente CoAP, criar um recurso de teste no servidor CoAP e fazer com que o cliente 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 CoAP.

    coap start
    Done
    
  2. Crie um recurso de teste.

    coap resource test-resource
    Done
    

Configurar o cliente CoAP

No nó cliente CoAP, execute as seguintes etapas:

  1. Inicie o agente 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:, seguido por todos os bytes de payload em 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 a coap post (em inglês).

  3. Modifique 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 que uma mensagem confiável, recebida usando uma mensagem confirmável (con), seja enviada ao servidor CoAP. O padrão é enviar uma mensagem não confirmada (non-con).

    A string hellothere é um exemplo de uso do parâmetro opcional payload quando type é 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 à seguinte:

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 em sequência de bytes de código ASCII.