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:
Avvia l'agente Secure CoAP.
coaps start
DoneCreare una risorsa di test.
coaps resource test-resource
Done
Configura il client Secure CoAP
Sul nodo client di Secure CoAP, esegui 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 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 esadecimale68656c6c6f576f726c6400
, che viene convertito nel formatohelloWorld
. Per ulteriori informazioni sull'utilizzo dell'opzionepayload
, consulta: post 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 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'elementopayload
facoltativo quandotype
ècon
onon-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.