From 93f40f877bdfce3756387c84e64842ff619907e9 Mon Sep 17 00:00:00 2001 From: razvanm Date: Sat, 6 Dec 2008 04:03:23 +0000 Subject: [PATCH] The latest Deluge T2 manual is on the wiki: http://docs.tinyos.net/index.php/Deluge_T2 --- doc/html/deluge-t2-manual.html | 312 --------------------------------- doc/pdf/deluge-t2-manual.pdf | Bin 49027 -> 0 bytes 2 files changed, 312 deletions(-) delete mode 100644 doc/html/deluge-t2-manual.html delete mode 100644 doc/pdf/deluge-t2-manual.pdf diff --git a/doc/html/deluge-t2-manual.html b/doc/html/deluge-t2-manual.html deleted file mode 100644 index 80783047..00000000 --- a/doc/html/deluge-t2-manual.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - -Deluge T2 - Programming Manual - - - - - -
-

-

- -

-

-

-

- - - -

-

Deluge T2 - Programming Manual

-

-
-Chieh-Jan Mike Liang
-Razvan Musaloiu-E.

January 14, 2008

-
-

-

-

- -

1  Introduction

-

-

-Deluge is a reliable data dissemination protocol for large objects, such -as program binaries. Together with a bootloader, Deluge provides a way -to reprogram sensor motes in a network. Deluge is maintained by Jonathan -Hui, and Deluge 2.0 is the most recent version. Documentations on Deluge -2.0 are available at -http://www.cs.berkeley.edu/~jwhui/research/deluge/.

-

-Deluge T2 is an effort to port Deluge 2.0 from TinyOS 1 to TinyOS 2. -Although the code from Deluge 2.0 is reused as much as possible, the -behavior and the usage of Deluge T2 are not entirely identical to Deluge -2.0. Having said that, it would still be helpful to read the Deluge 2.0 -manual and related documentations.

-

-Deluge T2 is still in experimental phase. One current limitation is -platform support. Deluge T2 has been developed on Tmote Sky (telosb) -and MicaZ only. In addition, Deluge T2 comes with 2 flash volumes by -default. However, more volumes can be added, if necessary. There are -also some minor details that will be improved in future releases.

-

-

- -

2  Tools Installation

-

Deluge T2 requires a few Python scripts that not yet included in the -official tinyos-tools RPM package. On the CVS, the scripts are -located in tinyos-2.x/tools/tinyos/misc. The steps to install -them are the following:

-

-

-
  % cd $TOSROOT/tools
-  % ./Bootstrap
-      ...
-  % ./configure
-      ...
-  % cd tinyos/misc
-  % make ; make install
-      ...
-

-

-By default, the files will be installed in /usr/local/bin. If -desired, the --prefix parameter from configure can be -used to indicate a different path.

-

-

- -

3  Quick Start

-

-

-This section introduces the basics of reprogramming with an example. In -addition, it provides a quick test for software prerequisite. The latest -TinyOS 2 CVS tree and Python 2.4 with pySerial support are recommended -for running Deluge T2.

-

-To start the example, we first compile tosboot provided in tinyos-2.x/tos/lib/tosboot. -For example, -

-
   % make telosb
-

-Then, we run the burn script provided in tinyos-2.x/apps/tests/deluge/Blink. -For example, -

-
   % ./burn /dev/ttyUSB0 telosb
-

-This burn script programs the directly-connected mote with one -version of Blink. Then, it injects and reprograms the mote with another -version of Blink. At this point, you can try to retrieve program image -versioning information. The script to interface with the mote is -provided in tinyos-2.x/tools/tinyos/misc. For example, -

-
   % tos-deluge /dev/ttyUSB0 telosb -p 0
-

-You should see something similar to the output below. -

-
   Pinging node ...
-   --------------------------------------------------
-   Currently Executing:
-     Prog Name:   BlinkAppC
-     UID:         0xA274CBBE
-     Compiled On: Mon Jan 14 13:09:38 2008
-     Node ID:     1
-   
-   Stored image 0
-     Prog Name:   BlinkAppC
-     UID:         0xD7EEFACE
-     Compiled On: Mon Jan 14 12:40:06 2008
-     Platform:    telosb
-     User ID:     tinyos2
-     Host Name:   bluephase
-     User Hash:   0x587C9C16
-     Size:        33504
-     Num Pages:   30
-   --------------------------------------------------
-

-

-The usage of tos-deluge is available by running the script without -any arguments, and it will be discussed in section 5.

-

-

- -

4  Reprogramming a Network

-

-

-This section illustrates the procedure to reprogram a network. -Specifically, we will see how program images are injected and how -versioning information is retrieved.

-

-

- -

4.1  Setting Up the Motes

-

We first install both tosboot and a program that runs Deluge T2. For -simplicity, we use the golden image as the program. The golden image is -provided in tinyos-2.x/apps/tests/deluge/GoldenImage, and it does -nothing except initializing Deluge T2. This step can be done by -compiling and programming the mote normally. For example, -

-
   % CFLAGS=-DDELUGE_BASESTATION make telosb install,0 bsl,/dev/ttyUSB0
-

-CFLAGS=-DDELUGE_BASESTATION indicates that the current mote will -act as a base station, which requires an additional component to accept -user commands from the serial port. Normally, only one mote in the -network needs to be the base station, and other motes are reprogrammed -over-the-air. If error occurs when running the command above, you might -need to compile tosboot as shown in section 3. -Deluge T2 makes sure the mote ID remain persistent over image -reprogramming. You can test the installation by interacting with the -mote through tos-deluge.

-

-

- -

4.2  Preparing Your Application

-

In most cases, the only two files you need to modify are the top-level -wiring file and the Makefile. You need to make sure DelugeC -component is included. In addition, the Makefile should have the -following line: -

-
   TINYOS_NP=BNP
-

-Finally, compile your application without installing it on the mote. For -example, -

-
   % make telosb
-

-

-

- -

4.3  Injecting Your Application

-

Before a program image is disseminated in the network, we need to first -inject it to the base station. For example, -

-
   % tos-deluge /dev/ttyUSB0 telosb -i 1 apps/Blink/build/telosb/tos_image.xml
-

-You should see something similar to the output below.

-

-

-
   Pinging node ...
-   Connected to Deluge nodes.
-   No valid image was detected.
-   --------------------------------------------------
-   Create image: /home/tinyos2/local/bin/tos-build-deluge-image -i 1 build/telosb/tos_image.xml
-   Ihex read complete:
-     35916 bytes starting at 0x4A00
-        32 bytes starting at 0xFFE0
-     35948 bytes in 2 sections
-   CRCs:
-     0xCC0E 0xE57B 0xC224 0xE4FA 0x63EB 0xEBA5 0xE50B 
-     0x8073 0x345E 0x3BBF 0xF415 0xA7DB 0xA67C 0x6953 
-     0x6638 0x3D76 0x7218 0x0E8F 0x9C93 0xD679 0x7A50 
-     0xBFCD 0x8B57 0x7A47 0x323E 0x29FF 0x5EFF 0xB0AE 
-     0x1392 0x4A82 0xACFB 0x69D7 0x8C07 
-   --------------------------------------------------
-   36816 bytes in 28.23 seconds (1303.9932 bytes/s)     
-   --------------------------------------------------
-   Replace image with:
-     Prog Name:   BlinkAppC
-     UID:         0x76D2FB1B
-     Compiled On: Sun Jan 13 21:47:54 2008
-     Platform:    telosb
-     User ID:     tinyos2
-     Host Name:   bluephase
-     User Hash:   0x587C9C16
-     Size:        36816
-     Num Pages:   33
-   --------------------------------------------------
-

-

-

- -

4.4  Reprogramming with New Image

-

After you decide which program image you want to reprogram, you can -first test on the base station by issuing the reboot command. For -example, -

-
   % tos-deluge /dev/ttyUSB0 telosb -r 1
-

-After a few moments, the mote will begin quickly flashing the LEDs to -signify the reprogramming process.

-

-Now, you can have the base station disseminate a program image to the rest of -the network. For example, -

-
   % tos-deluge /dev/ttyUSB0 telosb -d 1
-

-This command instructs the base station to notify the whole network of -the availability of a new program image. This notification is currently -done via TinyOS dissemination service, and it triggers all motes in the -network to get the new program image. After all motes receive the image -over-the-air, you can instruct the base station to disseminate the -command to reprogram in the network. For example, -

-
   % tos-deluge /dev/ttyUSB0 telosb -dr 1
-

-

-

- -

5  Deluge T2 Python Toolchain

-

-

-Different from Deluge 2.0, Deluge T2 toolchain is written in Python. -However, as demonstrated in the previous section, the usage is similar.

-

-

- -

5.1  -p -ping

-

This command is useful for checking the status of program images on a -mote. It provides information such as program name, compile time, size -of the image, and so on.

-

-

- -

5.2  -i -inject

-

This command creates a program image from the supplied -tos_image.xml file, and it injects the image into specified -volume on the mote.

-

-

- -

5.3  -r -reprogram

-

This command sets up the directly-connected mote to reprogram itself -after reboot, and then it reboots the mote.

-

-

- -

5.4  -d -disseminate

-

This command instructs the base station mote to disseminate an image to -the network. This image is specified by the volume ID.

-

-

- -

5.5  -dr -disseminate-and-reprogram

-

This command asks the motes in the network not only to disseminate an -image but also to start running it. This is accomplish using a reboot.

-

-

- -

5.6  -e -erase

-

This command erases a flash volume on the base station mote.

-

-

- -

5.7  -s -stop

-

The effect of -d and -dr is continuous which means a new -mote will become ``infected'' if he is nearby. This command stops the -``infection''.

-

-

- -

5.8  -ls -local-stop

-

When -d or -dr are in effect, the volume used by them is -locked. This command can be used to unlock the volume in order to -erase or inject a new image.

-

-

-

-
Last modified: Monday, January 14th, 2008 2:11:03pm
-
- - diff --git a/doc/pdf/deluge-t2-manual.pdf b/doc/pdf/deluge-t2-manual.pdf deleted file mode 100644 index 35bb4966151ff87077922cf034f6b5786ccd88ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49027 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