Testar a conectividade com um recurso CoAP seguro usando a CLI OT

Consulte o código-fonte no GitHub

O OpenThread oferece funcionalidade de servidor e cliente do Secure CoAP, permitindo que os dispositivos se conectem a recursos no servidor Secure CoAP e observem cada mudança no estado atual de cada recurso.

O Secure CoAP usa o Datagram Transport Layer Security (DTLS) para estabelecer conexões seguras de ponta a ponta.

O agente do Secure CoAP fornecido na CLI pode atuar como o cliente do Secure CoAP ou como o servidor do Secure CoAP.

Este guia fornece tarefas básicas que usam alguns dos comandos Secure CoAP (coaps) mais comuns.

Comandos CoAP seguros

Para ver uma lista de comandos do CoAP seguro, digite help:

coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
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 do Secure CoAP começam em ordem alfabética com coaps connect.

Exemplo de uso de comando do cliente e do servidor CoAP seguro

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

Configurar pacotes de criptografia DTLS

A CLI coaps fornece os comandos psk e x509 que podem ser usados com a chave PSK e o certificado X.509. Para sintaxes de comando e exemplos, consulte coaps psk e coaps x509 (links em inglês).

Configurar o servidor Secure CoAP

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

  1. Inicie o agente CoAP seguro.

    coaps start
    Done
    
  2. Crie um recurso de teste.

    coaps resource test-resource
    Done
    

Configurar o cliente Secure CoAP

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

  1. Inicie o agente CoAP seguro:

    coaps start
    Done
    
  2. Execute o comando connect para inicializar uma sessão DTLS com um peering:

    coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
    Done
    coaps connected
    
  3. Execute o comando get para receber informações sobre o recurso:

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

    A última parte da resposta do servidor é o termo with payload:, seguido por todos os bytes de payload em formato de dígito hexadecimal. No exemplo, with payload: 68656c6c6f576f726c6400 indica que o payload atual do recurso é o valor hexadecimal 68656c6c6f576f726c6400, que é convertido na string helloWorld. Para mais informações sobre como usar a opção payload, consulte coaps post.

  4. Modifique o recurso usando o comando put:

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

    Neste exemplo, con significa que você quer que uma mensagem confiável, recebida usando uma mensagem confirmável (con), seja enviada para o servidor Secure 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 coaps put.

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

Respostas enviadas ao servidor Secure CoAP

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

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

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