Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:rest-workshop

Workshop: RESTful Services mit Contiki

1. Installation der Entwicklungsumgebung:

  • Die Installation von Instant Contiki benötigt VMWare Player, oder Virtualbox
  • Anmeldung an Instant Contiki mit dem Passwort: user
  • Die folgende Beschreibung bezieht sich immer auf das Quellcode-Verzeichnis: /home/user/contiki-2.7/

2. Anpassung der Contiki-Einstellungen

Im Workshop wollen wir Contiki-Anwendungen direkt auf dem Entwicklungsrechner ausführen. Dazu müssen einige Veränderungen an den Quellcode-Dateien vorgenommen werden, um z.B. eine optimale Netzunterstützung zu gewährleisten.

2.1 Download der Folien und Software

  1. Die Folien zum Vortrag können über diesen Link heruntergeladen werden.
  2. Die für diesen Workshop geänderten Contiki Dateien finden Sie hier: contiki-2.7.zip
  3. Die Dateien der Webanwendung finden sie hier: rest_demo.zip

2.2 Anpassung der Linux-Netzwerkeinstellungen

Die Netzwerkverbindung zum Host-PC erfolgt über NAT. Die IPv6 Adresse des Ethernet-Interface des Linux Guests wird mit folgendem Kommando konfiguriert:

sudo ifconfig eth0 add fdfa::9/64 

2.3 Anpassung der Contiki-Netzwerkeinstellungen

In der Datei /contiki-2.7/platform/minimal-net/contiki-conf.h:

  1. Aktivieren des ULA-Präfixes in Zeile 79:
    #define HARD_CODED_ADDRESS      "fdfd::" //assign prefix; address becomes fdfd::206:98ff:fe00:232 }
  2. Dektivieren des RPL-Routings in Zeile 93:
    #define UIP_CONF_IPV6_RPL           0
  3. Deaktivieren der Router-Funktion in Zeile 94:
    #define RPL_BORDER_ROUTER           0
  4. Vergrößern des Paketpuffers durch Einfügen der Zeile 95:
    #define UIP_CONF_BUFFER_SIZE	 1300

2.4 Anpassung des Makefiles

In der Datei /contiki-2.7/examples/rest-example/Makefile:

  1. Übersetzungsziel des Makefiles ändern:
    all: rest-server-example
  2. Kein COAP verwenden:
    WITH_COAP = 0
  3. Compileflags für IPv6 hinzufügen:
    CFLAGS += -DUIP_CONF_IPV6=1

3. Übersetzen des RESTful Webservices

Im Anschluss kann der RESTful Webserver von Contiki mit Hilfe des Makefiles übersetzt werden:

make TARGET=minimal-net

Sollte es notwenig sein nachträglich weitere Änderungen am Makefile durchzuführen, kann das Projekt vor der erneuten Übersetzung zurückgesetzt werden:

make TARGET=minimal-net clean

4. Ausführung des REST-Servers und Anpassung des Netzwerks

Nach der erfolgreichen Übersetzung kann die Anwendung gestartet werden:

sudo ./rest-server-example.minimal-net

Contiki richtet dabei ein eigenes Netzwerkinterface tap0 ein. Für den Netzzugriff auf die IPv6-ULA muss über ein weiteres Terminalfenster dieses Interface noch entsprechend konfiguriert werden ( :!: Achtung: bei jedem Neustart der Contiki-Anwendung erforderlich):

sudo ifconfig tap0 add fdfd::ff:fe00:10/64

Anschließend kann über den Webbrowser des Entwicklungssystems auf den Contiki-Service zugegriffen werden. Dazu muss in der Adresszeile http://[fdfd::206:98ff:fe00:232]:8080/helloworld eingegeben werden.

contiki/rest-workshop.txt · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)