Quickstart: TelosB
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.
Contents
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)