Chapter 3 MobileEmbedded Devices and Tools - PowerPoint PPT Presentation

1 / 55
About This Presentation
Title:

Chapter 3 MobileEmbedded Devices and Tools

Description:

MOTES (Sensors) Two Board Sandwich. CPU/Radio board. Sensor Board: temperature, light ... Mote: 3-65 days. Pocket PC: 8 hrs. Cost. Mote: $100 (expected to drop ... – PowerPoint PPT presentation

Number of Views:123
Avg rating:3.0/5.0
Slides: 56
Provided by: CIT788
Category:

less

Transcript and Presenter's Notes

Title: Chapter 3 MobileEmbedded Devices and Tools


1
Chapter 3Mobile/Embedded Devices and Tools
  • Limitations of Mobile/Embedded Devices
  • Principles of Object Identifiers and RFID
  • Highlights of J2ME for Mobile Applications
  • Sensors and Programming in TinyOS

2
  • Limitations of Mobile/Embedded Devices
  • and
  • Design of Pervasive Computing Systems

3
Pervasive Devices and Tools
  • Pervasive Devices (more than mobile devices)
  • User devices (i.e., mobile devices and
    electronics) to access to different types of
    (real-time) information
  • Sensor (embedded) devices for capturing real-time
    environmental data
  • New tools and operation environment for pervasive
    devices
  • Integration with other computing systems and
    devices
  • Limitations of the devices gt the current tools
    for system development and operation may not be
    suitable (requiring a powerful CPU and large
    memory) gt reduced versions
  • To meet the proactive and smart requirements
  • I.e., New techniques are needed in job
    processing, i.e., pushing model, real-time
    scheduling and localized processing
  • The techniques need to fit into the limitations
    imposed by the devices and operating environment

4
From Old to New
  • How to migrate from Old computing systems to
    New (pervasive) computing systems?
  • Modify the current one OR build a new one
  • Devices are easier to have new, BUT, systems
    (i.e., network and operating systems) are NOT
  • OR Both gt until the technologies become mature
  • I.e., Using the mobile network as an example to
    see the problem
  • Support data transmission services over the 2G
    mobile network. How?
  • The mobile network is initially designed for
    voice communication
  • WAP and GPRS for data transmission in 2G network
  • In addition of 2G, we also have 3G network at the
    same time
  • What will be the future? 4G WiFi??

5
Limitations of Mobile/Embedded Devices
  • Need to know the limitations of the
    mobile/embedded devices in building pervasive
    computing systems. Why?
  • They affect the operations and design of the
    systems. How?
  • Consider two simple applications (1) Queries to
    (continuously) monitor the highest temperature of
    the class room and (2) a real-time news
    reporting system for car drivers
  • What are the similarity and differences between
    the two applications?
  • (1) is a surveillance application (rule events
    -gt action) (2) is a reporting system pushing
    news for reading
  • Updates/news reports are generated continuously
    from sensors/agents
  • Update generation period? Processing cost, memory
    cost, energy cost and network transmission cost
  • (1) Local processing to filter out updates. (2)
    unconditional mostly

6
How do they affect the operations and design of
the systems?
  • Mobile computers are resource poor
  • Reduce program size interpret script languages
    (mobile Java?)
  • Specific codes (i.e., machine codes) for specific
    hardware
  • Any data aggregation (from low-level to
    higher-level)?
  • Where to put the database? Front-end or backend.
    Any caching/pre-caching? When/what to
    pre-caching? Caching unused data wastes resource.
    Real-time data will become totally useless if
    they are too old. What are real-time data? How
    to maintain (refresh) the cached data? Cache size
    is usually limited
  • When to load data (i.e., maps) and programs into
    a mobile device for execution? Pre-load or
    on-demand?
  • Adaptation to network and display
  • Any trans-coding of the contents before
    transmission/displaying them in the client
    devices
  • The front-end may perform some pre-processing,
    i.e., input validation, to reduce communication
    overheads

7
How do they affect the operations and design of
the systems?
  • Energy saving, how? What is the biggest factor
    affecting the rate of energy consumption?
  • Transmit/receive, disk spinning, display, CPUs,
    connection
  • Need energy efficient hardware (CPUs and memory)
    and system software to manage the resources
  • Planned disconnection doze mode of operations
  • Communication range Vs power consumption
  • Where to perform the computation? Distributed Vs.
    centralized
  • Computation and communication load cannot be
    distributed equally
  • Processing at front-end minimize the data
    transmission workload
  • Processing at backend relieves the limitations
    of the front-end hardware
  • Multi-levels in processing gt multi-levels of
    divisions
  • How to divide the tasks into sub-tasks for
    execution at the mobile devices and powerful
    servers?

8
  • Pervasive Computing Devices
  • Mobile Devices and
  • Sensor/Embedded Devices
  • Their properties and limitations

9
Mobile User Devices
  • Mainly for reading and storing information/data
  • Various intelligent electronic devices, i.e.,
    camera, MP3, games
  • PDA (Personal Digital Assistant) and smart phones
  • Pocket PCs, tablet PCs and notebooks
  • How do you feel about the operations/functions of
    these devices? Easy of operation, quality of
    outputCan be improved
  • Limitations of mobile user devices
  • High variation in processing capability and
    interface, i.e., display screen sizes and
    resolutions
  • Hard disk or diskless and limitations in memory
    sizes
  • Wireless/fixed connection to networks, i.e. using
    infra red or radio signals (limited bandwidth and
    unstable performance)
  • Why do they have these properties? Development is
    step by step and driven by customer marketThe
    future will be better???
  • Separated and closed systems. Needs to work with
    back-end (middleware) servers to provide better
    services. But network is

10
Sensor and Embedded Devices
  • Sensors for capturing/monitoring the status of
    environment
  • I.e., light intensity, pressure, velocity and
    position
  • Note radio receivers and video camera are
    sensors???
  • What is a sensor? Capturing a physical property
    of the environment
  • Why do we use sensors? Robust can operate in
    harsh environment for a long period of time
    non-stop, and also, small in size, cheap in
    price, large in number
  • Limitations processing power, energy, memory,
    connection, bandwidth (mostly connected by
    wireless LAN or ad hoc network)
  • They may be embedded into other devices and
    electronics to make them to be smart, i.e., smart
    home and intelligent navigator
  • Simple and limited interface (control panel)
    mainly for displaying texts to show the current
    operation status and for command input by users
  • CPU memory gt programmable and functionalities
    can be adjusted and enhanced
  • Networking capability gt cooperative to provide
    smart services
  • Energy saving operations (doze mode) and event
    driven processing

11
MOTES (Sensors)
  • Two Board Sandwich
  • CPU/Radio board
  • Sensor Board temperature, light
  • Size
  • Mote 1?1 inch
  • Pocket PC 5.2?3.1 inch
  • CPU
  • Mote 4 MHz, 8 bit
  • Pocket PC 133 MHz, 32 bit
  • Memory
  • Mote 512 B RAM 8K ROM
  • Pocket PC 32 MB RAM 16 MB ROM
  • Radio
  • 900 Hz, 19.2 kbps
  • Bluetooth 433.8 kbps (symmetric)
  • Lifetime (Power)
  • Mote 3-65 days
  • Pocket PC 8 hrs
  • Cost
  • Mote 100 (expected to drop dramatically in the
    future, down to 1)
  • Pocket PC 400
  • http//www.xbow.com/Products/Product_pdf_files/Wir
    eless_pdf/MICA.pdf

12
Object Identifiers
  • A unique identifier to label an attached object
    or a category of objects, i.e., HKID, ISBN and
    telephone number
  • Bar code (a series of strips) simple, cheap and
    small
  • Two-dimension bar code
  • Data are encoded in both the horizontal and
    vertical dimensions
  • As more data is encoded (i.e., using matrix or
    stacked algorithms), the size of data included
    can be increased in both the horizontal and
    vertical directions
  • More durable and robust and reliable (comparing
    with bar code)
  • Smart cards
  • More expensive and embedded processing units with
    memory
  • I.e., SIM cards for labeling a mobile phone and
    electronic ID for security control
  • Radio frequency identifier (RFID) a unique
    identifier using encoded radio signals. A reader
    reads radio frequencies generated from a tag to
    identify the presence of the object
  • What is the difference between smart card and
    RFID? Octopus is a smart card or an RFID?

13
Making Use of Object Identifiers
  • Locating and positioning (Context-aware services)
  • Tracking the current location of mobile objects
  • Providing location-dependent services (different
    services are provided for objects at different
    locations, i.e., at home, in the office or
    school)
  • Load and resource management (workload depends on
    object density), i.e., channels management in
    cellular networks
  • Proactive services (Context-aware and proactive
    services)
  • Tracking the locations as a function of time, we
    can summary the movement behavior of the objects
  • Based on the movement behavior, the system can
    make some prediction for proactive services .
  • Counting
  • Inventory control and cashier check-out
  • Authentication
  • Unique ID for security control and authentication

14
RFID Technologies
  • Types
  • Active and passive RFIDs
  • Locator active tags (adding multiple base
    stations for positioning)
  • Battery-assisted passive tags
  • Energy source Passion Vs. active RFIDs
  • Passive RFID
  • It consists an antenna, a semi-conductor chip and
    the encapsulation
  • The antenna captures energy from the tag reader
    to transfers the tags ID to the tag reader
  • Active RFID
  • It has a power source and more powerful
  • It can operate up to 100m from the tag reader
    (range depends on power supply)
  • It includes a processor and a memory to store
    data
  • The life-span depends on the power supply
  • Read-only and read/write tags

15
RFID Technologies
  • Passive RFID using Near-field
  • A tag reader passes a large alternating current
    through a coil resulting in an alternating
    magnetic field in its locality
  • A tag that incorporates a small coil in this
    field generates an alternating voltage due to
    induction
  • The voltage is rectified and coupled to a
    capacitor
  • A reservoir of charge accumulates to power the
    tag chip
  • The tag sends data (including its pre-assigned
    ID) back to the reader using load modulation
  • Any current drawn from the tag coil will give
    rise to its own small magnetic field which will
    oppose the readers field
  • The reader coil detects the change in magnetic
    field as a small change in current which is
    proportional to the load applied to the tags
    coil
  • The energy for induction decreases as a function
    of distance from the reader coil, 1/r3
  • The power from the reader has to be strong while
    the power from the tag is usually weak. This
    limits the scope of detecting the tag (5m)

16
RFID Technologies
  • Locator active tags
  • A special category of active tag (Real Time
    Locating System)
  • For positioning instead of just detecting the
    presence of an object
  • The RTLS tags are provisioned to emit a strong
    Beacon signal periodically
  • The signal is used by the RTLS infrastructure
    consisting of locator base stations to locate the
    physical location of the tag (similar to
    positioning using in GPS), i.e., by
    triangulation. How to draw a triangle?
  • Battery-assisted tags
  • A tradeoff between passive and active tags
  • Active tags are expensive but passive tags are
    too limited
  • A passive tag with a battery but it is not for
    powering the tag for signal transmission
  • The battery is mainly to support recording input
    sent to the tag for processing

17
RFID Technologies
  • Read only Vs. read/write tags
  • Many passive tags are read-only due to the
    limited power supply and processing power
  • The tags unique ID was created and burned into
    the tags IC by the manufacturer. It usually
    cannot be changed
  • The primary function of a tag is then to respond
    the signals from the reader by generating signals
    (load modulation) to represent its unique ID to
    the tag reader
  • Read/write tags
  • In addition to the ID, it contains memory (i.e.
    128k) for storing other data in processing. Thus,
    better processing capability but require higher
    power supply for processing
  • I.e., Tracking the processing history of a tag
    and recording the operator ID into the tag

18
RFID Processing Models Problems
  • When and where to collect the detected RFID?
  • Passive tags
  • A tag is identified when it comes close (less 1m)
    to the reader
  • The reader collects the tag information (ID) and
    sends to the event servers immediately with its
    ID as a transaction (a lot of update transactions
    to the event server)
  • Batching the collected data and send transactions
    periodically???

Tag reader
updates
Passive tags
Applications
Detection range
19
RFID Processing Models Problems
  • Active tags
  • A tag is identified when it is within the
    detection range of the tag reader. The range may
    be quite large. How to ensure that it is within
    the target region and moving in the right
    direction? Using an excitor
  • An excitor emits highly range-restricted and
    severely directional-controlled signal (limiting
    the range)
  • A tag may be identified multiple times. How to
    eliminate double reading? Updating the tag to
    storage the reading information

Tag reader
Detection range
20
RFID Advantages, Limitations Applications
  • Advantages
  • Small and low cost (more expensive comparing with
    bar codes)
  • Can operate without any direct energy supply
    (passive tags)
  • Fast, easy for identification and reliable in
    accuracy
  • Limitations
  • Although cheap but still cannot be totally
    ignored gt cannot be used as a disposable
    electronic ticket for large population
  • It is still difficult to determine the exact
    location with a high precision gt mainly for
    determining the presence of object within an area
  • Needs to combine with other technologies for
    positioning
  • In general, applications of RFID can be used for
    identification, localization and monitoring of
    physical objects, i.e., tracking of materials,
    i.e., in the airport, inventory control and
    library. Any more??? Many

21
Comparison of Bar Code RFID
22
Applications of RFID in Frankfort Airport
  • Mobile applications for asset maintenance, i.e.,
    checking of fire shutters
  • To protect against fire, the airports
    air-conditioning and ventilation system has
    22,000 fire shutters and numerous fire doors and
    smoke detectors. They are required to be examined
    at least once a year
  • Manual paper-based process generation of paper
    exam list gt examine the fire shutters by
    technicians gt generation of exam report (error
    prone, time-consuming, inefficient, heavy
    maintenance costs of the reports, i.e., storage
    problems, retrieval/access difficulties)
  • Replacing the paper-based process with mobile and
    RFID technologies
  • All fire shutters are installed with RFID tags
    that stored maintenance information and an unique
    ID
  • All technicians carry an RFID tag for
    authentication and a tag reader
  • Using the tag reader, a technician can identify
    the tag and the fire shutter for maintenance.
    Defect can be registered using comprehensive
    damage codes

23
  • Operating Systems and Tools
  • Reduced Versions for
  • Transition from OLD to NEW

24
Operating and Development Environment for Mobile
User Devices
  • PocketPC? Mobile phones? Smart phones? What are
    the differences?
  • General purposes Vs. specific purposes
  • Windows Embedded CE (WinCE)
  • A specific operating system and development
    environment for limited processing power devices,
    mostly mobile devices
  • It has a similar interface as other Microsoft
    operating systems but its development is totally
    different (not a reduced version)
  • It is specially designed for limited devices gt
    reliable performance???
  • Not a real-time operating system (real-time OS
    requires predictable performance)
  • http//www.microsoft.com/windows/embedded/eval/win
    ce/default.mspx
  • Symbian OS a platform for wireless devices
    developed by Symbian consortium for 2G, 2.5G and
    3G data enabled mobile phones/PDA
    (www.symbian.com)

25
What is J2ME?
  • NEITHER a specific piece of software /
    specification
  • A collection of Java classes, interfaces
    dedicated to small, mobile devices

http//java.sun.com/j2me/docs/index.html
26
J2ME System Model
  • J2ME framework is divided into Configurations and
    Profiles

http//java.sun.com/j2me/docs/index.html
27
Scope of J2ME
  • J2ME defines
  • A series of Java virtual machines each for use on
    different types of small devices
  • A group of libraries and APIs that can be run
    under each of the virtual machines
  • Various tools for deployment and device
    configuration
  • Configuration
  • Mobile devices have different capabilities
    (limitations). J2ME defines configurations for a
    horizontal grouping of devices based on
    availability of memory and processing power of
    the devices
  • Profiles
  • Defines a set of APIs that reside on top of a
    configuration that offers the program access to
    device-specific capabilities

28
Scope of J2ME
http//java.sun.com/j2me/docs/index.html
  • MIDP (mobile information device profile) is
    designed to be used with the configuration
    (CLDC), and provides a set of APIs for use by
    limited resources devices, i.e., mobile phones

29
J2ME System Model Configurations
  • Designed for a specific kind of device based on
    memory constraints and processor power (i.e.
    defines a minimum Java platform for a family of
    devices)
  • Usually specifies a JVM that can be easily ported
    to devices supporting the configuration (called
    KVM)
  • Specifies the characteristics and features of
    virtual machine present, minimum Java libraries
    that are supported and minimum set of features
    for a category of devices
  • Major Configurations in current specification
    include
  • Connected Device Configuration (CDC)
  • Connected, Limited Device Configuration (CLDC)

30
Connected Device Configuration (CDC)
  • Device requirements A connected device (CD) has
    a minimum 512KB of ROM, 256KB of RAM, 32-bit
    processors, and some network connection with
    limited bandwidth
  • CDC is designed for "more powerful" wireless
    devices like TV set-top boxes, car navigation
    systems, and high-end PDAs.
  • CDC specifies that a full-featured Java Virtual
    Machine (JVM) (defined in J2EE) is supported

31
Connected, Limited Device Configuration (CLDC)
  • Covers mobile devices like mobile phones, PDAs,
    pagers, and other "tiny" wireless devices
  • For smaller devices than CDC, with limited
    capacity and network connection (e.g., lt 9.6Kbps
    for mobile phones)
  • For devices with 160KB to 512 KB of memory
    available for Java platform
  • For devices with limited power supply
  • Built on "scale-down" version of JVM called KVM
    (Sun 'K Virtual Machine, with size in tens of
    kilobytes, rather than JVM with tens of megabytes)

32
MIDP Requirements
  • MIDP (mobile information device profile) is
    designed to be used with the configuration
    (CLDC), and provides a set of APIs for use by
    limited resources devices, i.e., mobile phones
  • A Mobile Information Device (MID) has the
    following characteristics
  • 128KB of non-volatile memory for MIDP
    implementation
  • 32KB of volatile memory for runtime heap
  • 8KB of non-volatile memory for persistent data
  • A screen of a least 96 x 54 pixels
  • Some capacity for input, either by keypad,
    keyboard, or touch screen
  • Two-way network connection, possible intermittent
  • Detail information about MIDP (Mobile Information
    Device Profile) can be found in
    http//java.sun.com/products/midp/

33
MIDlets
  • MIDP enables application development with mobile,
    wireless-connected devices like cellular phones
    and two-way pagers
  • MIDlets
  • Small applications that run under the MIDP are
    called MIDlets
  • A MIDlet is a Java application that uses the MIDP
    and the CLDC
  • In a mobile phone, application management
    software (AMS) controls start, stop and execute
    MIDlet (controls the entire lifecycle)

34
  • Sensor and TinyOS for Event Control and
    Monitoring
  • Event Driven and Concurrent Components
  • Real-time Applications

35
Sensor Nodes and TinyOS Programming
  • A sensor node consists of two main components
  • Sensing unit Light, sound, velocity,
    temperature, etc
  • Processing unit
  • Usually has with limited processing power, energy
    supply, communication and memory capability
  • Operating system (TinyOS) application programs
    (i.e., in nesC)
  • Example sensor nodes Mica Motes developed in UC
    Berkeley and manufactured by www.xbow.com
  • Characteristics and requirements
  • Very small in size and cheap, and can be deployed
    in large number
  • Energy saving and can operation for a long period
    of time non-stop
  • Continuous monitoring of the surrounding
    environment and generation of sensor data (stream
    data)
  • Automatically form a wireless sensor network
    (WSN) with other nodes (communication range from
    a few m to km with an antenna). An example of
    mobile ad hoc network (MANET)
  • Robust and reliable (can work in harsh
    environment)

36
Mote Evaluation
Services
Networking
TinyOS
www.xbow.com
37
Mote Applications
  • Example application areas
  • Object tracking and intrusion detection
  • Environment and habitat monitoring, many others
  • Basic components
  • A number of sensor nodes
  • Base stations
  • Gateway/Server
  • Networks
  • Fixed/wireless network connecting the base
    stations/servers to the gateway
  • Wireless sensor network connecting the sensor
    nodes to the gateways
  • http//www.xbow.com/Products/Product_pdf_files/Wir
    eless_pdf/MSP410_Datasheet.pdf

38
Wired Network
Server
MANET
Base Station
WLAN WWAN
Wireless Sensor Networks
Ad hoc network
Queries
Gateway
Local processing to minimize the responses to
events and transmission workload through the
networks
Results
Applications
39
Basic Operations of Mote
  • Periodic
  • Sleep majority of the time
  • Wakeup quickly start processing
  • Active minimize work return to sleep
  • Triggered Events
  • Detection/Notification
  • Infrequently occurs
  • But must be reported quickly and reliably
  • Long Lifetime
  • Months to years without changing batteries
  • Power management is the key to WSN success
  • Sleep isolating and shutting down individual
    circuits
  • Using low power hardware

processing data acquisition communication
active
Power
wakeup
sleep
Time
www.xbow.com
40
TinyOS Programming in Mica Motes
  • TinyOS is the operating system designed
    specifically for sensor devices, i.e., mica motes
  • It is a tiny (less than 400bytes), open-source
    operating system developed by UC Berkeley
  • It includes functions for radio messaging,
    scheduling, message hopping from mote to mote,
    low power (energy saving) mode of operation and
    sensor measurements and signal processing
  • It is NOT a true OS. It builds from a set of
    reusable components together with application
    into an application-specific executable
  • http//webs.cs.berkeley.edu/tos/download.html1.1.
    0
  • Design goals
  • Limited resources 1-MIP processor and tens
    kilobytes storage
  • Flexibility for variations in hardware
    (different capabilities)
  • Low power energy saving operations. How? Doze
    mode of operations
  • Efficient modularity minimize the size of
    executable codes

41
Design goals
  • Concurrency-intensive operations
  • Multiple, high-rate data flows (radio, sensor,
    actuator)
  • Component-based concurrency models for handling
    multiple events
  • Concurrent events processing, receive input and
    communication
  • Real-time responses
  • Real-time query and feedback control of physical
    world (monitoring and surveillance purposes)
  • TinyOS must process bit every 100 µs
  • Little memory for buffering data must be
    processed on the fly
  • TinyOS No buffering, missed deadline ? lost data
  • But, TinyOS provides NO real-time guarantees
    (completion before a deadline). Why? How to
    provide real-time responses? Fast Real-time
    scheduling

42
TinyOS Overview
  • A set of reusable system components together with
    a scheduler
  • Application main components
  • Compiled into one executable (unused components
    are not included, size may be just 1KB)
  • Event-driven architecture (event-based
    concurrency model)
  • No kernel/user space differentiation

Assembled into a single executable as binary
codes for execution by the hardware
Main (configuration modules)
scheduler
Applications (configuration modules)
download
actuating
sensing
communication
sensor
hardware
43
Programming in Mica Mote
  • Applications are developed in nesC for TinyOS
  • nesC is a C-like procedure language and can
    support event-based concurrency models and
    component based applications
  • Why concurrency model? To respond to concurrent
    events
  • Why components? reusable
  • Concurrency model tasks and hardware event
    handlers
  • An event-based concurrency model consists of
    run-to-completion tasks and interrupt handlers
  • Task
  • Once scheduled, runs to completion
  • Hardware event handlers
  • Hardware event handlers are executed in response
    to a hardware interrupts
  • Run to completion, may preempt execution of
    functions/tasks or other event handlers
  • Split phase operation a command starts the
    operation immediately, and a callback event
    indicates when the operation completes

44
Hardware interrupt
FIFO scheduling
Tasks Once started cannot be preempted by another
task but can be preempted by interrupts
scheduler
Concurrent events handling
The scheduler uses a non-preemptive, FIFO
scheduling
45
Command sense()
AppM (User)
TempM (Provider)
Event senseDone (value)
Split-phase operation
Provider must implement the sense command, which
represents a request to read a sensor User must
implement the senseDone which the provider
signals when the sensor read completes
46
Components and Concurrency Model
  • A nesC application consists of one or more
    components linked to form an executable
  • A component is an computational entity consisting
    of three abstractions commands, events and tasks
  • A component provides and uses interfaces from
    other components
  • An interface declares a set of functions called
    commands implemented by the interface provider
    and a set of events implemented by the interface
    user
  • A command is a request to a component to perform
    some service, i.e., a sensor reading, while an
    event signals the completion of the service,
    split phase operation
  • Commands and event handlers may post a task to be
    executed by the scheduler at a later time

47
Components and Concurrency Model
  • Two types of components modules and
    configurations
  • A module provides application code, implementing
    one or more interfaces
  • Configurations are used to assemble other
    components together, connecting interfaces used
    by components to interfaces provided by others
    (wiring)
  • Every nesC application is described by a
    top-level configuration that wires together the
    components inside
  • All hardware resources are abstracted as
    components, i.e., calling getData() command on a
    sensor component will cause it to later signal a
    dataReady() event when the hardware interrupt
    fires

48
Life Cycle of a Sensor Program
  • Main is a component that is executed first in a
    TinyOS application
  • All the sensor programs need to connect with Main
    Program
  • init() can be called multiple times, but will
    never be called after either start() or stop are
    called
  • It is an event driven model. You need to specify
    what to do when an event arrives

Main.StdControl.init()
Main.StdControl.start()
Main.StdControl.stop()
49
Example Blink
  • Blink causes the red LED on the mote to turn on
    and off at 1Hz
  • Blink application is composed of two components
    a module, called BlinkM.nc and a configuration
    called Blink.nc
  • Blink.nc configuration Blink implementation
      components Main, BlinkM, SingleTimer,
    LedsC  Main.StdControl -gt BlinkM.StdControl 
    Main.StdControl -gt SingleTimer.StdControl 
    BlinkM.Timer -gt SingleTimer.Timer  BlinkM.Leds
    -gt LedsC

User
Connect the Blink Program to Main program
Provider
50
(No Transcript)
51
Example Blink
  • BlinkM.nc module BlinkM   provides    
    interface StdControl    uses     interface
    Timer    interface Leds  // Continued
    below...

Used by Main
Blink Program uses the component Timer and Leds
52
  • implementation command result_t
    StdControl.init()     call Leds.init()   
    return SUCCESS    command result_t
    StdControl.start()     return call
    Timer.start(TIMER_REPEAT, 1000)     command
    result_t StdControl.stop()     return call
    Timer.stop()  event result_t
    Timer.fired()      call Leds.redToggle()   
    return SUCCESS 

Executed by Main program, as it is connected with
Main.stdControl.init() Main.stdControl.start() Mai
n.stdControl.stop()

Handle the event Timer.fried() i.e. to blink the
red led
53
  • StdControl.nc interface StdControl   command
    result_t init()  command result_t start() 
    command result_t stop()
  • Timer.nc interface Timer   command result_t
    start(char type, uint32_t interval)  command
    result_t stop()  event result_t fired()

54
The Future of Sensors
  • Further smaller in size
  • Larger in number
  • Cheaper in price
  • Fixed and mobile
  • Greater in capability
  • Better connectivity
  • More tools for development and debugging
  • Better real-time supports and scheduling
  • BUT, energy is still a concern

55
References
  • RFID
  • Tom Polizzi, RFID in the Enterprise, pp. 4-13,
    pp.42-55.
  • Christine Legner and Frederic Thiesse,
    RFID-Based Maintenance at Frankfurt Airport,
    Pervasive Computing, Jan-Mar 2006, pp. 34-39.
  • Sensors
  • www.xbow.com
  • www.tinyos.net
  • http//www.tinyos.net/tinyos-1.x/doc/tutorial/less
    on1.html
  • http//www.xbow.com/Products/Product_pdf_files/Wir
    eless_pdf/MICA.pdf
Write a Comment
User Comments (0)
About PowerShow.com