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

Veja o código-fonte no GitHub

O OpenThread oferece funcionalidades de servidor e cliente de CoAP seguro, permitindo que conectar-se a recursos no servidor CoAP seguro e observar cada recurso uma mudança em seu estado atual.

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

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

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

Comandos CoAP seguros

Para ver uma lista de comandos CoAP seguros, 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 descrições e 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 servidor CoAP seguro

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

Configurar o servidor CoAP seguro

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

  1. Inicie o agente CoAP seguro.

    coaps start
    Done
    
  2. Criar um recurso de teste.

    coaps resource test-resource
    Done
    

Configurar o cliente CoAP seguro

No nó do cliente CoAP seguro, 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 app semelhante:

    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 no 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 (em inglês).

  4. É possível modificar 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 uma mensagem confiável, obtido usando uma mensagem confirmável (con), para ser enviada ao servidor Secure 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 coaps put.

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

Respostas enviadas ao servidor CoAP seguro

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

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