Verbindung zu einer CoAP-Ressource (Limited Application Protocol) mit der OT-Befehlszeile testen

Quelle auf GitHub ansehen

OpenThread bietet sowohl CoAP-Server- als auch Client-Funktionen und ermöglicht es Geräten, eine Verbindung zu Ressourcen auf dem CoAP-Server herzustellen und jede Ressource auf eine Änderung ihres aktuellen Zustands hin zu beobachten. Der in der Befehlszeile bereitgestellte CoAP-Agent kann entweder als CoAP-Client oder -Server fungieren.

CoAP-Befehle

Geben Sie help ein, um eine Liste der coap-Befehle zu erhalten:

coap help
help
cancel
delete
get
observe
parameters
post
put
resource
set
start
stop
Done

Kommandozeile

Beschreibungen und Syntax aller Befehle finden Sie in der Befehlszeilenreferenz zu Befehlen. Die coap-Befehle beginnen alphabetisch mit coap cancel.

Beispiel für die Verwendung von CoAP-Server- und Clientbefehlen

In diesem Beispiel werden grundlegende Befehlszeilenbefehle verwendet, um einen CoAP-Server und -Client zu starten, eine Testressource auf dem CoAP-Server zu erstellen und den CoAP-Client mit der Ressource zu interagieren. Zur Veranschaulichung werden Beispieldaten verwendet.

CoAP-Server einrichten

Führen Sie auf dem CoAP-Serverknoten die folgenden Schritte aus:

  1. Starten Sie den CoAP-Agent.

    coap start
    Done
    
  2. Erstellen Sie eine Testressource.

    coap resource test-resource
    Done
    

CoAP-Client einrichten

Führen Sie auf dem CoAP-Clientknoten die folgenden Schritte aus:

  1. Starten Sie den CoAP-Agenten:

    coap start
    Done
    
  2. Führen Sie den Befehl get aus, um Informationen zur Ressource abzurufen:

    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
    

    Der letzte Teil des Server-response ist der Begriff with payload:, gefolgt von allen Nutzlastbyte im Hexadezimalformat. Daher gibt with payload: 30 im Beispiel an, dass die aktuelle Nutzlast für die Ressource auf ein Byte mit Nutzlastinformationen mit einem Hexadezimalwert von 0 x 30 festgelegt ist. Weitere Informationen zur Verwendung der Option payload finden Sie unter Coap Post.

  3. Sie können die Ressource mit dem Befehl put ändern:

    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 diesem Beispiel bedeutet con, dass Sie möchten, dass eine zuverlässige Nachricht, die mit einer prüfbaren Nachricht (con) abgerufen wird, an den CoAP-Server gesendet wird. Standardmäßig wird eine nicht bestätigungsfähige Nachricht (non-con) gesendet.

    Der String hellothere ist ein Beispiel für die Verwendung des optionalen Parameters payload, wenn type entweder con oder non-con ist. Weitere Informationen finden Sie unter Coap Put.

    Der Server antwortet mit seiner IPv6-Adresse, um anzugeben, dass die Anfrage bearbeitet wurde.

An CoAP-Server gesendete Antworten

Auf dem Server würde die Ausgabe dieses Beispiels in etwa so aussehen:

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

Der Wert payload von 68656c6c6f7468657265 ist der String hellothere, der in eine Bytesequenz aus ASCII-Code konvertiert wird.