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à sia di server CoAP che di client, consentendo ai dispositivi di connettersi alle risorse sul server CoAP e di osservare ogni risorsa per eventuali cambiamenti nel suo stato attuale. L'agente CoAP fornito nell'interfaccia a riga di comando può fungere da 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 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 coap iniziano in ordine alfabetico con coap cancel.

Esempio di utilizzo dei comandi CoAP da server e client

Questo esempio utilizza i comandi dell'interfaccia a riga di comando di base per avviare un server e un client CoAP, creare una risorsa di test sul server CoAP e consentire al client CoAP di interagire con la risorsa. I dati di esempio vengono utilizzati a scopo illustrativo.

Configurare 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
    

Impostazione del client CoAP

Nel nodo client CoAP, esegui 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:, seguito da tutti i byte del payload in formato con cifre esadecimali. Pertanto, nell'esempio, with payload: 30 indica che il payload attuale per la risorsa è impostato su un byte di informazioni sul payload con un valore esadecimale 0x30. Per ulteriori informazioni sull'utilizzo dell'opzione payload, consulta la sezione 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 che un messaggio affidabile, ottenuto da un messaggio confermabile (con), venga inviato al server 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 saperne di più, consulta la sezione coap put.

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