Visualizza il codice sorgente su GitHub
OpenThread offre funzionalità server e client CoAP, consentendo ai dispositivi di connettersi alle risorse sul server CoAP e di osservare ogni risorsa un cambiamento nello stato attuale. L'agente CoAP fornito nell'interfaccia a riga di comando può agire come client o server CoAP.
Comandi CoAP
Per un elenco di comandi coap, digita help:
coap help
help
cancel
delete
get
observe
parameters
post
put
resource
set
start
stop
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 coap iniziano in ordine alfabetico con
annullamento coap.
Esempio di utilizzo dei comandi client e del server CoAP
Questo esempio utilizza i comandi di base dell'interfaccia a riga di comando per avviare un server e client CoAP, creare una risorsa di test sul server CoAP e fare in modo che il client CoAP interagisca con la risorsa. I dati di esempio vengono utilizzati a scopo illustrativo.
Configura il server CoAP
Sul nodo del server CoAP, segui questi passaggi:
Avvia l'agente CoAP.
coap startDoneCreare una risorsa di test.
coap resource test-resourceDone
Configura il client CoAP
Sul nodo client CoAP, segui questi passaggi:
Avvia l'agente CoAP:
coap startDoneEsegui il comando
getper ottenere informazioni sulla risorsa:coap get fdde:ad00:beef:0:d395:daee:a75:3964 test-resourceDone coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac] with payload: 30L'ultima parte del server
responseè il terminewith payload:, segui per tutti i byte di payload in formato con cifre esadecimali. Di conseguenza, nell'esempiowith payload: 30indica che il payload attuale per la risorsa è impostato un byte di informazioni di payload con un valore esadecimale 0x30. Per ulteriori informazioni sull'utilizzo dell'opzionepayload, consulta: post coap.Puoi modificare la risorsa utilizzando il comando
put:coap put fdde:ad00:beef:0:2780:9423:166c:1aac test-resource con hellothereDone coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac]In questo esempio,
consignifica che vuoi un messaggio affidabile, ottenuti mediante un messaggio confermabile (con), da inviare al server CoAP. L'impostazione predefinita prevede l'invio di un messaggio non confermabile (non-con).La stringa
hellothereè un esempio di utilizzo dell'elementopayloadfacoltativo quandotypeècononon-con." Per ulteriori informazioni, consulta coap put.Il server risponde con il suo indirizzo IPv6 per indicare che la richiesta è stata gestita.
Risposte inviate al server CoAP
Sul server, l'output di questo esempio sarebbe simile al seguente:
coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] GET coap response sent coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] PUT with payload: 68656c6c6f7468657265 coap response sent
Il valore payload di 68656c6c6f7468657265 è la stringa hellothere convertita
alla sequenza di byte in codice ASCII.