Tutorial Mods

Modifications to the Tutorial

Unlike the tutorial, we are using the Telos motes. Therefore, the procedures for programming the motes are different. See the Basic Commands page for the instructions for programming the motes. Also, the yellow LED on the Mica motes correspond to the blue LED on the Telos motes.

We are also using the Trio motes, which is a combination of a Telos mote and a Trio sensor board. The Trio sensor board has 4 PIR (passive infrared) sensors which serve as motion detectors, a 2-axis magnetometer, a microphone, and a buzzer. We will use the Trio motes for the PIR sensors. Note that the basic Telos motes that we have for our tutorial do not have any sensors.

  • To delete an image on the Trio (so as to save battery power and not drain the rechargeable batteries), run the command
    msp430-bsl --telosb -c 4 -r -e -I -p D:/cygwin/opt/tinyos-1.x/tos/lib/Deluge/TOSBoot/build/telosb/main.ihex
    for a mote on COM5 (4 = 5-1, in the command above)
    • This command is taken from the line in the output from running make telosb reinstall,2 bsl,4. Below is an example of such output:
/opt/tinyos-1.x/tools/make/msp/set-mote-id --objcopy msp430-objcopy --objdump msp430-objdump --target ihex build/telosb/main.ihex build/telosb/main.ihex.out-2 2
Could not find symbol TOS_LOCAL_ADDRESS in build/telosb/main.exe, ignoring symbol.
    installing telosb bootloader using bsl
msp430-bsl --telosb -c 4 -r -e -I -p D:/cygwin/opt/tinyos-1.x/tos/lib/Deluge/TOSBoot/build/telosb/main.ihex
MSP430 Bootstrap Loader Version: 1.39-telos-7
Mass Erase...
more output

Lesson 2

  • Replacement for Running the Sense Application: Instead of using the photo sensor, we will be using the PIR sensors on the Trio motes.
    • Download Attach:TrioSense.zip
    • unzip the TrioSense folder to the tinyos-1.x/apps folder
    • The TrioSense application is a replacement for the Sense application. Look at the difference between the files TrioSense.nc and Sense.nc, and the difference between the files TrioSenseM.nc and SenseM.nc. Note that the PIR sensors must wait for a period of time (like 0.5 seconds) before being turned on by the NesC command PIR.PIROn() for the PIR sensor to work (the rest of the application will work but the PIR sensor will not produce a signal when you install on the mote). This is the reason for using the InitTimer in TrioSenseM.nc.

Lesson 6

  • For the telos motes (both Telos A and Telos B), MOTECOM=serial@COM4:telos for a mote connected to comm port 4.
    • A similar argument would be passed to SerialForwarder java net.tinyos.sf.SerialForwarder -comm serial@COM4:telos &
  • : Combine the code from the TrioSense application with the Oscilloscope and OscilloscopeRF application (put these new applications in folders called TrioOscope and TrioOscopeRF in your tinyos-1.x/apps directory) so that you can send PIR sensor readings to the oscilloscope.

Bugs in the Tutorial

Lesson 6

  • The link to MIG (Message Interface Generator) is broken. It should point to file:///path to your tinyos-1.x installation/tinyos-1.x/doc/nesc/mig.html
  • The link to NCG (nesC Constant Generator) is broken. It should point to file:///path to your tinyos-1.x installation/tinyos-1.x/doc/nesc/ncg.html

Lesson 7

  • We need to modify the SimpleCmd application before compilation so that it works with the Telos motes. The Telos motes use a different interface to increase and decrease the radio signal strength than the mica or mica2 motes.
    • If you do not make modifications, you will get compilation errors complaining about PotC and HPLPotC. Pot stands for potentiometer, and its output is used to tune the radio signal strength.
    • Comment out all the lines in SimpleCmd.nc and SimpleCmdM.nc that refer to Pot. This will disable the radio_louder and radio_quieter commands.
  • The instructions to run java net.tinyos.tools.BcastInject <group_id> <command> has the order of the arguments <group_id> and <command> backwards. It should be java net.tinyos.tools.BcastInject <command> <group_id>