user
/home/user/contiki-2.7/
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.
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
In der Datei /contiki-2.7/platform/minimal-net/contiki-conf.h
:
#define HARD_CODED_ADDRESS "fdfd::" //assign prefix; address becomes fdfd::206:98ff:fe00:232 }
#define UIP_CONF_IPV6_RPL 0
#define RPL_BORDER_ROUTER 0
#define UIP_CONF_BUFFER_SIZE 1300
In der Datei /contiki-2.7/examples/rest-example/Makefile
:
all: rest-server-example
WITH_COAP = 0
CFLAGS += -DUIP_CONF_IPV6=1
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
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.