Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:a-n-solutions-module:atany24001-usb-gateway

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

contiki:a-n-solutions-module:atany24001-usb-gateway [2012/10/12 07:04] – [Datei Makefile] sven_zehlcontiki:a-n-solutions-module:atany24001-usb-gateway [2017/01/24 18:49] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== @ANY2400 & @ANY900 USB Stick mit RPL-Border-Router und SLIP ====== ====== @ANY2400 & @ANY900 USB Stick mit RPL-Border-Router und SLIP ======
  
-Der @ANY USB Stick ist eigentlich nicht für den Einsatz als IPv6 Router konzipiert, er besitzt nicht wie der Raven RZUSB-Stick ein vollständiges USB Interface mit RNDIS Support, sondern nur einen CP2103 Chip, welcher als virtuelle serielle Schnittstelle genutzt werden kann. Um jedoch einzelne Contiki Konten über IPv6 erreichen zu können und diese bei Bedarf über IPv6 mit einer globalen Adresse erreichbar zu machen, muss es ermöglicht werden diesen USB Stick als Router bzw. Gateway einzusetzen+Der @ANY USB Stick ist eigentlich nicht für den Einsatz als IPv6 Router konzipiert, er besitzt nicht wie der Raven RZUSB-Stick ein vollständiges USB Interface mit RNDIS Support, sondern nur einen CP2103 Chip, welcher als virtuelle serielle Schnittstelle genutzt werden kann. Um jedoch einzelne Contiki Knoten über IPv6 erreichen zu können und diese bei Bedarf über IPv6 mit einer globalen Adresse erreichbar zu machen,  kann dieser USB Stick als Router bzw. Gateway eingesetzt werden
  
-{{:contiki:a-n-solutions-module:atanyusbstick.jpg?1000|}}+{{:contiki:a-n-solutions-module:atanyusbstick.jpg?600|}}
  
 Der @ANY2400 USB Stick besitzt das AT-ANY-2400-1 Modul, der @ANY900 USB Stick das AT-ANY-900-1 Modul (siehe [[contiki:a-n-solutions-module:atany24001-module|Contiki Portierung auf die AT-ANY-1 Module]]), sie enthalten also einen ATmega1281V sowie den AT86RF231 Funkchip + integrierte Antenne (2,4Ghz) bzw. AT86RF212 Funkchip + integrierte Antenne (900MHz). Es ist also möglich als Kompilierungsziel ''TARGET=avr-zigbit'' zu verwenden. Auch hier ist vor der Kompilierung zu beachten, dass innerhalb der Fuses ''EESAVE'' deaktiviert werden muss (siehe [[contiki:a-n-solutions-module:atany24001-module|Contiki Portierung auf die AT-ANY-1 Module)]]). Der @ANY2400 USB Stick besitzt das AT-ANY-2400-1 Modul, der @ANY900 USB Stick das AT-ANY-900-1 Modul (siehe [[contiki:a-n-solutions-module:atany24001-module|Contiki Portierung auf die AT-ANY-1 Module]]), sie enthalten also einen ATmega1281V sowie den AT86RF231 Funkchip + integrierte Antenne (2,4Ghz) bzw. AT86RF212 Funkchip + integrierte Antenne (900MHz). Es ist also möglich als Kompilierungsziel ''TARGET=avr-zigbit'' zu verwenden. Auch hier ist vor der Kompilierung zu beachten, dass innerhalb der Fuses ''EESAVE'' deaktiviert werden muss (siehe [[contiki:a-n-solutions-module:atany24001-module|Contiki Portierung auf die AT-ANY-1 Module)]]).
  
----- 
  
 Um eine Kommunikation zwischen uIP auf dem Mikrocontroller und dem PC über die serielle Schnittstelle zu ermöglichen bietet Contiki den Einsatz des SLIP Protokolls an. Leider wurde dies bisher kaum für das Zigbit Modul genutzt, weshalb kein vorkonfigurierter Quellcode innerhalb des Contiki Quellcodes vorhanden ist. Für andere Plattformen wie z.B, SKY oder auch den AVR-Zigduino sind bereits Implementierungen vorhanden. Auch für den AVR Raven gibt es Anfänge einer SLIP Implementierung, welche jedoch nicht ausgereift ist.\\ Um eine Kommunikation zwischen uIP auf dem Mikrocontroller und dem PC über die serielle Schnittstelle zu ermöglichen bietet Contiki den Einsatz des SLIP Protokolls an. Leider wurde dies bisher kaum für das Zigbit Modul genutzt, weshalb kein vorkonfigurierter Quellcode innerhalb des Contiki Quellcodes vorhanden ist. Für andere Plattformen wie z.B, SKY oder auch den AVR-Zigduino sind bereits Implementierungen vorhanden. Auch für den AVR Raven gibt es Anfänge einer SLIP Implementierung, welche jedoch nicht ausgereift ist.\\
 Da es sinnvoll ist nicht nur eine einzelne Kommunikation der Knoten mit dem Gateway zu ermöglichen, sondern durch den Einsatz von RPL vermaschtes Routing zu verwenden, soll nicht wie auf dem RZ Raven USB Stick ein einfaches Forwarding Interface genutzt werden, sondern ein RPL Router mit globaler IPv6 Anbindung über SLIP implementiert werden.\\ Da es sinnvoll ist nicht nur eine einzelne Kommunikation der Knoten mit dem Gateway zu ermöglichen, sondern durch den Einsatz von RPL vermaschtes Routing zu verwenden, soll nicht wie auf dem RZ Raven USB Stick ein einfaches Forwarding Interface genutzt werden, sondern ein RPL Router mit globaler IPv6 Anbindung über SLIP implementiert werden.\\
-Hierzu gibt es unter Contiki bereits eine Implementierung, welche sich in /examples/ipv6/rpl-border-router/ befindet. Leider ist auch hier keine Portierung für das Zigbit Modul vorhanden, es muss also auch hier eine Anpassung vorgenommen werden.\\+Hierzu gibt es unter Contiki bereits eine Implementierung, welche sich in ''/examples/ipv6/rpl-border-router/'' befindet. Leider ist auch hier keine Portierung für das Zigbit Modul vorhanden, es muss also auch hier eine Anpassung vorgenommen werden.
  
--> __Diese Anleitung bezieht sich auf Contiki 2.6 Stand 26.09.12, wird eine neuere Version verwendet, so können hier Unterschiede im Quellcode auftreten.__+:!: -> __Diese Anleitung bezieht sich auf Contiki 2.6 Stand 26.09.12, wird eine neuere Version verwendet, so können hier Unterschiede im Quellcode auftreten.__
  
 +:!: -> [[contiki:a-n-solutions-module:contiki3|Hier findet sich die Anleitung für Contiki 3.0]]
  
 ===== Änderungen innerhalb des Plattform Ordners für das Zigbit Modul (/platform/avr-zigbit/) ===== ===== Änderungen innerhalb des Plattform Ordners für das Zigbit Modul (/platform/avr-zigbit/) =====
Zeile 288: Zeile 288:
 ==== Tunslip6 unter Instant Contiki 2.6 ==== ==== Tunslip6 unter Instant Contiki 2.6 ====
  
-Um nun eine Verbindung zwischen dem USB Stick und dem PC herzustellen, wird tunslip6 aus dem Contiki ''tools''-Verzeichnis eingesetzt. Dieses muss mit ''make tunslip6'' zuerst kompiliert werden und kann anschließend mit dem´folgenden Befehl gestartet werden:+Um nun eine Verbindung zwischen dem USB Stick und dem PC herzustellen, wird tunslip6 aus dem Contiki ''tools''-Verzeichnis eingesetzt. Dieses muss mit ''make tunslip6'' zuerst kompiliert werden und kann anschließend mit dem folgenden Befehl gestartet werden:
 <code c> <code c>
 sudo ./tunslip6 aaaa::1/64 -s /dev/ttyUSB0 -B 57600 -v6 sudo ./tunslip6 aaaa::1/64 -s /dev/ttyUSB0 -B 57600 -v6
Zeile 296: Zeile 296:
 {{:contiki:a-n-solutions-module:slip_output.png?500|}}  {{:contiki:a-n-solutions-module:slip_output.png?500|}} 
  
-Die korrekte Funktion kann nun mithilfe von ping6 überprüft werden, dazu kann zuerst das SLIP Interface im Besipiel aus der oberen Abbildung ''aaaa::11:22ff:fe33:4444'' und danach ein dahinterliegender Knoten angepingt werden. Außerdem kann der integrierte Webserver über http://[aaaa::11:22ff:fe33:4444] erreicht werden, dort werden alle Neighbors sowie die Routen zu den Neighbors aufgelistet, siehe folgende Abbildung.+Die korrekte Funktion kann nun mithilfe von ping6 überprüft werden, dazu kann zuerst das SLIP Interface im Beispiel aus der oberen Abbildung ''aaaa::11:22ff:fe33:4444'' und danach ein dahinterliegender Knoten angepingt werden. Außerdem kann der integrierte Webserver über http://[aaaa::11:22ff:fe33:4444] erreicht werden, dort werden alle Neighbors sowie die Routen zu den Neighbors aufgelistet, siehe folgende Abbildung.
  
 {{:contiki:a-n-solutions-module:rpl-border-web.png?500|}} {{:contiki:a-n-solutions-module:rpl-border-web.png?500|}}
Zeile 306: Zeile 306:
  
 Wenn vermaschtes Routing verwendet werden soll, so muss zusätzlich für jeden Knoten das Flag ''CFLAGS+= -DUIP_CONF_ROUTER'' und ''UIP_CONF_ROUTER=1'' im Makefile aktiviert werden. Wenn vermaschtes Routing verwendet werden soll, so muss zusätzlich für jeden Knoten das Flag ''CFLAGS+= -DUIP_CONF_ROUTER'' und ''UIP_CONF_ROUTER=1'' im Makefile aktiviert werden.
 +
 +Außerdem ist die Anzahl von Neighbors und die Größe der Routingtabelle standardmäßig auf 4 eingestellt. Wenn dies nicht ausreichen sollte, so kann dies innerhalb der Datei contiki-conf.h im platform/avr-zigbit/ Ordner mit den folgenden Makros angepasst werden:
 +
 +<code c>
 +/*sz*/
 +/*configuration for neighbors and routes */
 +/* See uip-ds6.h */
 +#define UIP_CONF_DS6_NBR_NBU      10
 +#define UIP_CONF_DS6_DEFRT_NBU    2
 +#define UIP_CONF_DS6_PREFIX_NBU   3
 +#define UIP_CONF_DS6_ROUTE_NBU    10
 +#define UIP_CONF_DS6_ADDR_NBU     3
 +#define UIP_CONF_DS6_MADDR_NBU    0
 +#define UIP_CONF_DS6_AADDR_NBU    0
 +/*sz*/
 +</code>
 +(hier in diesem Beispiel ist die Größe der Routingtabelle sowie der Neighbors auf 10 erhöht worden, höhere Werte führten auf den Modulen in Tests zum Speicherüberlauf und somit zum Absturz. Innerhalb des Border Routers waren jedoch bis zu 20 möglich (eventuell auch mehr))
 +
 +-> Diese Änderung ist für den RPL-Border-Router sowie für die einzelnen Module anwendbar.
 +
 ===== Quick Install ===== ===== Quick Install =====
 Download complete RPL-BORDER-ROUTER for AVR Zigbit (ATmega1281 and AT86RF230 resp. AT86RF231 or AT86RF212) here: Download complete RPL-BORDER-ROUTER for AVR Zigbit (ATmega1281 and AT86RF230 resp. AT86RF231 or AT86RF212) here:
 {{:contiki:a-n-solutions-module:rpl-border-router-zigbit.zip|}} {{:contiki:a-n-solutions-module:rpl-border-router-zigbit.zip|}}
  
-==== Steps to compile RPL-BORDER-ROUTER-ZIGBIT ====+==== Steps to compile RPL-BORDER-ROUTER-ZIGBIT ====
  
   - Copy folder ''rpl-border-router-zigbit'' to ''/examples/ipv6/rpl-border-router-zigbit/''   - Copy folder ''rpl-border-router-zigbit'' to ''/examples/ipv6/rpl-border-router-zigbit/''
   - Copy folder ''avr-zigbit'' to ''/platform/avr-zigbit/'' and replace the existing folder ''avr-zigbit''   - Copy folder ''avr-zigbit'' to ''/platform/avr-zigbit/'' and replace the existing folder ''avr-zigbit''
 +  - Copy File "rf230bb.c" to "/cpu/avr/radio/rf230bb/".
   - Go to ''/examples/ipv6/rpl-border-router-zigbit/'' and type ''make TARGET=avr-zigbit''   - Go to ''/examples/ipv6/rpl-border-router-zigbit/'' and type ''make TARGET=avr-zigbit''
  
contiki/a-n-solutions-module/atany24001-usb-gateway.1350025459.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)