diff --git a/examples/rpl-border-router/README.md b/examples/rpl-border-router/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2ad4dbff580e17e6bcf1abc93fcfbf28db64f079 --- /dev/null +++ b/examples/rpl-border-router/README.md @@ -0,0 +1,27 @@ +This is the Contiki-NG border router. It supports two main modes of operation: +embedded and native. In both cases, the border router runs a simple Web server +that exposes a list of currently connected nodes via HTTP. + +See https://github.com/contiki-ng/contiki-ng/wiki/Tutorial:-RPL-border-router + +# Embedded border router + +The embedded border router runs on a node. It is connected to the host via SLIP. +The host simply runs a tun gateway (`tunslip6`). To use, program a node, and +then start `tunslip6` on the host via the make command `connect-router`. +See embedded/README.md for more. + +# Native border router + +The native border router runs directly at the host. The node simply runs a +SLIP-radio interface (`examples/slip-radio`). The host, on the other hand, runs +a full 6LoWPAN stack. +See native/README.md for more. + +# RPL node + +As RPL node, you may use any Contiki-NG example with RPL enabled, but which +does not start its own DAG (as this is the responsibility of the border router). +For instance `examples/hello-world` or `examples-coap` are great starting +points. This is not intended to run with `examples/rpl-udp` however, as this +examples builds its own stand-alone, border-router-free RPL network. diff --git a/examples/rpl-border-router/embedded/README.md b/examples/rpl-border-router/embedded/README.md new file mode 100644 index 0000000000000000000000000000000000000000..66ae6c4c8f5851ed76064e1c09e192452116ec27 --- /dev/null +++ b/examples/rpl-border-router/embedded/README.md @@ -0,0 +1,5 @@ +This is a border router that runs embedded in a node. The node runs a full +6LoWPAN stack, and acts as a DAG root. It interfaces to the outside world +via a serial line. On the host Operating System, `tunslip6` is used to create +a tun interface and bridge it to the RPL border router. This is achieved with +makefile targets `connect-router` and `connect-router-cooja`. diff --git a/examples/rpl-border-router/native/README.md b/examples/rpl-border-router/native/README.md index 03174972f67b182791aa43497f74baa12371caf1..6d8ac38e1114c5b4b1e6144d0a932e568d5c22f4 100644 --- a/examples/rpl-border-router/native/README.md +++ b/examples/rpl-border-router/native/README.md @@ -1,5 +1,5 @@ This code connects a 802.15.4 radio over TTY with the full uIPv6 stack of -Contiki including 6LoWPAN and 802.15.4 framing / parsing. The native border +Contiki-NG including 6LoWPAN and 802.15.4 framing / parsing. The native border router also acts as a RPL Root and handles the routing and maintains the RPL network. Finally the native border router connects the full 6LoWPAN/RPL network to the host (linux/os-x) network stack making it possible for @@ -11,9 +11,9 @@ mote that is either directly USB/TTY connected, or is remote via a TCP connect. What's on the SLIP interface is really not Serial Line IP, but SLIP framed 15.4 packets. -The border router supports a number of commands on it's stdin. +The native border router supports a number of commands on its stdin. Each are prefixed by !: -* !G - global RPL repair root. +* !G - global RPL repair root * !M - set MAC address (if coming from RADIO, i.e. SLIP link) * !C - show channel (if coming from RADIO, i.e. SLIP link) * !D - sensor data received @@ -25,4 +25,3 @@ Queries are prefixed by ?: * ?C is used for requesting the currently used channel for the slip-radio. The response is !C with a channel number (from the slip-radio). * !C is used for setting the channel of the slip-radio (useful if the motes are using another channel than the one used in the slip-radio). - diff --git a/examples/rpl-udp/README.md b/examples/rpl-udp/README.md index 7d542d8fe6ccad01e96520227645fd7d4df2e569..79ae868409ce8ab28dba11ba31140673e4f39525 100644 --- a/examples/rpl-udp/README.md +++ b/examples/rpl-udp/README.md @@ -1,6 +1,10 @@ -A simple RPL network with UDP communication. The DAG root also acts as -UDP server. All other nodes are client. The clients send a UDP request -that simply includes a counter as payload. When receiving a request, The -server sends a reply with the same counter back to the originator. +A simple RPL network with UDP communication. This is a self-contained example: +it includes a DAG root (`udp-server.c`) and DAG nodes (`udp-clients.c`). +This example runs without a border router -- this is a stand-alone RPL network. + +The DAG root also acts as UDP server. The DAG nodes are UDP client. The clients +send a UDP request periodically, that simply includes a counter as payload. +When receiving a request, The server sends a response with the same counter +back to the originator. The simulation files show example networks, for sky motes and for cooja motes. diff --git a/examples/slip-radio/README.md b/examples/slip-radio/README.md index 5e3e0a5f6b7f5fe8559e68c8f6ab305005e85c22..3839dbab9aeccd18ad88e8d75e258b02d07cc460 100644 --- a/examples/slip-radio/README.md +++ b/examples/slip-radio/README.md @@ -1,6 +1,5 @@ -This project is intended to run on a mode that is connected to a native host system -by SLIP. The SLIP is really SERIAL LINE 15.4, as this just turns the mote into a smart -radio, running the RPL and 6lowpan stack on the Host. This goes with native-border-router. - - - +This example is intended to run on a mode that is connected to a native host +system by SLIP. Full IEEE 802.15.4 packets are transmitted over slip, turning +the mote into a simple radio, with the RPL and 6LoWPAN stack running on the +host. This is typically used with the native border router (example +`rpl-border-router` on target native).