Übersetzungen dieser Seite:

Erstelle Deine eigene CoAP-Ressource

In diesem Tutorial erstellen wir eine eigene CoAP-Ressource, d.h. eine URL über die wir mit dem Merkur-Board kommunizieren können. Wir werden dafür das Beispiel aus https://github.com/osdomotics/osd-contiki/tree/master/examples/osd/er-rest-example-merkurboard verwenden.

Aufgabe

Wir wollen die Ressource

  actuators/test

zum Projekt er-rest-examples in ~/osd-contiki/examples/osd/er-example-merkurboard/ hinzufügen, die wir mit einem POST-Request aufrufen können

Lösung

Anlegen einer neuen Resource

Wir erweitern die Datei er-example-server.c

Folgender Code legt eine Resource actuators/test an, die POST-Requests unterstützt.

RESOURCE(test, METHOD_POST, "actuators/test", "title=\"Pin\";rt=\"Control\"");
void
test_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset)
{
  // Hier kommt dann unser Code rein der ausgefuehrt werden soll wenn die an die Resource gepostet wird
}

// ...

rest_activate_resource(&resource_test);

Compilieren und Flashen

Nach dem Kompilieren mit run.sh und dem flashen mit flash.sh sollte die Resource zur Verfügung stehen.

Hinweis: nach dem Flashen kann es etwas dauern bis der Knoten wieder erreichbar ist (<1min)

Ressource überprüfen

Die Ressource sollte nun über CoAP erreichbar sein. Wir können das entweder im Broker mit dem Copper-AddOn oder über die Konsole mit einem CoAP Command Line Interface überprüfen (ACHTUNG: IP-Adresse anpassen):

coap-client -m get coap://[2001:0db8:2eff:ff00:332e]:5683/.well-known/core

de/tutorials/contiki/create_ressource.txt · Zuletzt geändert: 2016/04/21 06:55 von pezi