Skip to content
maniacbug edited this page Aug 15, 2011 · 4 revisions

Goal

From a PC on our network, we want to view a web page served up by any node on our wireless IP network. This will allow us to look at sensor values or other data stored there.

Building

We'll put the rpl-border-router (with no webserver) on the node connected to the PC, and talk SLIP over USB between it and the PC. The other node will run webserver-ipv6 with 'webserver-nano'.

$ cd examples/ipv6/rpl-border-router
$ make TARGET=avr-zigduino savetarget
$ make upload WITH_WEBSERVER=0 WITH_SLIP=1 AVRDUDE_PORT=/dev/ttyUSB0 -j10
$ cd examples/webserver-ipv6
$ make TARGET=avr-zigduino savetarget
$ make WITH_WEBSERVER=webserver-nano -j10
$ make upload login WITH_WEBSERVER=webserver-nano AVRDUDE_PORT=/dev/ttyUSB1

Running

This has to be done in another window, because "make login" above took over that window. Here we will bring up the tunnel, and try everything out, one thing at a time. Ping the router, ping the webserver, do the 'get'.

$ sudo ../../../tools/tunslip6 aaaa::1/64 -s /dev/ttyUSB0 -B 38400 -v6
$ sudo route -A inet6 add fdfd::/64 dev tun0
$ ping6 fdfd::3
$ ping6 fdfd::1
$ curl -g "http://[aaaa::11:22ff:fe33:4401]/"

Here's what success looks like!

$ curl -g "http://[aaaa::11:22ff:fe33:4401]/"

<html>
<head>
<title>Contiki-nano</title>
</head>
<body>
&lt;pre&gt;
<a href="/">Front page</a>|
<a href="status.shtml">Status</a>|
<a href="tcp.shtml">Network connections</a>|
<a href="processes.shtml">System processes</a>|
<a href="files.shtml">File statistics</a>|
<a href="/ttt/ttt.shtml">TicTacToe</a>
&lt;/pre&gt;
Welcome to the <a href="http://www.sics.se/contiki/">Contiki</a> 
nano web server!<p align="right">
<br><br>
<i>This page has been sent 2 times</i>
</body>
</html>

Plus here's the Wireshark summary of this conversation:

No.     Time        Source                Destination           Protocol Info
      1 0.000000    aaaa::1               aaaa::11:22ff:fe33:4401 TCP      36067 > http [SYN] Seq=0 Win=5760 Len=0 MSS=1440 TSV=87387016 TSER=0 WS=5
      2 0.242296    aaaa::11:22ff:fe33:4401 aaaa::1               TCP      http > 36067 [SYN, ACK] Seq=0 Ack=1 Win=1220 Len=0 MSS=1220
      3 0.242351    aaaa::1               aaaa::11:22ff:fe33:4401 TCP      36067 > http [ACK] Seq=1 Ack=1 Win=5760 Len=0
      4 0.242589    aaaa::1               aaaa::11:22ff:fe33:4401 HTTP     GET / HTTP/1.1 
      5 0.630341    aaaa::11:22ff:fe33:4401 aaaa::1               TCP      [TCP segment of a reassembled PDU]
      6 0.630388    aaaa::1               aaaa::11:22ff:fe33:4401 TCP      36067 > http [ACK] Seq=165 Ack=86 Win=5760 Len=0
      7 0.898326    aaaa::11:22ff:fe33:4401 aaaa::1               TCP      [TCP segment of a reassembled PDU]
      8 0.898360    aaaa::1               aaaa::11:22ff:fe33:4401 TCP      36067 > http [ACK] Seq=165 Ack=113 Win=5760 Len=0
      9 1.258323    aaaa::11:22ff:fe33:4401 aaaa::1               TCP      [TCP segment of a reassembled PDU]
     10 1.258369    aaaa::1               aaaa::11:22ff:fe33:4401 TCP      36067 > http [ACK] Seq=165 Ack=408 Win=6432 Len=0
     11 1.550390    aaaa::11:22ff:fe33:4401 aaaa::1               TCP      [TCP segment of a reassembled PDU]
     12 1.550426    aaaa::1               aaaa::11:22ff:fe33:4401 TCP      36067 > http [ACK] Seq=165 Ack=490 Win=6432 Len=0
     13 1.842334    aaaa::11:22ff:fe33:4401 aaaa::1               TCP      [TCP segment of a reassembled PDU]
     14 1.842364    aaaa::1               aaaa::11:22ff:fe33:4401 TCP      36067 > http [ACK] Seq=165 Ack=567 Win=6432 Len=0
     15 2.098333    aaaa::11:22ff:fe33:4401 aaaa::1               TCP      http > 36067 [FIN, ACK] Seq=567 Ack=165 Win=1220 Len=0
     16 2.098508    aaaa::1               aaaa::11:22ff:fe33:4401 TCP      36067 > http [FIN, ACK] Seq=165 Ack=568 Win=6432 Len=0
     17 2.334295    aaaa::11:22ff:fe33:4401 aaaa::1               TCP      http > 36067 [ACK] Seq=568 Ack=166 Win=1220 Len=0
Clone this wiki locally