Verbindung zu einer sicheren CoAP-Ressource mit der OT-Befehlszeile testen

Quelle auf GitHub ansehen

OpenThread bietet sowohl Secure CoAP-Server als auch Clientfunktionen, sodass Geräte eine Verbindung zu Ressourcen auf dem Secure CoAP-Server herstellen und jede Ressource auf eine Änderung ihres aktuellen Status beobachten können.

Secure CoAP verwendet Datagram Transport Layer Security (DTLS), um sichere End-to-End-Verbindungen herzustellen.

Der in der Befehlszeile bereitgestellte Secure CoAP-Agent kann entweder als Secure CoAP-Client oder als Secure CoAP-Server fungieren.

Dieser Leitfaden enthält grundlegende Aufgaben, für die einige der gebräuchlicheren Secure CoAP-Befehle (coaps) verwendet werden.

Sichere CoAP-Befehle

Geben Sie help ein, um eine Liste der Secure CoAP-Befehle aufzurufen:

coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done

Kommandozeile

Beschreibungen und Syntax aller Befehle finden Sie in der Befehlszeilenreferenz zu Befehlen. Die Secure CoAP-Befehle beginnen alphabetisch mit coapsconnect.

Beispiel für die Verwendung von sicheren CoAP-Servern und Clientbefehlen

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

DTLS-Cipher Suites konfigurieren

Die coaps-Befehlszeile bietet die Befehle psk und x509, die mit dem PSK-Schlüssel und dem X.509-Zertifikat verwendet werden können. Informationen zur Befehlssyntax sowie Beispiele finden Sie unter coaps psk und coaps x509.

Sicheren CoAP-Server einrichten

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

  1. Starten Sie den Secure CoAP-Agent.

    coaps start
    Done
    
  2. Erstellen Sie eine Testressource.

    coaps resource test-resource
    Done
    

Secure CoAP-Client einrichten

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

  1. Starten Sie den Secure CoAP-Agent:

    coaps start
    Done
    
  2. Führen Sie den Befehl connect aus, um eine DTLS-Sitzung mit einem Peer zu initialisieren:

    coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
    Done
    coaps connected
    
  3. Führen Sie den Befehl get aus, um Informationen zur Ressource abzurufen:

    coaps get test-resource
    Done
    coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400
    

    Der letzte Teil der Serverantwort ist der Begriff with payload:, gefolgt von allen Nutzlastbyte im Hexadezimalformat. Im Beispiel gibt with payload: 68656c6c6f576f726c6400 an, dass die aktuelle Nutzlast für die Ressource der Hexadezimalwert 68656c6c6f576f726c6400 ist, der in den String helloWorld konvertiert wird. Weitere Informationen zur Verwendung der Option payload finden Sie unter Coaps Post.

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

    coaps put test-resource con hellothere
    Done
    coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744
    

    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 sicheren 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 Coaps Put.

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

An den Secure CoAP-Server gesendete Antworten

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

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

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