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à sia client CoAP che server Secure, consentendo ai dispositivi di connettersi alle risorse sul server Secure CoAP e di osservare ogni risorsa per eventuali cambiamenti nel suo stato attuale.

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

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

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

Comandi CoAP sicuri

Per un elenco dei comandi Secure CoAP, digita help:

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

Riferimento per i comandi dell'interfaccia a riga di comando

Per le descrizioni e la sintassi di tutti i comandi, consulta la documentazione sui comandi dell'interfaccia a riga di comando. I comandi Secure CoAP iniziano in ordine alfabetico con Coaps Connect.

Esempio di utilizzo di comandi client e di server Secure CoAP

Questo esempio utilizza i comandi dell'interfaccia a riga di comando di base per avviare un server e un client Secure CoAP, creare una risorsa di test sul server Secure CoAP e fare in modo che il client Secure CoAP interagisca 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 i comandi psk e x509 che possono essere utilizzati con la chiave PSK e il certificato X.509. Per la sintassi e gli esempi del comando, consulta Coaps psk e Coaps x509.

Configurare il server Secure CoAP

Nel 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
    

Configurare il client Secure CoAP

Nel nodo client Secure CoAP, segui 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 da tutti i byte del payload in formato con cifre esadecimali. Nell'esempio, with payload: 68656c6c6f576f726c6400 indica che il payload attuale per la risorsa è il valore esadecimale 68656c6c6f576f726c6400, che viene convertito nella stringa helloWorld. Per ulteriori informazioni sull'utilizzo dell'opzione payload, consulta la sezione Post di 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 che un messaggio affidabile, ottenuto da un messaggio confermabile (con), venga inviato al server Secure CoAP. L'impostazione predefinita prevede l'invio di un messaggio non confermabile (non-con).

    La stringa hellothere è un esempio di utilizzo del parametro facoltativo payload quando type è con o non-con. Per ulteriori informazioni, consulta la sezione Coaps put.

    Il server risponde con il proprio 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 in sequenza di byte di codice ASCII.