Testare la connettività a una risorsa CoAP (Consad Application Protocol) utilizzando l'interfaccia a riga di comando OT

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:

  1. Avvia l'agente CoAP.

    coap start
    Done
    
  2. Creare una risorsa di test.

    coap resource test-resource
    Done
    

Configura il client CoAP

Sul nodo client CoAP, segui questi passaggi:

  1. Avvia l'agente CoAP:

    coap start
    Done
    
  2. Esegui il comando get per ottenere informazioni sulla risorsa:

    coap get fdde:ad00:beef:0:d395:daee:a75:3964 test-resource
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac] with payload: 30
    

    L'ultima parte del server response è il termine with payload:, segui per tutti i byte di payload in formato con cifre esadecimali. Di conseguenza, nell'esempio with payload: 30 indica 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'opzione payload, consulta: post coap.

  3. Puoi modificare la risorsa utilizzando il comando put:

    coap put fdde:ad00:beef:0:2780:9423:166c:1aac test-resource con hellothere
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac]
    

    In questo esempio, con significa 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'elemento payload facoltativo quando type è con o non-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.