Quickstart: TelosB

From TinyOS Wiki
Jump to: navigation, search

This page provides a tutorial on running the provided Blink and Oscilloscope applications on TelosB sensor motes, after running these you should have a greater understanding of TinyOS and TelosB motes.


Blink: An example Hello World program

Open a terminal

Enter the application directory

cd <tinyos code directory>/apps/Blink

Compile the application

make telosb

Insert mote into USB

List available motes

motelist

Example of motelist output:

Reference  Device           Description
---------- ---------------- ---------------------------------------------
XBS5H6PH   /dev/ttyUSB0     XBOW Crossbow Telos Rev.B

Install application to the specified mote

make telosb reinstall bsl,/dev/ttyUSB0

Replace /dev/ttyUSB0 with what motelist displays for you


Installing Applications on TelosB mote: General Process

1) In the application directory, begin by compiling the program

make telosb

2) Next, insert the TelosB mote via USB

3) Verify the mote is recognized. Take note of the USB path under Device column, as this is used in specifying the path for the installation. In most cases, the DEVICE path is in the format /dev/ttyUSBx on Linux.

motelist

4) Still in the application directory, install the application on the mote that is currently connected

make telosb reinstall bsl,DEVICE

where DEVICE is the USB Device path provided from motelist command. example: make telosb reinstall bsl,/dev/ttyUSB0

5) Thats it, if no errors occurred, the application is now running on the mote.

Oscilloscope Application: BaseStation & Sensor Testing

Oscilloscope is a good application provided that you can test mote to mote communication with a base station

Overview

  • Compile & Install Oscilloscope application on one or more motes
  • Compile & Install BaseStation application on a mote connected via USB
  • Run the Serial Forwarder
  • Execute Java based Oscilloscope application

Compile & Install Oscilloscope application on one or more motes

Enter the Oscilloscope application directory

cd <tinyos code directory>/apps/Oscilloscope

Compile the Oscilloscope application

make telosb

Install Oscilloscope application to TelosB mote

make telosb reinstall bsl,DEVICE

DEVICE is the path name of the USB connected mote that can be found by running the command motelist

If no errors occur, Oscilloscope is now installed on the mote. Remove the mote. Note: if you are going to use multiple motes to transmit data to the BaseStation you need to label them to avoid conflict

An example would be, instead of using: make telosb reinstall bsl,DEVICE like we did above for one sensor we can use the following for the first mote

 make telosb install,1

And the following for the second mote

 make telosb install,2

Additional motes can be added this way as well.

Compile & Install BaseStation application on a mote connected via USB

Enter the BaseStation application directory

cd <tinyos code directory>/apps/BaseStation

Begin by compiling the BaseStation application

make telosb

Next, connect a TelosB mote via USB connection

Install the BaseStation application to the connected telosb mote

make telosb reinstall bsl,DEVICE

DEVICE is the path name of the USB connected mote that can be found by running the command motelist

NOTE: Do not remove this mote, it is the BaseStation and is used to collect data from the other motes in the network that have Oscilloscope installed.

Run the Serial Forwarder

Run Serial Forwarder in a separate terminal

java net.tinyos.sf.SerialForwarder -comm serial@DEVICE:telosb

DEVICE can be found by executing the command motelist

motelist

EXAMPLE: java net.tinyos.sf.SerialForwarder -comm serial@/dev/ttyUSB0:telosb

Execute Java based Oscilloscope application

The Java application itself is in the Oscilloscope application directory in the subdirectory java. Begin by entering this directory

cd /opt/tinyos-2.1.0/apps/Oscilloscope/java

Next run the make command

make

You can then run Oscilloscope Java Application with the following

./run

What's Next?

  • Read more detailed tutorials on this wiki to further you knowledge on nesC programing and TinyOS
  • Try to fork Oscilloscope so it reads from a different sensor then default (Temperature is a good project)