/** \addtogroup esb
@{ */
/**
\defgroup slipintro Introduction to Over The Air Reprogramming under Windows
\author Joakim Eriksson, Niclas Finne
@{

\section slipintro-intro Introduction

This is a brief introduction how to program ESB sensor nodes over
radio under Windows. It is assumed that you already have the
environment setup for programming ESB sensor nodes using JTAG cable.

\section slipintro-configuring Configuring SLIP under Windows XP

This section describes how to setup a SLIP connection under Windows. A
SLIP connection forwards TCP/IP traffic to/from the sensor nodes and
lets you communicate with them using standard network tools such as
\c ping.


-# Click start button and choose 'My Computer'. Right-click 'My
Network Places' and choose 'Properties'.
<img src="img/esb/slip01.jpg" align="center">
-# Click 'Create a new connection'.
<img src="img/esb/slip02.jpg" align="center">
-# Select 'Set up an advanced connection'.
<img src="img/esb/slip03.jpg" align="center">
-# Select 'Connect directly to another computer'.
<img src="img/esb/slip04.jpg" align="center">
-# Select 'Guest'.
<img src="img/esb/slip05.jpg" align="center">
-# Select a name for the slip connection (for example 'ESB').
<img src="img/esb/slip06.jpg" align="center">
-# Select the serial port to use when communicating with the sensor
node.
<img src="img/esb/slip07.jpg" align="center">
-# Add the connection by clicking 'Finish'.
<img src="img/esb/slip08.jpg" align="center">
-# A connection window will open. Choose 'Properties'.
<img src="img/esb/slip09.jpg" align="center">
<img src="img/esb/slip10.jpg" align="center">
-# Click on 'Configure...' and deselect all selected
buttons. Choose the speed 57600 bps.
<img src="img/esb/slip11.jpg" align="center">
-# Close the modem configuration window, and go to the 'Options'
tab in the ESB properties. Deselect all except 'Display
progress...'.
<img src="img/esb/slip12.jpg" align="center">
-# Go to the 'Networking' tab. Change to 'SLIP: Unix Connection'
and deselect all except the first two items in the connection item
list.
<img src="img/esb/slip13.jpg" align="center">
-# Select 'Internet Protocol (TCP/IP)' and click
'Properties'. Enter the IP address '172.16.0.1'.
<img src="img/esb/slip14b.jpg" align="center">
-# Click 'Advanced' and deselect all checkboxes in the 'Advanced
TCP/IP Settings'. Go to the 'WINS' tab and deselect 'Enable LMHOSTS
lookup' if it is selected. Also select 'Disable NetBIOS over
TCP/IP'.
<img src="img/esb/slip15.jpg" align="center">
<img src="img/esb/slip16.jpg" align="center">


\section slipintro-setup Setup ESB for over the air programming

Make sure you have the latest version of Contiki (older versions of
Contiki might not work with SLIP under Windows).

-# Each node needs an IP address for OTA to work. The node id
is used to construct an IP address for the node. If you specify 2 as
node id, the node will have the IP address 172.16.1.2. Each node
should have its own unique node id. To set the node id move to the
directory '<tt>contiki-2.x/examples/esb</tt>' and run
\code
make burn-nodeid.u nodeid=X
\endcode
Use the number 1, 2, 3, etc, as the node id (\c X) for the nodes. This
will give the nodes the IP addresses 172.16.1.1, 172.16.1.2, etc. The
node id only needs to be set once for each node and it will remain
even when new applications are uploaded onto the node.
-# You need to compile a core and upload it onto the nodes. All nodes
must run the same core. Move to the directory
'<tt>contiki-2.x/examples/esb</tt>' and run
\code
make WITH_CODEPROP=1 core
make WITH_CODEPROP=1 core.u
\endcode
to upload the core to your nodes.
-# Attach the ESB node to the serial port and make sure it is
turned on. Select your ESB SLIP connection in your 'Network
Connections' and choose 'Connect' (or double click on it). If
everything works Windows should say that you have a new connection.
-# Set the IP address for the node by pinging it (it will claim the
IP address of the first ping it hears). Note that the slip interface
has IP address 172.16.0.1 but the node will have the IP address
172.16.1.1.
\code
ping 172.16.1.1
\endcode

If everything works the node should click and reply to the pings.

You also need a program to send the application to connected
nodes. Compile it by running

\code
make send
\endcode

\section slipintro-send Send programs over the air

Contiki applications to be installed via radio are compiled somewhat
different compared to normal applications.

Make sure you have a node with IP address 172.16.1.1 connected to your
serial port and have SLIP activated. Then compile and send a
testprogram by running

\code
make beeper.ce
./send 172.16.1.1 beeper.ce
\endcode

*/
/** @} */
/** @} */
