Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:raven_usb_rpl_border_router

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
contiki:raven_usb_rpl_border_router [2016/03/16 09:42] admincontiki:raven_usb_rpl_border_router [2018/12/13 03:36] (aktuell) – [> Contiki 3.1] admin
Zeile 1: Zeile 1:
 ====== Der Jackdaw Raven USB Stick als RPL Border Router ====== ====== Der Jackdaw Raven USB Stick als RPL Border Router ======
  
 +===== > Contiki 3.1 =====
 +
 +Der RPL-Code für den Ravenusb-Stick benutzt immer noch den alten ''sicslowmac_driver''. Wärend die cc2538dk Boards ContikiMAC benutzen.
 +
 +  * https://github.com/contiki-os/contiki/wiki/Radio-duty-cycling#The_ContikiMAC_Radio_Duty_Cycling_Mechanism
 +  * https://github.com/contiki-os/contiki/wiki/Contikimac
 +  * https://github.com/contiki-os/contiki/wiki/Change-mac-or-radio-duty-cycling-protocols 
 +
 +Der alte Treiber kann in ''contiki/platform/avr-ravenusb/contiki-conf.h'' mit ''#if 0'' abgeschaltet werden. \\
 +In Zeile 300 steckt aber noch ein Schreibfehler: ''framer802154'' statt ''framer_802154''
 +<code c>
 +263  /* Network setup */
 +264 #if 0              /* No radio cycling */
 +265 #define NETSTACK_CONF_MAC         nullmac_driver
 +266 #define NETSTACK_CONF_RDC         sicslowmac_driver
 +267 #define NETSTACK_CONF_FRAMER      framer_802154
 +
 +299 #if NETSTACK_CONF_WITH_IPV6
 +300 #define NETSTACK_CONF_FRAMER      framer_802154
 +</code>
 +
 +In ''contiki/platform/avr-ravenusb/Makefile.avr-ravenusb'' muss noch Zeile 70 angepasst werden:
 +
 +<code >
 +MODULES+=core/net/mac core/net/mac/contikimac \
 +</code>
 +
 +Aktiviere IPv6 und entferne ''fakeuip.c'' aus dem Makefile:
 +
 +<code make>
 +all: ravenusbstick
 +
 +#Define CONTIKI_NO_NET=1 for a passthrough ipv6/6lowpan interface using fakeuip.c
 +#Define CONTIKI_WITH_IPV6 = 1 to include the uip6 stack (for rpl, internal webserver)
 +#Do make clean when switching to remove the duplicate library modules
 +#CONTIKI_NO_NET=1
 +CONTIKI_WITH_IPV6=1
 +
 +CONTIKI = ../..
 +
 +MODULES+=core/net/mac/sicslowmac core/net core/net/mac core/net/llsec
 +
 +#PROJECT_SOURCEFILES += fakeuip.c
 +
 +include $(CONTIKI)/Makefile.include
 +</code>
 +===== Contiki 3.1 =====
 +
 +Die Fehlermeldungen aus Contiki 3.0 sollten behoben sein. Der Fehler wurde im Mai 2016 im aktuellen
 +Git-Repository gefixed.
 +
 +
 +Standardmäßig ist die Anzahl der Neighbors sowie der Routen jeweils auf 2 begrenzt, diese können jedoch problemlos auf 8-10 erhöht werden. Dazu müssen lediglich innerhalb der Datei ''platform/avr-ravenusb/contiki-conf.h'' die folgenden Änderungen vorgenommen werden:
 +
 +<code c>
 +/* See uip-ds6.h */
 +// #define NBR_TABLE_CONF_MAX_NEIGHBORS     2
 +#define NBR_TABLE_CONF_MAX_NEIGHBORS     4
 +#define UIP_CONF_DS6_DEFRT_NBU   2
 +#define UIP_CONF_DS6_PREFIX_NBU  3
 +//#define UIP_CONF_MAX_ROUTES      2
 +#define UIP_CONF_MAX_ROUTES      8
 +#define UIP_CONF_DS6_ADDR_NBU    3
 +#define UIP_CONF_DS6_MADDR_NBU   0
 +#define UIP_CONF_DS6_AADDR_NBU   0
 +
 +</code>
 ===== Contiki 3.0 ===== ===== Contiki 3.0 =====
  
Zeile 17: Zeile 84:
   MODULES+=core/net/mac/sicslowmac core/net core/net/mac core/net/llsec   MODULES+=core/net/mac/sicslowmac core/net core/net/mac core/net/llsec
  
 +Der IPv6-Prefix ist im Quelltext fest kodiert. Um ihn zu ändern muss der Code in ''platform/avr-ravenusb/contiki-raven-main.c'' angepasst werden:
 +
 +<code c>
 +uip_ip6addr_t ipaddr;
 +uip_ip6addr(&ipaddr, 0x2001, 0xdb8, 0, 0, 0, 0, 0, 0x200);  //!! Aenderung hier!!
 +uip_ds6_addr_add(&ipaddr, 0, ADDR_MANUAL);
 +rpl_set_prefix(dag, &ipaddr, 64);
 +</code>
  
  
contiki/raven_usb_rpl_border_router.1458121373.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)