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:
Avvia l'agente Secure CoAP.
coaps start
DoneCreare una risorsa di test.
coaps resource test-resource
Done
Configurare il client Secure CoAP
Nel nodo client Secure CoAP, segui questi passaggi:
Avvia l'agente Secure CoAP:
coaps start
DoneEsegui il comando
connect
per inizializzare una sessione DTLS con un peer:coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
Done coaps connectedEsegui 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: 68656c6c6f576f726c6400L'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 esadecimale68656c6c6f576f726c6400
, che viene convertito nella stringahelloWorld
. Per ulteriori informazioni sull'utilizzo dell'opzionepayload
, consulta la sezione Post di Coaps.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:5744In 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 facoltativopayload
quandotype
ècon
onon-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.