Testare la connettività a una risorsa CoAP sicura utilizzando l'interfaccia a riga di comando OT

Visualizza il codice sorgente su GitHub

OpenThread offre funzionalità server e client Secure CoAP, abilitando i dispositivi connettersi alle risorse sul server Secure CoAP e osservare ogni risorsa un cambiamento nello stato attuale.

Secure CoAP utilizza DTLS (Datagram Transport Layer Security) per stabilire criteri e le connessioni end-to-end.

L'agente Secure CoAP fornito nell'interfaccia a riga di comando può agire come client Secure CoAP o server Secure CoAP.

Questa guida fornisce attività di base che utilizzano alcuni dei comandi più comuni di Secure CoAP (coaps).

Comandi CoAP sicuri

Per un elenco di comandi Secure CoAP, digita help:

coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done

Riferimento ai comandi dell'interfaccia a riga di comando

Per le descrizioni e la sintassi di tutti i comandi, consulta la documentazione di riferimento dei comandi dell'interfaccia a riga di comando. I comandi di Secure CoAP iniziano alfabeticamente con Coaps Connect.

Esempio di utilizzo di comandi sicuri da server e client CoAP

Questo esempio utilizza i comandi di base dell'interfaccia a riga di comando per avviare un server e un client Secure CoAP, creare una risorsa di test sul server Secure CoAP e avere il client Secure CoAP a interagire con la risorsa. I dati di esempio vengono utilizzati a scopo illustrativo.

Configura i pacchetti di crittografia DTLS

L'interfaccia a riga di comando coaps fornisce comandi psk e x509 che possono essere utilizzati con la chiave PSK e il certificato X.509. Per la sintassi dei comandi e gli esempi, consulta coaps psk e coaps x509.

Configura il server Secure CoAP

Sul nodo del server Secure CoAP, segui questi passaggi:

  1. Avvia l'agente Secure CoAP.

    coaps start
    Done
    
  2. Creare una risorsa di test.

    coaps resource test-resource
    Done
    

Configura il client Secure CoAP

Sul nodo client di Secure CoAP, esegui questi passaggi:

  1. Avvia l'agente Secure CoAP:

    coaps start
    Done
    
  2. Esegui il comando connect per inizializzare una sessione DTLS con un peer:

    coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
    Done
    coaps connected
    
  3. Esegui il comando get per ottenere informazioni sulla risorsa:

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

    L'ultima parte della risposta del server è il termine with payload:, seguito per tutti i byte di payload in formato con cifre esadecimali. In questo esempio, with payload: 68656c6c6f576f726c6400 indica che il payload attuale per la risorsa è il valore esadecimale 68656c6c6f576f726c6400, che viene convertito nel formato helloWorld. Per ulteriori informazioni sull'utilizzo dell'opzione payload, consulta: post coaps.

  4. Puoi modificare la risorsa utilizzando il comando put:

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

    In questo esempio, con significa che vuoi un messaggio affidabile, ottenuto mediante un messaggio confermabile (con), da inviare al server Secure CoAP. L'impostazione predefinita prevede l'invio di un messaggio non confermabile (non-con).

    La stringa hellothere è un esempio di utilizzo dell'elemento payload facoltativo quando type è con o non-con. Per ulteriori informazioni, consulta coaps put.

    Il server risponde con il suo indirizzo IPv6 per indicare che la richiesta è stata gestita.

Risposte inviate al server Secure CoAP

Sul server, l'output di questo esempio sarebbe simile al seguente:

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

Il valore payload di 68656c6c6f7468657265 è la stringa hellothere convertita alla sequenza di byte in codice ASCII.