SlideShare a Scribd company logo
1 of 33
Download to read offline
TINYOS
CREATING APPLICATIONS FOR WIRELESS SENSORS
M.Tech Part I 1st Semester
University of kalyani
5/31/2018 Riman Mandal, mandal.riman@gmail.com 1
Overview
Sensor code
(nesC/TinyOS)
Base station code
(nesC/TinyOS)
Gateway code
(Java, c, …)
Serial/USB
Wireless
Communication
iris/sensor
5/31/2018 Riman Mandal, mandal.riman@gmail.com 2
Required Hardwares
■ Programming Board
■ Mote
■ Sensing Board
■ And a PC of course….
A Typical Mote
5/31/2018 Riman Mandal, mandal.riman@gmail.com 3
Typical Programming Board
For Practical Purpose We have a different model
5/31/2018 Riman Mandal, mandal.riman@gmail.com 4
Typical Sensor Board
For Practical Purpose We have a different model
5/31/2018 Riman Mandal, mandal.riman@gmail.com 5
Typical Mote
Antenna Interface
Power Button
2 AA battery
Section
For Practical Purpose We have a different model
5/31/2018 Riman Mandal, mandal.riman@gmail.com 6
Tiny OS
■ An operating system for low power, embedded,
wireless devices
– Wireless sensor networks (WSNs)
– Sensor-actuator networks
– Embedded robotics
■ Open source, open developer community
■ http://www.tinyos.net
■ E-book: TinyOS Programming:
http://csl.stanford.edu/~pal/pubs/tinyos-
programming.pdf
5/31/2018 Riman Mandal, mandal.riman@gmail.com 7
Tiny OS (Cont.)
■ An open-source development environment
■ Not an operation system for general purpose, it
is designed for wireless embedded sensor
network.
■ Programming language: NesC (an extension of C)
■ It features a component-based architecture.
■ Supported platforms include Linux, Windows
2000/XP with Cygwin.
5/31/2018 Riman Mandal, mandal.riman@gmail.com 8
Installation
■ Need Ubuntu 12.04 LTS for hassle free installation.
■ Try installing TinyOS ON Windows machines using VMWare
or Virtual Box.
■ I will send the details of Installation via e-mail.
■ If you are interested we can try on Windows using
Cygwin.
5/31/2018 Riman Mandal, mandal.riman@gmail.com 9
Installing TinyOS 2.1.2
on Ubuntu 12.04 LTS
using Virtual Box
5/31/2018 Riman Mandal, mandal.riman@gmail.com 10
Preprocessing
■ Install VirtualBox on your Windows machine.
■ Install Ubuntu 12.04LTS inside the Virtual Machine.
■ Start the Ubuntu from Virtual machine.
■ Open Ubuntu Terminal.
5/31/2018 Riman Mandal, mandal.riman@gmail.com 11
Step 1 Adding TinyOS
Source
■ Execute the following command,
■ Paste the line given below at the end of the file
■ Save the file and quit
5/31/2018 Riman Mandal, mandal.riman@gmail.com 12
sudo gedit /etc/apt/sources.list
deb http://tinyos.stanford.edu/tinyos/dists/ubuntu
lucid main
Step 2 Installing TinyOS
■ First update the TinyOS source using.
■ Use the following command to install TinyOS on your
Ubuntu machine.
5/31/2018 Riman Mandal, mandal.riman@gmail.com 13
sudo apt-get update
sudo apt-get install tinyos2.1.2
Step 3 Environment Setup
■ Enter the following command to edit the Environment
setup in Ubuntu
■ Add the following line at the end of the ~/.bashrc file.
5/31/2018 Riman Mandal, mandal.riman@gmail.com 14
sudo gedit ~/.bashrc
#Sourcing the tinyos environment variable setup script
source /opt/tinyos-2.1.2/tinyos.sh
export CLASSPATH=$CLASSPATH:.
Step 4 Creating the
Environment Source File
■ Create the setup script file using the command
■ Now enter the following contents into this file
5/31/2018 Riman Mandal, mandal.riman@gmail.com 15
sudo gedit /opt/tinyos-2.1.2/tinyos.sh
#echo "Setting up for TinyOS 2.1.2"
export TOSROOT=
export TOSDIR=
export MAKERULES=
TOSROOT="/opt/tinyos-2.1.2"
TOSDIR="$TOSROOT/tos"
CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java:$TOSROOT/support/sdk
/java/tinyos.jar
MAKERULES="$TOSROOT/support/make/Makerules"
export TOSROOT
export TOSDIR
export CLASSPATH
export MAKERULES
Step 5 Permission for Setup
Script and Refresh
Environment
■ Run the command below to allow this script to execute
■ To refresh the environment with new setup - close and
start a new terminal or alternatively execute the
following command
5/31/2018 Riman Mandal, mandal.riman@gmail.com 16
sudo chmod 755 /opt/tinyos-2.1.2/tinyos.sh
source ~/.bashrc
Checking if Installation is
successful
■ Run the command to check TOS environment setup is
complete or not
■ If it gives warnings related to Java version then do
■ If your version is above 1.5, then ignore this warning else
upgrade to a newer java version. Ignore
the warning related to graphviz.
5/31/2018 Riman Mandal, mandal.riman@gmail.com 17
tos-check-env
java -version
TinyOS Programming
5/31/2018 Riman Mandal, mandal.riman@gmail.com 18
Basic Idea
■ HURRY UP AND SLEEP!!
– Sleep as often as possible to save power
■ Programs are built out of components
– Libraries and components are written in nesC.
– Applications are too -- just additional components
composed with the OS components.
■ Each component is specified by an interface
– Provides “hooks” for wiring components together
■ Components are statically wired together based on their
interfaces
– Increases runtime efficiency
5/31/2018 Riman Mandal, mandal.riman@gmail.com 19
Basic Unit of Programming
■ Basic unit of nesC code is a component
■ Components connect via interfaces
– Connections called “wiring”
5/31/2018 Riman Mandal, mandal.riman@gmail.com 20
B
A
interface
What is a Component?
■ A component is a file (names must match)
■ Modules are components that have variables and
executable code
■ Configurations are components that wires other
components together
■ A component does not care if another component is a
module or configuration
■ A component may be composed of other components via
configurations
5/31/2018 Riman Mandal, mandal.riman@gmail.com 21
Component Example
5/31/2018 Riman Mandal, mandal.riman@gmail.com 22
TimerC
BlinkC
Timer
module BlinkC {
uses interface Timer<TMilli>
as Timer0
provide interface xxxx}
implementation {
int c;
void increment() {c++;}
event void Timer0.fired()
{
call Leds.led0Toggle();
}
}
configuration BlinkAppC
{
}
implementation
{
components MainC, BlinkC, LedsC;
components new TimerMilliC()
as Timer0;
BlinkC.Timer0 -> Timer0;
BlinkC -> MainC.Boot;
BlinkC.Leds -> LedsC;
}
Singletons and Generics
5/31/2018 Riman Mandal, mandal.riman@gmail.com 23
■ Singleton components are unique: they exist in a global
namespace
■ Generics are instantiated: each instantiation is a new,
independent copy
configuration BlinkC { … }
implementation {
components new TimerC();
components BlinkC;
BlinkC.Timer -> TimerC;
}
Component Syntax - Module
5/31/2018 Riman Mandal, mandal.riman@gmail.com 24
■ A component specifies a set of interfaces by which it is connected to
other components
– provides a set of interfaces to others
– uses a set of interfaces provided by others
module ForwarderM {
provides {
interface StdControl;
}
uses {
interface StdControl as CommControl;
interface ReceiveMsg;
interface SendMsg;
interface Leds;
}
}
implementation {
…// code implementing all provided commands
and used events
}
ForwarderM
StdControl ReceiveMsg
provides uses
CommControl
SendMsg
Leds
Component Syntax -
Configuration
5/31/2018 Riman Mandal, mandal.riman@gmail.com 25
configuration Forwarder { }
implementation
{
components Main, LedsC;
components GenericComm as Comm;
components ForwarderM;
Main.StdControl -> ForwarderM.StdControl;
ForwarderM.CommControl -> Comm;
ForwarderM.SendMsg -> Comm.SendMsg[AM_INTMSG];
ForwarderM.ReceiveMsg -> Comm.ReceiveMsg[AM_INTMSG];
ForwarderM.Leds -> LedsC;
}
Component
Selection
Wiring the
Components
together
ForwarderM
StdControl ReceiveMsg
provides uses
CommControl
SendMsg
Leds
Main StdControl
LedsC
Leds
GenericComm
SendMsg
ReceiveMsg
StdControl
Forwarder
Interface
5/31/2018 Riman Mandal, mandal.riman@gmail.com 26
■ Collections of related functions
■ Define how components connect
■ Interfaces are bi-directional: for A->B
– Commands are from A to B
– Events are from B to A
■ Can have parameters (types)
interface Timer<tag> {
command void startOneShot(uint32_t period);
command void startPeriodic(uint32_t period);
event void fired();
}
Interface (provide and use)
5/31/2018 Riman Mandal, mandal.riman@gmail.com 27
User
Provider
Interface
Commands
Events
Module BlinkC {
use interface xxxx;
provide interface xxxxxxx;
.........
}
Interface (provide and use)
(Cont.)
■ A component provides and uses interfaces.
■ A interface defines a logically related set of commands
and events.
■ Components implement the events they use and the
commands they provide:
5/31/2018 Riman Mandal, mandal.riman@gmail.com 28
Component Commands Events
Use Can call Must implement
Provide Must implement Can signal
Terminal Commands related
to TinyOS
■ system modifications
– sudo chmod –R 777 /bin
– sudo chmod –R 777 /dev
■ applications directory
– /opt/tinyos-2.1.1/apps/
■ making hex image for iris mote without sensor board
– make iris
■ making hex image for iris mote with sensor board
– SENSORBOARD=mda100 make iris
■ burning hex image into iris mote
– make <mote> install.moteid burnerid,/dev/tty<serialport>
– EX. make iris install.0 mib520,/dev/ttyUSB0
– EX. make iris reinstall.0 mib520,/dev/ttyUSB0
■ burning hex image into iris mote with sensor board
■ SENSORBOARD=mda100 make iris reinstall.0 mib520,/dev/ttyUSB0
5/31/2018 Riman Mandal, mandal.riman@gmail.com 29
Power Up Testing
Programing
■ Try to build a tinyOS app that turn on the Red Led on
Power up.
5/31/2018 Riman Mandal, mandal.riman@gmail.com 30
PowerUpC
uses
Boot
Leds
MainC
Boot
LedsC
Leds
Code
5/31/2018 Riman Mandal, mandal.riman@gmail.com 31
configuration PowerupAppC{}
implementation {
components MainC, PowerupC, LedsC;
MainC.Boot <- PowerupC.Boot;
PowerupC.Leds -> LedsC.Leds;
}
module PowerupC @safe()
{
uses interface Boot;
uses interface Leds;
}
implementation
{
event void Boot.booted() {
call Leds.led0On();
}
}
Blink App Using
Timer<TMilli> C
■ The Red light will blink continuously with a time interval
5/31/2018 Riman Mandal, mandal.riman@gmail.com 32
BlinkC
uses
Boot
Leds
MainC
Boot
LedsC
Using Printf Component
■ Include printf.h header file in the module file
■ Use Printf method to print anything on terminal
■ Add Component PrintfC in the Component File
■ Use the following command to print on the terminal
– java net.tinyos.tools.PrintfClient -comm
serial@/dev/ttyUSB1:iris
5/31/2018 Riman Mandal, mandal.riman@gmail.com 33
java net.tinyos.tools.PrintfClient -comm serial@/dev/ttyUSBXXX:telosb

More Related Content

What's hot

10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA System10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA SystemInductive Automation
 
High-Level Synthesis with GAUT
High-Level Synthesis with GAUTHigh-Level Synthesis with GAUT
High-Level Synthesis with GAUTAdaCore
 
Arteris Ncore Cache Coherent Interconnect - Technology Overview
Arteris Ncore Cache Coherent Interconnect - Technology OverviewArteris Ncore Cache Coherent Interconnect - Technology Overview
Arteris Ncore Cache Coherent Interconnect - Technology OverviewKurt Shuler
 
Process Synchronization in operating system | mutex | semaphore | race condition
Process Synchronization in operating system | mutex | semaphore | race conditionProcess Synchronization in operating system | mutex | semaphore | race condition
Process Synchronization in operating system | mutex | semaphore | race conditionShivam Mitra
 
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC ClustersSR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC ClustersGlenn K. Lockwood
 
Processors used in System on chip
Processors used in System on chip Processors used in System on chip
Processors used in System on chip A B Shinde
 
Master synchronous serial port (mssp)
Master synchronous serial port (mssp)Master synchronous serial port (mssp)
Master synchronous serial port (mssp)babak danyal
 
How to Measure RTOS Performance
How to Measure RTOS Performance How to Measure RTOS Performance
How to Measure RTOS Performance mentoresd
 
8096 microcontrollers notes
8096 microcontrollers notes8096 microcontrollers notes
8096 microcontrollers notesDr.YNM
 
Windows process-scheduling
Windows process-schedulingWindows process-scheduling
Windows process-schedulingTalha Shaikh
 

What's hot (20)

Linux
Linux Linux
Linux
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA System10 Steps to Architecting a Sustainable SCADA System
10 Steps to Architecting a Sustainable SCADA System
 
9077262.ppt
9077262.ppt9077262.ppt
9077262.ppt
 
High-Level Synthesis with GAUT
High-Level Synthesis with GAUTHigh-Level Synthesis with GAUT
High-Level Synthesis with GAUT
 
Arteris Ncore Cache Coherent Interconnect - Technology Overview
Arteris Ncore Cache Coherent Interconnect - Technology OverviewArteris Ncore Cache Coherent Interconnect - Technology Overview
Arteris Ncore Cache Coherent Interconnect - Technology Overview
 
Process Synchronization in operating system | mutex | semaphore | race condition
Process Synchronization in operating system | mutex | semaphore | race conditionProcess Synchronization in operating system | mutex | semaphore | race condition
Process Synchronization in operating system | mutex | semaphore | race condition
 
ARM Introduction
ARM IntroductionARM Introduction
ARM Introduction
 
USART
USARTUSART
USART
 
Vx works RTOS
Vx works RTOSVx works RTOS
Vx works RTOS
 
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC ClustersSR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
 
FreeRTOS Course - Semaphore/Mutex Management
FreeRTOS Course - Semaphore/Mutex ManagementFreeRTOS Course - Semaphore/Mutex Management
FreeRTOS Course - Semaphore/Mutex Management
 
Processors used in System on chip
Processors used in System on chip Processors used in System on chip
Processors used in System on chip
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Master synchronous serial port (mssp)
Master synchronous serial port (mssp)Master synchronous serial port (mssp)
Master synchronous serial port (mssp)
 
How to Measure RTOS Performance
How to Measure RTOS Performance How to Measure RTOS Performance
How to Measure RTOS Performance
 
Interrupts
InterruptsInterrupts
Interrupts
 
8096 microcontrollers notes
8096 microcontrollers notes8096 microcontrollers notes
8096 microcontrollers notes
 
Windows process-scheduling
Windows process-schedulingWindows process-scheduling
Windows process-scheduling
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 

Similar to Tiny OS

Parallel programming using MPI
Parallel programming using MPIParallel programming using MPI
Parallel programming using MPIAjit Nayak
 
Vb net xp_13
Vb net xp_13Vb net xp_13
Vb net xp_13Niit Care
 
ARM-ES MANUAL.pdf
ARM-ES MANUAL.pdfARM-ES MANUAL.pdf
ARM-ES MANUAL.pdfvidhya1806
 
Jenkins2 - Coding Continuous Delivery Pipelines
Jenkins2 - Coding Continuous Delivery PipelinesJenkins2 - Coding Continuous Delivery Pipelines
Jenkins2 - Coding Continuous Delivery PipelinesBrent Laster
 
Ae08 system vb_script
Ae08 system vb_scriptAe08 system vb_script
Ae08 system vb_scriptconfidencial
 
Lesson slides for C programming course
Lesson slides for C programming courseLesson slides for C programming course
Lesson slides for C programming courseJean-Louis Gosselin
 
M.G.Goman et al (1994) - PII package: Brief description
M.G.Goman et al (1994) - PII package: Brief descriptionM.G.Goman et al (1994) - PII package: Brief description
M.G.Goman et al (1994) - PII package: Brief descriptionProject KRIT
 
2nd Technical Meeting - WP3
2nd Technical Meeting - WP32nd Technical Meeting - WP3
2nd Technical Meeting - WP3SLOPE Project
 
CDMA1X Pilot Panorama introduction
CDMA1X Pilot Panorama introductionCDMA1X Pilot Panorama introduction
CDMA1X Pilot Panorama introductionTempus Telcosys
 
P4_tutorial.pdf
P4_tutorial.pdfP4_tutorial.pdf
P4_tutorial.pdfPramodhN3
 
IRJET- Design of Low Power 32- Bit RISC Processor using Verilog HDL
IRJET-  	  Design of Low Power 32- Bit RISC Processor using Verilog HDLIRJET-  	  Design of Low Power 32- Bit RISC Processor using Verilog HDL
IRJET- Design of Low Power 32- Bit RISC Processor using Verilog HDLIRJET Journal
 
Project Proposal Presentation-C.O.D.E-7 Solutions
Project Proposal Presentation-C.O.D.E-7 SolutionsProject Proposal Presentation-C.O.D.E-7 Solutions
Project Proposal Presentation-C.O.D.E-7 SolutionsDiren Dantanarayana
 
Ultima mentor version_7_0_-_required_data_inputs_for_huawei
Ultima mentor version_7_0_-_required_data_inputs_for_huaweiUltima mentor version_7_0_-_required_data_inputs_for_huawei
Ultima mentor version_7_0_-_required_data_inputs_for_huaweiergash nigmatov
 
Vb net xp_16
Vb net xp_16Vb net xp_16
Vb net xp_16Niit Care
 
SOMNIUM DRT C++ tools for Microchip ARM microcontrollers
SOMNIUM DRT C++ tools for Microchip ARM microcontrollersSOMNIUM DRT C++ tools for Microchip ARM microcontrollers
SOMNIUM DRT C++ tools for Microchip ARM microcontrollersDaniel O'Hara
 
Larson and toubro
Larson and toubroLarson and toubro
Larson and toubroanoopc1998
 

Similar to Tiny OS (20)

Parallel programming using MPI
Parallel programming using MPIParallel programming using MPI
Parallel programming using MPI
 
Vb net xp_13
Vb net xp_13Vb net xp_13
Vb net xp_13
 
ARM-ES MANUAL.pdf
ARM-ES MANUAL.pdfARM-ES MANUAL.pdf
ARM-ES MANUAL.pdf
 
Jenkins2 - Coding Continuous Delivery Pipelines
Jenkins2 - Coding Continuous Delivery PipelinesJenkins2 - Coding Continuous Delivery Pipelines
Jenkins2 - Coding Continuous Delivery Pipelines
 
Ae08 system vb_script
Ae08 system vb_scriptAe08 system vb_script
Ae08 system vb_script
 
Lesson slides for C programming course
Lesson slides for C programming courseLesson slides for C programming course
Lesson slides for C programming course
 
Session1 c1
Session1 c1Session1 c1
Session1 c1
 
M.G.Goman et al (1994) - PII package: Brief description
M.G.Goman et al (1994) - PII package: Brief descriptionM.G.Goman et al (1994) - PII package: Brief description
M.G.Goman et al (1994) - PII package: Brief description
 
2nd Technical Meeting - WP3
2nd Technical Meeting - WP32nd Technical Meeting - WP3
2nd Technical Meeting - WP3
 
CDMA1X Pilot Panorama introduction
CDMA1X Pilot Panorama introductionCDMA1X Pilot Panorama introduction
CDMA1X Pilot Panorama introduction
 
Micro Frontends
Micro FrontendsMicro Frontends
Micro Frontends
 
P4_tutorial.pdf
P4_tutorial.pdfP4_tutorial.pdf
P4_tutorial.pdf
 
IRJET- Design of Low Power 32- Bit RISC Processor using Verilog HDL
IRJET-  	  Design of Low Power 32- Bit RISC Processor using Verilog HDLIRJET-  	  Design of Low Power 32- Bit RISC Processor using Verilog HDL
IRJET- Design of Low Power 32- Bit RISC Processor using Verilog HDL
 
Project Proposal Presentation-C.O.D.E-7 Solutions
Project Proposal Presentation-C.O.D.E-7 SolutionsProject Proposal Presentation-C.O.D.E-7 Solutions
Project Proposal Presentation-C.O.D.E-7 Solutions
 
Ultima mentor version_7_0_-_required_data_inputs_for_huawei
Ultima mentor version_7_0_-_required_data_inputs_for_huaweiUltima mentor version_7_0_-_required_data_inputs_for_huawei
Ultima mentor version_7_0_-_required_data_inputs_for_huawei
 
Vb net xp_16
Vb net xp_16Vb net xp_16
Vb net xp_16
 
SOMNIUM DRT C++ tools for Microchip ARM microcontrollers
SOMNIUM DRT C++ tools for Microchip ARM microcontrollersSOMNIUM DRT C++ tools for Microchip ARM microcontrollers
SOMNIUM DRT C++ tools for Microchip ARM microcontrollers
 
Visual basic
Visual basicVisual basic
Visual basic
 
Nesc tutorial
Nesc tutorialNesc tutorial
Nesc tutorial
 
Larson and toubro
Larson and toubroLarson and toubro
Larson and toubro
 

More from Manash Kumar Mondal

More from Manash Kumar Mondal (18)

Role of NDLI in Higher Education _ Research, KU.pdf
Role of NDLI in Higher Education _ Research, KU.pdfRole of NDLI in Higher Education _ Research, KU.pdf
Role of NDLI in Higher Education _ Research, KU.pdf
 
Various security issues and its solutions in the
Various security issues and its solutions in theVarious security issues and its solutions in the
Various security issues and its solutions in the
 
Omicron - A Covid 19 variant
Omicron - A Covid 19 variantOmicron - A Covid 19 variant
Omicron - A Covid 19 variant
 
Computer network
Computer networkComputer network
Computer network
 
Boolean alebra
Boolean alebraBoolean alebra
Boolean alebra
 
Introduction to Algorithm
Introduction to AlgorithmIntroduction to Algorithm
Introduction to Algorithm
 
File in C language
File in C languageFile in C language
File in C language
 
Pegasus, A spyware
Pegasus, A spywarePegasus, A spyware
Pegasus, A spyware
 
A comparative study between cloud computing and fog
A comparative study between cloud computing and fog A comparative study between cloud computing and fog
A comparative study between cloud computing and fog
 
Binary Semaphore
Binary SemaphoreBinary Semaphore
Binary Semaphore
 
Ocean- sat for Oceanography
Ocean- sat for Oceanography Ocean- sat for Oceanography
Ocean- sat for Oceanography
 
Graph theory
Graph  theoryGraph  theory
Graph theory
 
4 g and 5g Communication
4 g and 5g Communication4 g and 5g Communication
4 g and 5g Communication
 
Apache web service
Apache web serviceApache web service
Apache web service
 
Revolution of Mobile Communication, from 1G to 5G Communication
Revolution of Mobile Communication, from  1G to 5G CommunicationRevolution of Mobile Communication, from  1G to 5G Communication
Revolution of Mobile Communication, from 1G to 5G Communication
 
Introduction to Apache Web Services using latex
 Introduction to Apache Web Services using latex Introduction to Apache Web Services using latex
Introduction to Apache Web Services using latex
 
Cloud computing and Cloudsim
Cloud computing and CloudsimCloud computing and Cloudsim
Cloud computing and Cloudsim
 
Superscalar Processor
Superscalar ProcessorSuperscalar Processor
Superscalar Processor
 

Recently uploaded

CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 

Recently uploaded (20)

CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 

Tiny OS

  • 1. TINYOS CREATING APPLICATIONS FOR WIRELESS SENSORS M.Tech Part I 1st Semester University of kalyani 5/31/2018 Riman Mandal, mandal.riman@gmail.com 1
  • 2. Overview Sensor code (nesC/TinyOS) Base station code (nesC/TinyOS) Gateway code (Java, c, …) Serial/USB Wireless Communication iris/sensor 5/31/2018 Riman Mandal, mandal.riman@gmail.com 2
  • 3. Required Hardwares ■ Programming Board ■ Mote ■ Sensing Board ■ And a PC of course…. A Typical Mote 5/31/2018 Riman Mandal, mandal.riman@gmail.com 3
  • 4. Typical Programming Board For Practical Purpose We have a different model 5/31/2018 Riman Mandal, mandal.riman@gmail.com 4
  • 5. Typical Sensor Board For Practical Purpose We have a different model 5/31/2018 Riman Mandal, mandal.riman@gmail.com 5
  • 6. Typical Mote Antenna Interface Power Button 2 AA battery Section For Practical Purpose We have a different model 5/31/2018 Riman Mandal, mandal.riman@gmail.com 6
  • 7. Tiny OS ■ An operating system for low power, embedded, wireless devices – Wireless sensor networks (WSNs) – Sensor-actuator networks – Embedded robotics ■ Open source, open developer community ■ http://www.tinyos.net ■ E-book: TinyOS Programming: http://csl.stanford.edu/~pal/pubs/tinyos- programming.pdf 5/31/2018 Riman Mandal, mandal.riman@gmail.com 7
  • 8. Tiny OS (Cont.) ■ An open-source development environment ■ Not an operation system for general purpose, it is designed for wireless embedded sensor network. ■ Programming language: NesC (an extension of C) ■ It features a component-based architecture. ■ Supported platforms include Linux, Windows 2000/XP with Cygwin. 5/31/2018 Riman Mandal, mandal.riman@gmail.com 8
  • 9. Installation ■ Need Ubuntu 12.04 LTS for hassle free installation. ■ Try installing TinyOS ON Windows machines using VMWare or Virtual Box. ■ I will send the details of Installation via e-mail. ■ If you are interested we can try on Windows using Cygwin. 5/31/2018 Riman Mandal, mandal.riman@gmail.com 9
  • 10. Installing TinyOS 2.1.2 on Ubuntu 12.04 LTS using Virtual Box 5/31/2018 Riman Mandal, mandal.riman@gmail.com 10
  • 11. Preprocessing ■ Install VirtualBox on your Windows machine. ■ Install Ubuntu 12.04LTS inside the Virtual Machine. ■ Start the Ubuntu from Virtual machine. ■ Open Ubuntu Terminal. 5/31/2018 Riman Mandal, mandal.riman@gmail.com 11
  • 12. Step 1 Adding TinyOS Source ■ Execute the following command, ■ Paste the line given below at the end of the file ■ Save the file and quit 5/31/2018 Riman Mandal, mandal.riman@gmail.com 12 sudo gedit /etc/apt/sources.list deb http://tinyos.stanford.edu/tinyos/dists/ubuntu lucid main
  • 13. Step 2 Installing TinyOS ■ First update the TinyOS source using. ■ Use the following command to install TinyOS on your Ubuntu machine. 5/31/2018 Riman Mandal, mandal.riman@gmail.com 13 sudo apt-get update sudo apt-get install tinyos2.1.2
  • 14. Step 3 Environment Setup ■ Enter the following command to edit the Environment setup in Ubuntu ■ Add the following line at the end of the ~/.bashrc file. 5/31/2018 Riman Mandal, mandal.riman@gmail.com 14 sudo gedit ~/.bashrc #Sourcing the tinyos environment variable setup script source /opt/tinyos-2.1.2/tinyos.sh export CLASSPATH=$CLASSPATH:.
  • 15. Step 4 Creating the Environment Source File ■ Create the setup script file using the command ■ Now enter the following contents into this file 5/31/2018 Riman Mandal, mandal.riman@gmail.com 15 sudo gedit /opt/tinyos-2.1.2/tinyos.sh #echo "Setting up for TinyOS 2.1.2" export TOSROOT= export TOSDIR= export MAKERULES= TOSROOT="/opt/tinyos-2.1.2" TOSDIR="$TOSROOT/tos" CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java:$TOSROOT/support/sdk /java/tinyos.jar MAKERULES="$TOSROOT/support/make/Makerules" export TOSROOT export TOSDIR export CLASSPATH export MAKERULES
  • 16. Step 5 Permission for Setup Script and Refresh Environment ■ Run the command below to allow this script to execute ■ To refresh the environment with new setup - close and start a new terminal or alternatively execute the following command 5/31/2018 Riman Mandal, mandal.riman@gmail.com 16 sudo chmod 755 /opt/tinyos-2.1.2/tinyos.sh source ~/.bashrc
  • 17. Checking if Installation is successful ■ Run the command to check TOS environment setup is complete or not ■ If it gives warnings related to Java version then do ■ If your version is above 1.5, then ignore this warning else upgrade to a newer java version. Ignore the warning related to graphviz. 5/31/2018 Riman Mandal, mandal.riman@gmail.com 17 tos-check-env java -version
  • 18. TinyOS Programming 5/31/2018 Riman Mandal, mandal.riman@gmail.com 18
  • 19. Basic Idea ■ HURRY UP AND SLEEP!! – Sleep as often as possible to save power ■ Programs are built out of components – Libraries and components are written in nesC. – Applications are too -- just additional components composed with the OS components. ■ Each component is specified by an interface – Provides “hooks” for wiring components together ■ Components are statically wired together based on their interfaces – Increases runtime efficiency 5/31/2018 Riman Mandal, mandal.riman@gmail.com 19
  • 20. Basic Unit of Programming ■ Basic unit of nesC code is a component ■ Components connect via interfaces – Connections called “wiring” 5/31/2018 Riman Mandal, mandal.riman@gmail.com 20 B A interface
  • 21. What is a Component? ■ A component is a file (names must match) ■ Modules are components that have variables and executable code ■ Configurations are components that wires other components together ■ A component does not care if another component is a module or configuration ■ A component may be composed of other components via configurations 5/31/2018 Riman Mandal, mandal.riman@gmail.com 21
  • 22. Component Example 5/31/2018 Riman Mandal, mandal.riman@gmail.com 22 TimerC BlinkC Timer module BlinkC { uses interface Timer<TMilli> as Timer0 provide interface xxxx} implementation { int c; void increment() {c++;} event void Timer0.fired() { call Leds.led0Toggle(); } } configuration BlinkAppC { } implementation { components MainC, BlinkC, LedsC; components new TimerMilliC() as Timer0; BlinkC.Timer0 -> Timer0; BlinkC -> MainC.Boot; BlinkC.Leds -> LedsC; }
  • 23. Singletons and Generics 5/31/2018 Riman Mandal, mandal.riman@gmail.com 23 ■ Singleton components are unique: they exist in a global namespace ■ Generics are instantiated: each instantiation is a new, independent copy configuration BlinkC { … } implementation { components new TimerC(); components BlinkC; BlinkC.Timer -> TimerC; }
  • 24. Component Syntax - Module 5/31/2018 Riman Mandal, mandal.riman@gmail.com 24 ■ A component specifies a set of interfaces by which it is connected to other components – provides a set of interfaces to others – uses a set of interfaces provided by others module ForwarderM { provides { interface StdControl; } uses { interface StdControl as CommControl; interface ReceiveMsg; interface SendMsg; interface Leds; } } implementation { …// code implementing all provided commands and used events } ForwarderM StdControl ReceiveMsg provides uses CommControl SendMsg Leds
  • 25. Component Syntax - Configuration 5/31/2018 Riman Mandal, mandal.riman@gmail.com 25 configuration Forwarder { } implementation { components Main, LedsC; components GenericComm as Comm; components ForwarderM; Main.StdControl -> ForwarderM.StdControl; ForwarderM.CommControl -> Comm; ForwarderM.SendMsg -> Comm.SendMsg[AM_INTMSG]; ForwarderM.ReceiveMsg -> Comm.ReceiveMsg[AM_INTMSG]; ForwarderM.Leds -> LedsC; } Component Selection Wiring the Components together ForwarderM StdControl ReceiveMsg provides uses CommControl SendMsg Leds Main StdControl LedsC Leds GenericComm SendMsg ReceiveMsg StdControl Forwarder
  • 26. Interface 5/31/2018 Riman Mandal, mandal.riman@gmail.com 26 ■ Collections of related functions ■ Define how components connect ■ Interfaces are bi-directional: for A->B – Commands are from A to B – Events are from B to A ■ Can have parameters (types) interface Timer<tag> { command void startOneShot(uint32_t period); command void startPeriodic(uint32_t period); event void fired(); }
  • 27. Interface (provide and use) 5/31/2018 Riman Mandal, mandal.riman@gmail.com 27 User Provider Interface Commands Events Module BlinkC { use interface xxxx; provide interface xxxxxxx; ......... }
  • 28. Interface (provide and use) (Cont.) ■ A component provides and uses interfaces. ■ A interface defines a logically related set of commands and events. ■ Components implement the events they use and the commands they provide: 5/31/2018 Riman Mandal, mandal.riman@gmail.com 28 Component Commands Events Use Can call Must implement Provide Must implement Can signal
  • 29. Terminal Commands related to TinyOS ■ system modifications – sudo chmod –R 777 /bin – sudo chmod –R 777 /dev ■ applications directory – /opt/tinyos-2.1.1/apps/ ■ making hex image for iris mote without sensor board – make iris ■ making hex image for iris mote with sensor board – SENSORBOARD=mda100 make iris ■ burning hex image into iris mote – make <mote> install.moteid burnerid,/dev/tty<serialport> – EX. make iris install.0 mib520,/dev/ttyUSB0 – EX. make iris reinstall.0 mib520,/dev/ttyUSB0 ■ burning hex image into iris mote with sensor board ■ SENSORBOARD=mda100 make iris reinstall.0 mib520,/dev/ttyUSB0 5/31/2018 Riman Mandal, mandal.riman@gmail.com 29
  • 30. Power Up Testing Programing ■ Try to build a tinyOS app that turn on the Red Led on Power up. 5/31/2018 Riman Mandal, mandal.riman@gmail.com 30 PowerUpC uses Boot Leds MainC Boot LedsC Leds
  • 31. Code 5/31/2018 Riman Mandal, mandal.riman@gmail.com 31 configuration PowerupAppC{} implementation { components MainC, PowerupC, LedsC; MainC.Boot <- PowerupC.Boot; PowerupC.Leds -> LedsC.Leds; } module PowerupC @safe() { uses interface Boot; uses interface Leds; } implementation { event void Boot.booted() { call Leds.led0On(); } }
  • 32. Blink App Using Timer<TMilli> C ■ The Red light will blink continuously with a time interval 5/31/2018 Riman Mandal, mandal.riman@gmail.com 32 BlinkC uses Boot Leds MainC Boot LedsC
  • 33. Using Printf Component ■ Include printf.h header file in the module file ■ Use Printf method to print anything on terminal ■ Add Component PrintfC in the Component File ■ Use the following command to print on the terminal – java net.tinyos.tools.PrintfClient -comm serial@/dev/ttyUSB1:iris 5/31/2018 Riman Mandal, mandal.riman@gmail.com 33 java net.tinyos.tools.PrintfClient -comm serial@/dev/ttyUSBXXX:telosb