Übersetzungen dieser Seite:

Das Merkur-Board als RPL-Router an Deinem PC

In diesem Tutorial zeigen wir, wie Du ein Merkur-Board zusammen mit dem Merkur-Programmer dazu verwenden kannst, Deinen PC als Router zum 6lowPAN-Funknetz zu verwenden. Dafür wird das Merkur-Board als RPL-Router verwendet. Dein Linux-Rechner wird damit zum 6lowPAN-Router.

Vorbereitung

Verbinde Dein Merkur-Board mit dem Merkur-Programmer und stecke den Merkur-Programmer in den USB-Port Deines Rechners.

Ferner mußt Du die Entwicklungsumgebung für Contiki-OS auf Deinem Rechner installiert haben:

Das Merkur-Board als RPL-Router

Als RPL-Router verbindet das Merkur-Board den 6lowPAN-Transceiver mit der UART-Schnittstelle, die über den Merkur-Programmer mit der USB-Schnittstelle verbunden ist.

Zunächst flashen wir ein Merkurboard als RPL-Boarder-Router.

Firmware für das Merkurboard kompilieren

# Move to RPL-folder
cd ~/osd-contiki/examples/osd/rpl-border-router/

Die verwendete Merkur-Board Version festlegen (Für ältere Merkurboards mit der Bezeichnung 128 im Namen ist die Zahl 256 durch 128 zu ersetzen):

export TARGET=osd-merkur-256

Die Sourcen übersetzen und ein FLASH(.hex) sowie EEPROM(.eep) Image erzeugen:

make

Firmware auf das Merkur-Board übertragen

Die Images mit Hilfe von AVRDUDE und den im Auslieferungszustand installierten OSD Bootloader über einen 3.3V USB-Serial-Wandler auf das Merkurboard spielen:

make flash

Den PC als 6lowPAN-Router einrichten

Routersoftware kompilieren

cd ~/osd-contiki/tools/
make tunslip6

Inbetriebnahme

Achtung bei neuer Merkurboardversion 256k

Um den Mikrocontroller am Merkurboard resetten zu können, ist der RESET-Pin über einen 100nF Kondensator mit DTR am 3.3V USB-Serial-Wandler verbunden.
Beim Öffnen des Ports am Computer wird dadurch ein Reset ausgelöst.

Es kann vorkommen, dass beim Starten von tunslip6 ein Reset ausgelöst wird, welcher eine korrekte Funktion verhindert.
Dabei erscheint die Zeile mit „Got configuration message of type P“ nicht.

Um dieses Problem zu umgehen, muss während der Verwendung von tunslip6 die Verbindung zum DTR Pin getrennt werden.
Bei evtl. notwendiger Umprogrammierung wieder hergestellt werden.

Router-Setup

sudo ./tunslip6 -s /dev/ttyUSB0 -B 38400 2001:DB8:c001:f00d::1/64
********SLIP started on ``/dev/ttyUSB0''
opened tun device ``/dev/tun0''
ifconfig tun0 inet `hostname` up
ifconfig tun0 add 2001:DB8:c001:f00d::1/64
ifconfig tun0 add fe80::cb8:c001:f00d:1/64
ifconfig tun0

tun0      Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet Adresse:127.0.1.1  P-z-P:127.0.1.1  Maske:255.255.255.255
          inet6-Adresse: fe80::cb8:c001:f00d:1/64 Gültigkeitsbereich:Verbindung
          inet6-Adresse: 2001:db8:c001:f00d::1/64 Gültigkeitsbereich:Global
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:500
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

*** Address:2001:DB8:c001:f00d::1 => 2001:0db8:c001:f00d
Got configuration message of type P
Setting prefix 2001:db8:c001:f00d::
Server IPv6 addresses:
 2001:db8:c001:f00d:221:2eff:ff00:3375
 fe80::221:2eff:ff00:3375
120s

Mein Merkurboard mit der rpl-boarder-router Firmware besitzt die IPv6 Adresse 2001:db8:c001:f00d:221:2eff:ff00:3375

Achtung: die IPv6 Adresse besteht aus dem Präfix 2001:DB8:c001:f00d: und der MAC Adresse auf dem Merkurboard 0221:2eff:ff00:3375

Nun besitzt unser Linux Computer eine neue Netzwerkkarte tun0.

Jetzt können wir über den Browser die Routingtabelle unsere neue Netzwerkkarte tun0 ansehen. Die Adresse ist die Server IPv6 addresses siehe oben.

http://[2001:db8:c001:f00d:221:2eff:ff00:3375]

de/tutorials/contiki/merkur_board_rpl_usb_router.txt · Zuletzt geändert: 2016/11/16 14:57 von harald42