1 Wireless Sensor Network Wireless Sensor Network ผศ ผศ . . ณัฐ ณัฐ วุฒิ วุฒิ ขวัญแกว ขวัญแกว หองปฏิบัติการวิจัยเชิงประยุกตระบบสื่อสารและสมองกลฝงตัว หองปฏิบัติการวิจัยเชิงประยุกตระบบสื่อสารและสมองกลฝงตัว [CARSAREA : C [CARSAREA : C ommunication ommunication A A nd nd E E mbedded mbedded S S ystems ystems A A pplication pplication Re Re search L search L a a b.] b.] ภาควิชาวิศวกรรมไฟฟา ภาควิชาวิศวกรรมไฟฟา คณะวิศวกรรมศาสตร คณะวิศวกรรมศาสตร มหาวิทยาลัยเกษตรศาสตร มหาวิทยาลัยเกษตรศาสตร
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
It consists of a set of small devices with It consists of a set of small devices with sensingsensing and and wireless communicationwireless communication capabilitiescapabilitiesThose small devices are named Those small devices are named sensor nodessensor nodes, and are , and are deployed within a special area to monitor a physical deployed within a special area to monitor a physical phenomenon. phenomenon. MultifunctionalMultifunctional
Depends on what sensors are attachedDepends on what sensors are attached
FeaturesFeaturesWidely deployed. (100~1MWidely deployed. (100~1M↑↑))Low communication bandwidthLow communication bandwidthLimited memory space and computation powerLimited memory space and computation power
ShortShort--range broadcast communication and range broadcast communication and multihopmultihop routingrouting
Dense deployment and cooperative effort of sensor nodesDense deployment and cooperative effort of sensor nodes
Frequently changing topology due to fading and node failuresFrequently changing topology due to fading and node failures
Limitations in energy, transmit power, memory, and Limitations in energy, transmit power, memory, and computing powercomputing power
5
ApplicationsApplications
General EngineeringGeneral Engineering
Agriculture and Environmental MonitoringAgriculture and Environmental Monitoring
Civil EngineeringCivil Engineering
Military ApplicationMilitary Application
Health Monitoring and SurgeryHealth Monitoring and Surgery
6
GeneralGeneral EngineeringEngineering
Automotive Automotive telematicstelematicsFingertip accelerometer virtual keyboardsFingertip accelerometer virtual keyboardsSensing and maintenance in industrial plantsSensing and maintenance in industrial plantsAircraft drag reductionAircraft drag reductionSmart office spacesSmart office spacesTracking of goods in retail storesTracking of goods in retail storesSocial studiesSocial studiesCommercial and residential securityCommercial and residential security
Transport capacity/throughputTransport capacity/throughput
Power SupplyPower SupplyBattery, Capacitor, Solar CellBattery, Capacitor, Solar Cell
Design of EnergyDesign of Energy--Efficient ProtocolsEfficient ProtocolsClustering Clustering Broadcast and multicast treesBroadcast and multicast treesSleep modesSleep modes
Capacity/ThroughputCapacity/ThroughputExpected number of successful packet transmissions of a given noExpected number of successful packet transmissions of a given node per timeslotde per timeslot
RoutingRouting““many to onemany to one”” network network –– all node report to a single base stationall node report to a single base stationUpUp--toto--date, less effort given to routing protocolsdate, less effort given to routing protocolsMultihopMultihop communication and communication and QoSQoS routingroutingAd hoc routing protocols are not suited well for WSNAd hoc routing protocols are not suited well for WSN
Channel Access and SchedulingChannel Access and Scheduling
Aim at energy and delay balancingAim at energy and delay balancingMedium Access problem Medium Access problem –– minimum collisions and maximum spatial reuseminimum collisions and maximum spatial reuseNode Level Node Level -- Determines which flow will be eligible to transmit nextDetermines which flow will be eligible to transmit nextSystem Level System Level -- Determines which nodes will be transmittingDetermines which nodes will be transmitting
ModelingModelingNumber of nodes and relative distributionNumber of nodes and relative distributionDegree and type of mobilityDegree and type of mobilityCharacteristics of wireless linkCharacteristics of wireless linkVolume of traffic injected by the sourceVolume of traffic injected by the sourceLifespan of nodes interactionLifespan of nodes interactionDetailed energy consumption modelsDetailed energy consumption models
ConnectivityConnectivityCrucial for most application : Network is not partitioned into dCrucial for most application : Network is not partitioned into disjoints partsisjoints parts
Quality of Service (Quality of Service (QoSQoS))Capability of a network to deliver data reliably and timelyCapability of a network to deliver data reliably and timely
High High Quantity of ServiceQuantity of Service generally not sufficient to satisfy an applicationgenerally not sufficient to satisfy an application’’s delay s delay requirementrequirementSpeed of propagation of information may be as crucial as the thrSpeed of propagation of information may be as crucial as the throughputoughput
SecuritySecuritySensor nodes are not protected against physical mishandling or aSensor nodes are not protected against physical mishandling or attacksttacks
Eavesdropping, jamming and ListenEavesdropping, jamming and Listen--andand--retransmit attacks can hamper or prevent retransmit attacks can hamper or prevent the operationthe operation
ImplementationImplementationNodes must become an order of magnitude cheaper in order to rendNodes must become an order of magnitude cheaper in order to render applications er applications with a large number of nodes affordablewith a large number of nodes affordable
Other IssuesOther IssuesDistributed signal processingDistributed signal processingSynchronization and localizationSynchronization and localizationWireless reprogrammingWireless reprogramming
Motes are tiny, selfMotes are tiny, self--contained, battery powered computers with radio links, contained, battery powered computers with radio links, which enable them to communicate and exchange data with one anotwhich enable them to communicate and exchange data with one another, and to her, and to selfself--organize into ad hoc networksorganize into ad hoc networks
Motes form the building blocks of wireless sensor networksMotes form the building blocks of wireless sensor networks
TinyOS : componentTinyOS : component--based runtime environment, is designed to provide based runtime environment, is designed to provide support for these motes which require concurrency intensive opersupport for these motes which require concurrency intensive operations while ations while constrained by minimal hardware resourcesconstrained by minimal hardware resources
Monitoring temperature, humidity, barometric pressure and other environmental parameters.Low sampling rates, typically slower than 2 minutes per sensor measurement.Outdoor environmentsDeployment of sensors over several acres or moreBattery operation for at least one yearRemote logging of data and remote data access.
23
StargateStargate : WSN Gateway: WSN Gateway
Interfacing Sensor Networks to the InternetInterfacing Sensor Networks to the InternetIntel Intel XScaleXScale ProcessorProcessorCompact Flash , PCMIA, Compact Flash , PCMIA, EternetEternet , USB Host, USB HostLinux BasedLinux Based
24
XbowXbow Software ToolsSoftware Tools
XMeshXMesh: : TrueMeshTrueMesh, low, low--power, selfpower, self--forming reliable networking forming reliable networking stack that runs on each Mote stack that runs on each Mote
XServeXServe: : Server software manages data logging and forwarding Server software manages data logging and forwarding of Mote network data of Mote network data
MOTEMOTE--VIEWVIEW: : Client software for monitoring, visualization, Client software for monitoring, visualization, and network management softwareand network management software
25
Mote ViewMote View
Historical and RealHistorical and Real--Time ChartingTime ChartingTopology MapTopology MapNetwork VisualizationNetwork Visualization
26
Telos PlatformTelos Platform
Low PowerLow PowerMinimal port leakageMinimal port leakageHardware isolation and bufferingHardware isolation and buffering
High PerformanceHigh Performance10kB RAM, 1610kB RAM, 16--bit core, extensive double bufferingbit core, extensive double buffering1212--bit ADC and DAC (200ksamples/sec)bit ADC and DAC (200ksamples/sec)DMA transfers while CPU offDMA transfers while CPU off
27
TelosTelos : Design Principles: Design Principles
Wireless Sensor NetworksWireless Sensor NetworksMust operate for many yearsMust operate for many yearsNeed low duty cycles to achieve long lifetimesNeed low duty cycles to achieve long lifetimes
Key to Low Duty Cycle Operation:Key to Low Duty Cycle Operation:Sleep Sleep –– majority of the timemajority of the timeWakeup Wakeup –– quickly start processingquickly start processingActive Active –– minimize work & return to sleepminimize work & return to sleep
28
TelosTelos : Sleep: Sleep
Majority of time, node is asleepMajority of time, node is asleep>99%>99%
Minimize sleep current throughMinimize sleep current throughIsolating and shutting down individual circuitsIsolating and shutting down individual circuitsUsing low power hardware Using low power hardware
Need RAM retentionNeed RAM retention
Run auxiliary hardware components from low speed Run auxiliary hardware components from low speed oscillators (typically 32kHz)oscillators (typically 32kHz)
Perform ADC conversions, DMA transfers, and bus Perform ADC conversions, DMA transfers, and bus operations while microcontroller core is stoppedoperations while microcontroller core is stopped
Solar energy scavenging system for TelosSolar energy scavenging system for TelosSuper capacitors buffer energySuper capacitors buffer energyLithium rechargeable battery as a Lithium rechargeable battery as a emergencyemergency backupbackupPossible due to low voltage (1.8V) and low power (<15mW) consumpPossible due to low voltage (1.8V) and low power (<15mW) consumptiontion
Duty CycleDuty Cycle Light RequiredLight Required System LifetimeSystem Lifetime
1%1% 5 hrs / 1 mo5 hrs / 1 mo 43 years43 years
10%10% 5 hrs / 4 days5 hrs / 4 days 4 years4 years
100%100% 10 hrs / 1 day10 hrs / 1 day 1 year1 year
Sensor Network Operating SystemSensor Network Operating System
TinyOSTinyOSUniversity of California, BerkeleyUniversity of California, Berkeleywww.tinyos.netwww.tinyos.net
MANTISMANTISUniversity of Colorado at BoulderUniversity of Colorado at Boulderhttp://mantis.cs.colorado.edu/tikiwiki/tikihttp://mantis.cs.colorado.edu/tikiwiki/tiki--index.phpindex.php
CONTIKICONTIKIAdam Adam DunkelsDunkels , Swedish Institute of Computer Science, Swedish Institute of Computer Sciencehttp://http://www.sics.se/~adam/contikiwww.sics.se/~adam/contiki//
RealReal--time operating system for microcontrollerstime operating system for microcontrollersOpenOpen--source project at UC Berkeleysource project at UC BerkeleyKey Features:Key Features:
Developed for sensing applicationsDeveloped for sensing applicationsEmphasis on lowEmphasis on low--power: Idle & sleep modespower: Idle & sleep modesHighly modular architectureHighly modular architectureEfficient utilization of resourcesEfficient utilization of resources
Currently developed for Atmega & MSP430 Currently developed for Atmega & MSP430 microcontrollersmicrocontrollers
TinyOSTinyOS
35
System composed of concurrent FSM modulesSystem composed of concurrent FSM modulesSingle execution contextSingle execution context
Two level scheduling structureTwo level scheduling structurePreemptive scheduling of event handlersPreemptive scheduling of event handlersNonNon--preemptive FIFO scheduling of taskspreemptive FIFO scheduling of tasks
Compile time memory allocationCompile time memory allocationNesCNesC CompilerCompiler
Messaging Component
Internal StateInternal Tasks
Commands Events
TinyOSTinyOS : Characteristics: Characteristics
36
nesCnesC
the nesC model:the nesC model:interfaces:interfaces:
application:= graph application:= graph of componentsof components
Component A
Component B
ComponentD
Component C
Application
configurationconfiguration Component E
ComponentF
37
MantisMantis
MANTIS MANTIS ((MMultimodultimodAAll system for system for NNeTworkseTworks of of IInn--situ wireless situ wireless SSensors) provides a new multiensors) provides a new multi--threaded embedded operating threaded embedded operating system integrated with a generalsystem integrated with a general--purpose singlepurpose single--board hardware board hardware platform to enable flexible and rapid prototyping of wireless platform to enable flexible and rapid prototyping of wireless sensor networkssensor networks
the key design goals of MANTIS are the key design goals of MANTIS are ease of useease of use, i.e., a small learning curve that , i.e., a small learning curve that encourages novice programmers to rapidly encourages novice programmers to rapidly prototype sensor applicationsprototype sensor applicationsflexibilityflexibility such that expert researchers can such that expert researchers can continue to adapt and extend the continue to adapt and extend the hardware/software system to suit the needs hardware/software system to suit the needs of advanced researchof advanced research
MANTIS NymphMANTIS Nymph
38
ContikiContiki““a Lightweight and Flexible Operating System a Lightweight and Flexible Operating System
for Tiny Networked Sensors for Tiny Networked Sensors ””
Adam Dunkels, Bj¨orn Gr¨onvall, Thiemo VoigtSwedish Institute of Computer Science
39
ContikiContiki : Introduction: Introduction
Resource constrained devices – “mote class devices (2K/64K)“like a real OS”
EventEvent--based concurrency modelbased concurrency modelLightweight protoLightweight proto--threadsthreadsPrePre--emptive multithreading as a libraryemptive multithreading as a library
Loadable programs and servicesLoadable programs and servicesFlexible resource allocationFlexible resource allocationDynamic loading of serviceDynamic loading of serviceEnables field Enables field upgradabilityupgradability
Design emphasizes development and deployment issuesDesign emphasizes development and deployment issues
42
Event Driven and MultiEvent Driven and Multi--threadedthreadedEventEvent--driven kernel minimizes memory usedriven kernel minimizes memory use
Size capacity 1KSize capacity 1KProcesses post events to each otherProcesses post events to each other
EventEvent--driven programming modeldriven programming modelEverything programmed as stateEverything programmed as state--machinemachineNot flexibleNot flexibleNot suitable for long computationNot suitable for long computation
Threads are memory intensiveThreads are memory intensiveMultiMulti--threading as application librarythreading as application library
PreemptiblePreemptibleManaged by event handlerManaged by event handler
Event Driven VS MultiEvent Driven VS Multi--threadedthreaded
EventEvent--driven (driven (TinyOSTinyOS))Low context switching overhead, fits well for reactive Low context switching overhead, fits well for reactive systemssystemsNot suitable for e.g. long running computationNot suitable for e.g. long running computation
MultiMulti--threadedthreadedSuitable for long running computationSuitable for long running computationRequires more resources (stack)Requires more resources (stack)
TradeTrade--offsoffsPreemptionPreemptionSizeSize
44
ContikiContiki : Protocol Stack: Protocol Stack
UDP/IP for sensor dataTCP/IP for administrative functions
Connect sensor network directly to IP infrastructureAvoid proxies and middle boxes
Reliably address nodeFiled upgradableUpdate task listsDiagnostics and calibration
45
TCP/IP in Sensor NetworksTCP/IP in Sensor Networks
Advocate use of standard Internet protocols where possibleAdvocate use of standard Internet protocols where possiblePerceived disadvantagesPerceived disadvantages
EventEvent--based Kernelbased KernelMost programs run directly on top of the kernelMost programs run directly on top of the kernel
MultiMulti--threading implemented as a librarythreading implemented as a libraryThread only used if explicitly neededThread only used if explicitly needed
Long running computationLong running computationPreemption possiblePreemption possible
Responsive system with running computationsResponsive system with running computationsLoadable programsLoadable programs
RunRun--time relocation function and a binary format that contain relocatime relocation function and a binary format that contain relocation tion informationinformationLoader check sufficient memory spaceLoader check sufficient memory spaceLoader call initialization functionLoader call initialization function
Maintains overall network knowledge; most sophisticated of thethreetypes; most memory and computing power
Full Function Device (FFD)Carries full 802.15.4 functionality and all features specified by the standardAdditional memory, computing power make it ideal for a network router functionCould also be used in network edge devices where the network touches other networks or devices that are not IEEE 802.15.4 compliant
Reduced Function Device RFD)Carriers limited (as specified by the standard) functionality to control cost and complexityGeneral usage will be in network edge devices
65,536 network (client) nodes65,536 network (client) nodesOptimized for timingOptimized for timing--critical applicationscritical applications
Network join time: 30 ms (Network join time: 30 ms (typtyp))Sleeping slave changing to active: 15 ms (Sleeping slave changing to active: 15 ms (typtyp))Active slave channel access time: 15 ms (Active slave channel access time: 15 ms (typtyp))
Network coordinatorFull Function nodeReduced Function node
Communications flowVirtual links
67
Topology ModelsTopology Models
PAN coordinatorFull Function DeviceReduced Function Device
Star
Mesh
Cluster Tree
68
Topology & ApplicationTopology & Application
Star Networks (Personal Area Network)Star Networks (Personal Area Network)Home automationHome automationPC PeripheralsPC PeripheralsPersonal Health CarePersonal Health Care
PeerPeer--toto--Peer (ad hoc, self organizing & healing)Peer (ad hoc, self organizing & healing)Industrial control and monitoringIndustrial control and monitoringWireless Sensor NetworksWireless Sensor NetworksIntelligent AgricultureIntelligent Agriculture
69
Full function device (FFD)Full function device (FFD)Any topologyAny topologyNetwork coordinator capableNetwork coordinator capableTalks to any other deviceTalks to any other device
Reduced function device (RFD)Reduced function device (RFD)Limited to star topologyLimited to star topologyCannot become a network coordinatorCannot become a network coordinatorTalks only to a network coordinatorTalks only to a network coordinatorVery simple implementationVery simple implementation
Device ClassesDevice Classes
70
Traffic TypesTraffic Types
Periodic dataPeriodic dataApplication defined rate (e.g. sensors)Application defined rate (e.g. sensors)
Intermittent dataIntermittent dataApplication/external stimulus defined rate (e.g. light switch)Application/external stimulus defined rate (e.g. light switch)
Repetitive low latency dataRepetitive low latency dataAllocation of time slots (e.g. mouse)Allocation of time slots (e.g. mouse)
71
Comparison of complimentary protocolsComparison of complimentary protocols
Feature(s) IEEE 802.11b Bluetooth ZigBeePower Profile Hours Days YearsComplexity Very Complex Complex Simple
802.15.4/ZigBee more battery-effective at all beacon intervals
greater than 0.246s
At beacon interval ~1s, 15.4/ZigBee battery life 85
days
At beacon interval ~60s, 15.4/ZigBee battery life
approx 416 days
73
MicroChipMicroChip PICDEM Z Demonstration kit PICDEM Z Demonstration kit
Features:Features:ZigBeeZigBee software stack supporting RFD (Reduced software stack supporting RFD (Reduced Function Device), FFD (Full Function Device) and Function Device), FFD (Full Function Device) and Coordinator Coordinator PIC18LF4620 MCU featuring PIC18LF4620 MCU featuring nanoWattnanoWattTechnology, 64 KB Flash memory and robust Technology, 64 KB Flash memory and robust integrated peripherals integrated peripherals RF transceiver and antenna interface via daughter RF transceiver and antenna interface via daughter card for flexibility card for flexibility Supports 2.4 GHz frequency band via Supports 2.4 GHz frequency band via ChipconChipconCC2420 RF transceiver CC2420 RF transceiver Temperature sensor (Microchip TC77), Temperature sensor (Microchip TC77), LEDsLEDs and and button switches to support demonstrationbutton switches to support demonstration
Package ContentsPackage ContentsTwo PICDEM Z demonstration boards each with Two PICDEM Z demonstration boards each with an RF transceiver daughter card an RF transceiver daughter card ZigBeeZigBee protocol stack source code (on CD ROM)protocol stack source code (on CD ROM)
74
Motorola/Motorola/FreeScaleFreeScale 13192DSK13192DSKTwo 2.4 GHz wireless nodes compatible Two 2.4 GHz wireless nodes compatible with the IEEE 802.15.4 standard with the IEEE 802.15.4 standard
MC13192MC13192 2.4 GHz RF data modem 2.4 GHz RF data modem MC9S08GT60MC9S08GT60 lowlow--voltage, lowvoltage, low--power 8power 8--bit bit MCU for MCU for basebandbaseband operations operations IntegratedIntegrated sensors sensors
Printed transmitPrinted transmit--andand--receive antennae receive antennae Onboard expansion capabilities for external Onboard expansion capabilities for external applicationapplication--specific development activities specific development activities Onboard BDM port for MCU Flash Onboard BDM port for MCU Flash reprogramming and inreprogramming and in--circuit hardware circuit hardware debugging debugging RSRS--232 port for monitoring and Flash 232 port for monitoring and Flash programming programming