Öffentliche Wikis
IPv6 Wiki
Network Engineering
Netzwerksicherheit
Netzwerkprogrammierung
Contiki OS
Linux
FreeBSD
Windows
OSX
Internet of Things
Private Wikis
Öffentliche Wikis
IPv6 Wiki
Network Engineering
Netzwerksicherheit
Netzwerkprogrammierung
Contiki OS
Linux
FreeBSD
Windows
OSX
Internet of Things
Private Wikis
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.