SlideShare a Scribd company logo
1 of 47
Download to read offline
Implementation of a non-intrusive, real time, fine
grained power monitoring system for college
campuses
THESIS
Submitted in partial fulfillment of the requirements of BITS C421T/422T
By
T.VIGNESH
2009A3TS209G
Under the supervision of
Dr. K. R. Anupama
Professor and H.O.D, Department of EEEnI
BITS, PILANI – K K BIRLA GOA CAMPUS
Date 13-05-2013
2
CERTIFICATE
This is to certify that the Thesis entitled Implementation of a non-
intrusive, real time, fine-grained power monitoring system for
college campuses is submitted by T.Vignesh, ID No.
2009A3TS209G in partial fulfilment of the requirements of BITS
C421T/422T. Thesis embodies the work done by him under my
supervision.
Signature of supervisor
Name
Date 13-05-2013 Designation
3
ACKNOWLEDGEMENTS
I would sincerely like to thank Dr. K.R. Anupama, Professor and H.O.D,
Department of EEEnI, BITS, Pilani –K.K. Birla Goa Campus, for giving me the
opportunity to work on this thesis and for supervising my work. I am grateful
for the responsibilities entrusted in me, which served to further my knowledge
and technical skills. I would also like to thank my mentor, Mr. Nishad Kamdar,
for teaching me about TinyOS, for providing me with advice and guidance in
the design and testing of protocols and for helping me out with sensor
interfacing. I’d also like to thank my peer, Mr. Edwin Abraham, for helping me
out with specific interfaces and components used in my work. I would like to
extend my thanks to the lab assistants at the analog and embedded systems lab
for providing me with the necessary resources from time to time.
I am certainly grateful to BITS, Pilani University and BITS, Pilani –K.K. Birla
Goa Campus for providing me with this opportunity to work on my
undergraduate thesis.
4
Index
I. Introduction and Motivation 6
II. Theory of Operation 8
III. Practical Considerations 11
A. Platform and microcontroller 11
B. Choice of Sensors 15
IV. Implementation 19
A. Stages involved 19
B. Sensor Network Architecture 19
C. Code Synthesis 22
1. Spanning Tree Formation 23
2. Time Synchronization Protocol 24
3. DMAC Protocol 25
4. ADC access and interfacing 29
5. Data Collection, Aggregation and Forwarding 31
D. Verification of Protocols 32
E. Sensor Interfacing 34
F. Automatic sensor calibration and Categorization of Data 39
G. Data Storage and Analysis 40
5
Index
V. Conclusion 41
VI. Scope for future work – envisioning a Smart Grid 42
VII. Literature Survey and References 44
6
I. INTRODUCTION AND MOTIVATION
College Campuses contain a good variety of static and dynamic loads owing
to the internal population flux. Thus several energy consumption patterns
arise, some of which are wasteful as well. Manual audits of BITS, Pilani –
K.K. Birla Goa campus, have been carried out by URJA and EWB(Engineers
Without Borders) – two voluntary organizations aimed at minimizing the
energy budget of the campus. Such audits are carried out on an annual
basis, have partial data and are subject to human errors. It is found to be
impractical to organize frequent audits considering the students’ schedules.
After some analysis, certain gaps were found in the data and a need to
obtain energy data as frequently as possible was communicated by these
audit teams. In order to better understand the public opinion on the same,
surveys were conducted to gauge students’ general energy usage habits and
suggestions to exercise judicious use of energy. A strong need to account for
the per-capita consumption was expressed by the students. Thus to better
understand the reasons for wastage of power arising from usage patterns,
data about individual usage patterns was found to be required. Several
proposals were put forward from time to time, but weren’t found to be
implementable owing to the intrusive nature of measurements involved.
However, an analysis of energy bills of the campus indicated that a modest
5% reduction in energy consumption implied savings of 19793kWh per
month, ₹84320 per month and ₹1011846 per year. Assuming that this is
achievable entirely at students’ end through a robust, real-time and fine-
grained power monitoring system, contribution to savings by each batch of
students was estimated to be ₹4047385 with increased projections for every
subsequent year, owing to the increase in tariffs. This proves to be a
significant amount and a strong reason to consider energy monitoring
seriously.
Establishing a system that measures the demand and supply patterns of
electricity consumptions is the first step to better understand where and
how energy can be saved. The act of measurement should essentially leave
the existing consumption pattern undisturbed during installation and
execution. Installation of in-line measurement devices requires the circuitry
being accessed for the same to be switched off and hence a disturbance in
the consumption pattern, which may not be tolerated in university scenario,
where power resources are shared. Further, the maintenance or re-
calibration of faulty meters/devices requires similar access and is hence
highly inconvenient and isn’t recommended. Non-intrusive measurement
strategies overcome this problem by tapping the measurable signals emitted
by these circuits/appliances, such as local magnetic field variations and
7
device specific signals like intensity/frequency of light emitted (in case of
bulbs, lights, etc.), frequency of sound emitted(refrigerators, compressors),
temperature and humidity(ACs, coolers, etc.) or any other signal(s) strongly
correlated to their power consumption.
Traditional power monitoring techniques rely on custom-made devices that
commit to memory, the consumption data of a fixed time interval. In order to
retrieve and analyse this data, manual intervention is required. This makes
the data non real-time. Alternatively a separate network infrastructure
maybe required to obtain real time data. This adds to extra cost and may
not be justifiable. Wireless Sensor Networks(WSN) offer a cheaper and highly
effective solution to the problem of real-time monitoring as they can
efficiently forward, aggregate and route data to the desired data sinks. They
also offer enough flexibility for internal data route management and local
logging of data. Also, given the cost of the custom-meters and the associated
network infrastructure, the number of points that can be monitored is
restricted. Knowledge of consumption patterns of a larger number of (non-
redundant) points proves to be better useful in devising optimization
strategies to reduce power. A WSN infrastructure proves to be a lot more
cost and energy effective than its traditional counterpart in this aspect too.
The above serves to be the basis for selecting this mode of energy
monitoring.
8
II. THEORY OF OPERATION
The basic premise of all the measurements made is the fact that there is a
strong correlation between the magnetic field set up around a current
carrying conductor and the current that produces it. The relation between
the two is given by Ampere’s Law as given below:
In this implementation the magnetic sensor was strapped to the wire, such
that there’s no air-space between the sensor chip and the wire’s insulation.
The actual values of the magnetic field at any given point of time may not
give valuable information about the power consumption at any given
instant. However, the variation in standard deviation with time serves to be
a good indicator of real time current consumption of the wire. The following
figure illustrates the above statement.
Figure 1:Magnetic field change near a PC
The noisy region indicates that the PC is active
Given a constant voltage (which generally is the case with most devices in
household use), it is possible to estimate the power consumption of the
device under consideration. Else it would be suggested that a mechanism be
in place to measure the voltage and the harmonic distortion components,
non-intrusively as well.
9
Each sensor would output the value of magnetic field it senses as small
voltage (in mV). Linear amplification is then used to feed the same to the
motes. The standard deviation of magnetic field is then plotted against time.
In order to read off the power consumption values from the same,
calibration of the conversion constants is necessary. This is mathematically
expressed as an optimization problem as described below. In order to
formulate an optimization problem to calibrate the sensors, consider the
following notation:
y0(t) – total power consumption (monitored separately)
si(t), [si,j(t)] – indicator function for ith device [for the jth internal state] –
Boolean in nature
pi(t) – power consumption of ith device
For a device with j states:
pi(t) = Σ (j=1 to Ki) Pi,j * si,j(t);
where Pi,j is the average power consumption of j-th state of i-th device and
Ki is the number of internal power states of the i-th device. si,j(t) is a Boolean
function which tells which power state (j) the i-th device is in, at moment ‘t’.
For uninstrumented appliances:
pi(t) = Pi*si(t);
where Pi is the average power consumption of the artificial appliance
Magnetic Sensors:
pi(t) = ⍺i*si(t) + βi;
where ⍺i&βi are calibration parameters and si(t) the standard deviation of
magnetic field at instant ‘t’
Direct Meter input:
pi(t) = ~pi(t);
For N devices, the total power reading of an area must equal the sum total of
estimated power of that area. The formulation of the optimization problem is
hence the following:
10
The above optimization problem is essentially a representation of the total
power consumption of an area as the sum of power consumption of all the
components connected to that meter which provides the reading. Thus, in
order to satisfy the power consumption, the difference between the total
power consumption reading as obtained from the meter and the sum of
estimates of power consumption of individual components needs to be
minimized. In order to calibrate the magnetic sensors, the above
optimization problem needs to be solved. The solution which minimizes this
to the best possible extent yields the values of the calibration parameters
which can be used for the magnetic sensors. This being a multi-variable
optimization problem requires a numerical method to solve the problem. The
solution so obtained gives roughly, an estimate of power consumption
patterns of individual devices and hence the demand-supply relation for
each of them. We choose to a convex optimization toolbox for the same.
11
III. PRACTICAL CONSIDERATIONS
A. Selection of Microcontroller
The main requirements of the microcontroller to be used in this application
are as follows:
 ADC to convert the analog output of the sensors at the required rate
 On board radio transceiver with the facility to support protocol stacks
in order to forward the data obtained to the data sink in real time
 Low power consumption and existence of low power states to extend
the operation lifetime of the microcontroller
 On-board/external memory to log raw data from the ADC for detailed
analyses of data
The requirements are summarized in the following digram:
Figure 2: Arcitecture of a Wireless Sensor Node
Motes have an architecture which support the above features. Telosb and
motes suit the application very well. Most obviously, their compactness
allows for less cumbersome deployment. The main components of motes are
described below:
Transceiver:
Sensor nodes often make use of ISM band which gives free radio, spectrum
allocation and global availability. The possible choices of wireless
transmission media are Radio frequency (RF), Optical communication and
12
Infrared. Infrared is limited in its broadcasting capacity. Radio frequency
based communication is the most relevant that fits most of the WSN
applications. WSNs tend to use license-free communication frequencies:
173, 433, 868, and 915 MHz; and 2.4 GHz. The functionality of both
transmitter and receiver are combined into a single device known as
transceivers. Telosb motes contain CC2420 transceiver chips. They consume
38mW power when receiving messages and 35mW when transmitting at
0dBm. These transceivers have a good wireless range too (75-100m outdoors
and 20-30m indoors).
External Memory: Telosb motes have 1MB of external flash memory for data
logging. It can be used to store the raw data obtained from A/D coversions.
Power consumption: Perhaps the most important aspect of power monitoring
is the power consumed by the mote in its active state. The total active power
consumed by a mote is 41mW, of which 3mW alone is the energy consumed
by the TI MSP430 processor when performing minimal computations. 38mW
is consumed by the radio transceiver, CC2420. Thus evidently, more energy
is required for data communication than any other process. The energy cost
of transmitting 1 Kb a distance of 100 meters (330 ft) is approximately the
same as that used for the execution of 3 million instructions by a 100
million instructions per second/W processor. Power is stored either in
batteries or capacitors. Batteries, both rechargeable and non-rechargeable,
are the main source of power supply for sensor nodes. Two power saving
policies used are Dynamic Power Management (DPM) and Dynamic Voltage
Scaling (DVS). DPM conserves power by shutting down parts of the sensor
node which are not currently used or active. A DVS scheme varies the power
levels within the sensor node depending on the non-deterministic workload.
By varying the voltage along with the frequency, it is possible to obtain
quadratic reduction in power consumption.
Analog to digital converter: Telosb motes have built in 12-bit ADCs that
support configurable sampling rates and flexibility to read at desired
intervals and operate at two reference voltage levels - 1.5V and 2.5V. In
order to read of the output of magnetic sensors, amplification of the same
would be necessary.
13
The TelosB mote:
Figure 3: The TelosB mote
Features:
 250kbps 2.4GHz IEEE 802.15.4 Chipcon Wireless Transceiver
 Interoperability with other IEEE 802.15.4 devices
 8MHz Texas Instruments MSP430 microcontroller (10k RAM, 48k
Flash)
 Integrated ADC, DAC, Supply Voltage Supervisor, and DMA Controller
 Integrated onboard antenna with 50m range indoors / 125m range
outdoors
 Programming and data collection via USB
TinyOS and nesC
Telosb motes run on TinyOS which is an event driven, open source
operating system developed for the resource constrained wireless sensor
nodes. TinyOS v2.1.1 was used in developing the protocols for this
application. Network Embedded Systems C or nesC is an extension to C
programming language designed to incorporate the structuring concepts and
execution model of TinyOS.
The basic concepts behind nesC are:
14
 Separation of construction and composition: programs are built out of
components, which are assembled ("wired") to form whole programs.
Components have internal concurrency in the form of tasks. Threads
of control may pass into a component through its interfaces. These
threads are rooted either in a task or a hardware interrupt.
 Specification of component behaviour in terms of set of interfaces.
Interfaces may be provided or used by components. The provided
interfaces are intended to represent the functionality that the
component provides to its user, the used interfaces represent the
functionality the component needs to perform its job.
 Interfaces are bidirectional: they specify a set of functions to be
implemented by the interface's provider (commands) and a set to be
implemented by the interface's user (events). This allows a single
interface to represent a complex interaction between components (e.g.,
registration of interest in some event, followed by a callback when that
event happens). This is critical because all lengthy commands in
TinyOS (e.g. send packet) are non-blocking; their completion is
signalled through an event (send done). By specifying interfaces, a
component cannot call the send command unless it provides an
implementation of the sendDone event.
 Typically commands call downwards, i.e., from application
components to those closer to the hardware, while events call
upwards. Certain primitive events are bound to hardware interrupts.
 Components are statically linked to each other via their interfaces.
This increases runtime efficiency, encourages robust design, and
allows for better static analysis of programs.
 nesC is designed under the expectation that code will be generated by
whole-program compilers. This should also allow for better code
generation and analysis.
15
B. Choice of Sensors
Appliances/devices with a single power state (on/off) require only current
monitoring either using magnetic sensors or using light/acoustic sensors as
per the availability of measurable signals emitted by the appliance.
Appliances/devices with multiple power states (on/low power modes/sleep
modes/off) may require additional sensor(s) apart from the magnetic sensor
to identify the state. The choice of sensors is highly specific to the
device/area being measured and is warranted if the quality of the signals
being measured is good enough to support reliable correlation to the power
consumption of the device/point. Listed below are some of the commonly
available options for various types of sensors.
Magnetic Sensors for current monitoring
Types of magnetic sensors:
Reed Switches : These sensors are more like electrical fuses and offer a
digital output and indicate whether the magnetic field is above or below a
certain level. They are more useful in applications like traffic monitoring,
proximity sensing, etc.
Figure 4: The Reed Switch
Hall-Effect Sensors : Hall Effect sensors are useful in measuring magnetic
fields like that of the earth, short circuit detection and detection of
abnormalities on the surface of a magnetic material, etc. But they aren’t
very sensitive to variations in magnetic field around a typical current
carrying conductor. One such sensor is UGN3175.
Reed switches and UGN3175(hall-effect sensor purchased)as discussed
above don’t really satisfy the requirements of this application.
16
Anisotropic Magnetoresisitive (AMR) Technology Sensors: These sensors are
very sensitive to variations in magnetic field and can accurately measure the
magnetic field around any typical current carrying conductor. One such
product is HMC1001, patented by Honeywell and consists of 4-element
Wheatstone bridges that generate a voltage output in response to variations
in the magnetic field about the magnetic axis. This sensor has been used in
this work. Similar sensors with multiple axes (HMC1002) can offer more
information about the magnetic field patterns around the conductor, but the
application doesn’t really warrant it. These sensors can operate within a
supply voltage range of 3V to 12V at 10mA and require periodic setting &/or
resetting to restore sensitivity after prolonged exposure to a disturbing field.
A disturbing field is one that can affect the magnetic domains enough to
result in their orientation such that a constant sensor output is obtained. In
order to avoid this, it is necessary to apply set/reset pulses at regular
intervals. HMC1001 sensors were used in this application. These are single
axis magnetic sensors.
Figure 5: Honeywell’s AMR based magnetic sensors
17
Other Sensors for power monitoring
In addition to magnetic sensors, light sensors, temperature/humidity
sensors too can be used to detect the power state of a given appliance with
the appropriate data in hand. They too have to be calibrated by solving the
optimization problem mentioned above. Some of the options that can be
considered for temperature, light, and humidity sensing include the
following:
Temperature Sensors:
LM35: These are precision centigrade sensors and can be used to measure
the temperature of a specific object given that the temperature of the air
surrounding the surface is the same as that of the surface. Thus, in order to
measure the temperature of a room when the AC is on, one needs to find a
spot whose temperature is the same as that of the room. To measure the
temperature of a specific object, epoxy covering would be required to ensure
thermal insulation.
Figure 6: LM35 Temperature Sensor
On-board SensirionSHT11/SHT15 sensors: These are specifically designed
for environment monitoring applications. They produce a digital output,
which is stored in the mote’s EEPROM. The sensor is coupled with a 14-bit
ADC.
18
Light Sensors:
Photodiodes: These are simple diodes that produce a voltage when light
shines on them. These can easily be interfaces with the motes.
Photoelectric Sensors: These can be used to detect the characteristics of a
moving object, its presence or absence.
Photoresistors/Light Dependent Resistors: The resistance of these sensors
vary with variation in light intensity. These can be easily interfaced with
motes.
Photoswitches: These are apt to detect the on-off state of appliances and can
be easily interfaced with motes.
On-board Light Sensors Hamamtsu S1087 and S1087-01: These are
basically photodiodes to detect photosynthetically active radiation and the
entire spectrum respectively.
Figure 6: A Photodiode(left) and a LDR(right)
19
IV. IMPLEMENTATION
The implementation of a power monitoring system requires a step-by-step
approach, formulated as below:
A. Stages involved
i) Identification of a suitable microcontroller, appropriate sensors and
areas suitable for monitoring.
ii) Development of a suite of protocols to span all nodes, synchronize
events between them, manage media access between the nodes,
data aggregation and forwarding within the system of nodes.
iii) Testing and verification of the accuracy and scope of the protocols
developed using dummy data/internally generated data.
iv) Sensor interfacing
v) Deployment of sensor nodes in a given set of locations and
collection of data at a central aggregator
vi) Formulation and solution of optimization problem and machine
learning codes for calibration of sensors
vii) Data analysis and online storage using PHP API
viii) Duplication of system to multiple locations
ix) Establishing the demand-supply patterns to lay the foundations of
a smart grid framework
B. Sensor Network Architecture
Sensor Network architectures are developed on the basis of data flow
patterns in the network. A power monitoring application requires all the
data to flow to a single data sink attached to the laptop. Two architectures
support this flow quite effectively. These are:
 Cluster Based Architecture
 Hierarchical or Tree Based Architecture
Cluster based architectures typically consist of clusters of nodes with the
cluster heads of each cluster acting as local data sinks. These data sinks
communicate with each other and a global data sink to transfer their data
effectively without collisions. Tree based architectures on the other hand,
have a hierarchical structure throughout. A single root node acts as the
global data sink and data flows up the tree from the leaves or end nodes,
through intermediary parent nodes.
20
Tree based architecture has been used in this work. The following is a
description of the same
Hierarchical or Tree Based Architecture
Root Node: This node acts as the global data sink of the network and
initiates time synchronization and data flow in the network. It aggregates
the data from all the lower nodes and sends the same to the laptop via the
USB port. Data from this node is not broadcasted over the radio as it has no
parent. The node depth of this node is zero. The root has some children
which belong to node depth 1 and act as parents to the lower level. The root
acts as a reference node for the tree.
Parent Node: Every node in the tree that reports to another node is said to be
a node depth below the one to which it reports. The latter is called as the
parent node and the former as the child node. Every parent can have many
children, but not vice-versa. The parent doesn’t know how many children it
has, as the data flow is unidirectional-from the child to the parent. Every
parent aggregates data from all its children, appends its own data to it and
sends the same to the node which acts as its parent. As the number of
nodes increases, the number of node levels needs to be increased in order to
avoid draining away the power of any given parent by overloading it. Root
node, hence acts as the parent of the highest order.
Child Node: The tree ends at leaf nodes which act as children to the nodes to
which they report. These nodes, following time synchronization, do the sole
job of sampling their own data and forwarding to their respective parents.
Every parent, of course acts a child to its own parent. Every child knows its
parent and ensures that its data packets don’t collide with those of another
child of the same node depth. The leaf nodes consume the least power and
any node that is severely drained of energy is best advised become a leaf
node and reduce the energy overhead due to data reception.
21
Root Node (Depth 0)
Data Flow
Node Depth 1
Node Depth 2
Leaf Nodes (Depth 3)
Figure 7: Hierarchical or Tree Based Network
22
C. Code synthesis for Network Protocol Suite
The network protocol suite developed for the application needs to be simple,
energy efficient, simple and should result in a good packet delivery ratio.
The following protocols constitute the network protocol suite for the
application:
1. Spanning Tree Formation
2. Time Synchronization Protocol
3. MAC protocol implementation for staggered sleep wake cycles (DMAC)
4. ADC access and interfacing
5. Data Collection Protocol and Data Aggregation Protocol
23
1. Spanning Tree Formation
Each node is programmed with an Active Message Node ID. The node whose
ID has 1 as the first digit acts as the root node and is connected to the
laptop. Immediately after booting, a timer is called which turns on Active
MessageC using the SplitControl interface. On completion of this event, the
root broadcasts its timer, address and node depth (zero).
The nodes which receive this message first capture the RSSI (Received
Signal Strength Indicator) and LQI (Link quality Indicator). RSSI and LQI are
parameters of the packet that serve to be indicators of the strength of the
signal received. A low LQI indicates bad packet delivery ratio or delivery of
packets damaged by noise. If the LQI is less than 95, the message is simply
discarded. This value was arrived at by studying the LQI values of typical
packets received without setting any condition on LQI. If the condition is
satisfied, they set their respective timer counters to the same value as that
received and set their node depths as one greater than the node depth
received. They also store the address of the root as the parent address for all
future correspondences. A flag indicates the level discovery status of the
node and is set to true, once the node has set its node depth. The node then
broadcasts its node depth, counter, address and parent’s address. The flag
ensures that the same node doesn’t discover its level multiple times.
The nodes which couldn’t set their node depths owing to either poor Link
quality or simply by virtue of being out of the transmitting range of the root
node, receive this message and after checking for LQI, discover their level
and set their counters and parent addresses in accordance with the value
received. This process continues till all the nodes in deployment have been
spanned by the tree. This completes the spanning tree formation protocol.
The power level of the transceiver is to be set after considering the maximum
distance between any two nodes in the given domain. The CC2420Packet
interface provides a command to set this power. The range of values offered
is between 1 and 31 and is the power level of the transceiver in dB. The
highest power, 31 dB offers a maximum indoor range of 30m and a
maximum outdoor range of about 65m. A message transmitted by a mote in
a dorm room at 3dB power level (or upto 4dB) is sufficiently strong to be
received by another mote in the same room. Setting a very low power level
would cause multiple node levels to be discovered and sometimes, the loss
of packets. The power level should hence be chosen carefully.
24
2. Time Synchronization Protocol
Several time synchronization protocols have been suggested for sensor
networks in general. The most popular ones are Reference Broadcast
Synchronization (RBS) and the traditional Time Sync Protocol for Sensor
Networks (TPSN). However, these protocols aren’t supported quite very well
by the network architecture used. RBS synchronizes the time between nodes
of the same level and requires a reference broadcast from the root. Ensuing
communication between nodes of the same depth ensures that these nodes
are in sync. TPSN, on the other hand requires handshaking between the
parent and the child to establish time synchronization. The proposed
network architecture allows only for one way communication from the child
to the parent. Hence these protocols would be cumbersome to implement.
During the spanning tree formation phase, every broadcasting node sends
its counter value in the message sent. Every node that receives the same
sets its counter to the same value. Given the transmission rate (250kbps)
and speed(2.4GHz) of CC2420, the delay between the sender and receiver
would at most be in the range of microseconds. Thus, the nodes are
synchronized with respect to each other and to the root as the spanning tree
formation is completed.
However, nodes tend to run out of sync with respect to each other and the
root as the time progresses owing to minute differences in the device
architecture of motes and their oscillators. Thus in order to ensure time
synchronization for prolonged operation, it necessary that the nodes
exchange their counter values and set them accordingly at regular intervals.
During normal operation, when a pre-defined counter value is reached, the
leaf nodes set a flag (time_sync_req) to true and transmit the same along
with data, in the message packet. This node resets its level discovery flag to
false after sending and stops sending further data to the parent till its level
is discovered again. The parent, on receiving the message sets its
time_sync_flag to true and sends the same in the message packet. After
sending, it sets its level discovery flag to false sends no further data packets
till its level is discovered again. This process continues till it reaches the root
and the root send out a level discovery message again to achieve both time
synchronization and spanning tree formation for another cycle of data
collection. The sleep wake cycles (discussed in the next section) ensure that
the children are ready to receive the level discovery message before the root
sends out the same to initiate the process again. This protocol fits the
network architecture and ensures time synchronization.
25
3. DMAC Protocol
Medium Access Control (MAC) protocols define how various different devices
are supposed to access the same media to communicate with the intended
device connected to the former through this medium. The essential
attributes of a good MAC protocol is avoidance of over contention of the
medium with too many data packets at the same time, collision avoidance
and a fair chance for every device to access the medium in every medium
access cycle. The MAC protocols are generally based either on TDMA (Time
Division Multiplexed Access) or CSMA (Carrier Sense Multiple Access) with
CA(Collision Avoidance) or CD(Collision Detection), generally abbreviated as
CSMA/CA or CSMA/CD.
Several MAC protocols have been developed for wireless networks. Some of
the protocols based on TDMA include DMAC, LMAC, MC-LMAC, PMAC,
EMACS, Crankshaft protocol, etc. Some protocols based on CSMA include
SMAC, TMAC, BMAC, MMAC, TRAMA, FLAMA,etc. Some protocols like
ZMAC combine the benefits of both approaches, while some others like
MSMAC, MFMAC and CCMAC are designed to perform in mobile
environments, multiple frequency transmissions and spatial correlation in
WSN respectively.
Power monitoring application requires only data of a single kind (i.e. no
priority data or interrupts) to be sent from each node. There aren’t any
special cases and the data is to be sent at regular intervals only. The above
coupled with the tree structure of the network and the unidirectional flow of
data through the network stipulate the requirement of a simple TDMA based
protocol. With these requirements in mind, DMAC serves to be the most
suitable protocol to implement and use for this application. Hence DMAC
has been implemented to control the sleep wake cycles and medium access
in the network. Also, DMAC suffers the least due to data forwarding
interruption problem, which occurs in tree based networks using CSMA
based MAC schemes. In DMAC, the duty cycles of nodes of successive node
depths are staggered with respect to each other, such that any given node is
ahead of its parent by half the active period duration. Reception of packets
happens in the first half of the active period and the transmission of data
packet happens in the second half. Thus when a child is transmitting, the
parent is receiving and when the parent transmits, the child is asleep, while
the parent of the higher node level is receiving. Any data packet thus sent,
propagates all the way upto the root, with reference to whose duty cycle, all
other duty cycles are staggered in the order of their node depths.
26
Figure 8: Data forwarding interruption problem in contention based SMAC protocol and its absence in
DMAC protocol
Figure 9: Sleep wake cycles in DMAC protocol
27
In the code, immediately after sending the level discovery packet, each node
sets a flag that indicates that the level discovery for that node is over and
that the time synchronization with all higher nodes is complete. Once this
flag is set, the duty cycle of the node is set such that it is awake for two-
fifths of the cycle. For instance, consider a 1 second cycle. The node remains
awake for 400ms and asleep for the rest of the cycle - 600 ms. The cycle
starts with the ActiveMessageC component being switched off by the
SplitControl interface when the value of the counter equals one wake period
plus the difference between the counter value received and the value
obtained by multiplying the node depth and the one-half the wake period.
This ensures that every node is ahead of its parent’s cycle by one-half of a
wake period. The variable counter_value stores the node depth specific
value, the counter indicates the current counter and the counter_received
variable indicates the value of the counter received from the parent. The
ActiveMessageC component is turned on again when the duty cycle period is
complete and the value of the counter_value variable is updated with the
current counter value, the moment the radio is turned on again. The
following code snippet describes the sleep-wake cycle assignment:
counter_value = counter_received – (node_depth*half of the wake period);
if(counter – counter_value == wake period){call SplitControl.stop();}
if(counter – counter_value == duty cycle) {call SplitControl.start();
counter_vaue = counter;}
Thus every node sends data aggregated for a second in its sending slot. Also,
nodes of the same depth need to divide the receive time available to the
parent amongst themselves such that the data packets from any two or
more nodes of the same level don’t suffer losses due to packet collision. This
is achieved by fixing the send times based on their unique node IDs. A
certain digit or a set of digits of the node ID are extracted and the data is
sent by that node, exactly the number of counts indicated by those digits(or
the same multiplied by a constant multiple for all nodes, like say 10)
following the middle of the wake period. This ensures that no two packets of
two nodes belonging to the same node level are sent at the same time. This
avoids packet collisions. The following code snippet illustrated the same:
If(counter – counter_value == half the wake period + TOS_NODE_ID)
call AMSend.Send(&packet, sizeof(DataPacket));
28
By default, the maximum permissible size of a data packet is 28 bytes.
When data reception starts every node maintains a counter that increments
itself every time a packet is received. Each packet can hold the data of 4
children. If the number of packets exceeds 4, a flag is maintained in the
message structure (more-to-send or MTS) that is set to true. This flag
indicates that the sending node and all the nodes above the current level
have to increase their duty cycle by one half the wake period. All the excess
data packets are sent by the sending node successively after the respective
node ID value is reached at every count following the same. This is the case
when the network is large in size and this feature ensures scalability of the
network. Thus nodes higher up the tree need to have enough power
resources to support themselves in the face of increased workload. Periodic
refreshment of the tree ensures that nodes that have a are low on battery
and hence with a low value of LQI, act as children and those with enough
battery power left, take up the role of parents. The data prediction feature
isn’t required by the application because the data received from a single
child is always of a fixed size.
This completes the implementation of DMAC protocol.
29
4. ADC Access and Interfacing
TelosB motes have 12 bit ADCs that can be accessed from 6 pins of the
expansion connectors U2 and U28 (ADC0-3, ADC6-7) and ADC4-5
interfaced to the on-board photodiodes, if present. The hardware abstraction
of ADCs in TinyOS 2.1.1 as described in TEP 101 aligned to a 3-layer
Hardware Abstraction Architecture (HAA). The three layer ADC stack
consists of a Hardware Interface Layer (HIL) with chip specific
implementation that provides an interface to read the results of ADC data
conversion. It uses a Client provided interface that contains the
configuration details of the ADC to be accessed. This is the only means by
which the ADC stack exposes its underlying components to the user/client.
The Hardware Adaptation Layer (HAL) exposes the chip specific capabilities
of the ADC to the HIL and implements resource allocation, single/multiple
conversions and various modes of reading. Hardware Presentation Layer is a
stateless component that provides access to the hardware registers. The
HAL accesses them to implement the functionalities exposed to the user via
HIL.
In order to access one of the ADCs, the configuration structure is to be
defined by the user and the AdcConfigure interface used by the
AdcReadClientC component is to be wired to the AdCConfigure interface
provided by the Client in the application code. Msp430Adc12.h file contains
the definitions of the configurable parameters, which the user needs to
declare in the application code. For instance, consider the following
configuration provided in the application code:
const msp430adc12_channel_config_t config = {
inch: INPUT_CHANNEL_A1,
sref: REFERENCE_VREFplus_AVss,
ref2_5v: REFVOLT_LEVEL_2_5,
adc12ssel: SHT_SOURCE_ACLK,
adc12div: SHT_CLOCK_DIV_1,
sht: SAMPLE_HOLD_4_CYCLES,
sampcon_ssel: SAMPCON_SOURCE_SMCLK,
sampcon_id: SAMPCON_CLOCK_DIV_1};
30
This code accepts A1 as the input channel and samples values from ADC1
(Port61). There are totally 8 input channels available for external interfacing
(A0-A7 mapped to Port60-67 of Msp430). Apart from the above, there are 4
other input channels that come from internal sources. These include
EXTERNAL_REF_VOLTAGE_CHANNEL (inch: 8),
REF_VOLTAGE_NEG_TERMINAL_CHANNEL (inch: 9), TEMPERATURE
DIODE CHANNEL (inch: 10), SUPPLY_VOLTAGE_HALF_CHANNEL (inch:11).
The reference voltage, sref accepts REFERENCE_VREFplus_AVss as the
reference voltage to generate reference voltages of VR+ = VREF+ and VR- =
AVss. Other options for reference voltages are also provided in the header.
The reference voltage level, ref2_5v takes 2.5V as the reference voltage level
and generates an ADC count between 0 and 4096, with 4096 corresponding
to 2.5V. It also offers an option to configure ref2_5v to accept 1.5V as the
reference voltage to generate ADC counts that scale between 0 and 1.5 volts
only.
The adc12ssel field specifies which clock is to be used to sample and hold
the ADC values. This code accepts ACLK as the source. MCLK, SMCLK and
the 5Mhz oscillator, ADC12OSC are the other options available. The field
adc12div can be used to divide down the ADC clock by upto 8 times. sht
field indicates the sample hold time, which in this case is 4 clock cycles and
the options provided extend upto 1024 clock cycles. The fields,
sampcon_ssel and sampcon_id indicate the clock source and clock divider
for the sampcon signal respectively.
The most recently sampled ADC value is available to the read interface. The
application developed in this work uses the above configuration and calls
the read interface once every 20ms and stores the value. The internal
channels help prove to be useful in testing the rest of the protocols and the
correct function of ADC interfacing.
31
5. Data Collection, Aggregation and
Forwarding
The ADC samples are obtained at the rate decided by the clock source.
ACLK has been chosen as the clock source with a sample and hold time of 4
clock cycles. ACLK offers samples readings at 32Mhz frequency. The read
interface however is called only once every 20ms. The duty cycle chosen for
the application is 1s. Hence, about 50 readings are obtained every second.
The data processing code calculates the mean and standard deviation of the
samples read-off from the ADC. In order to calculate the mean, a separate
count for the number of readings is maintained, which is incremented every
time a readDone event is signalled. The read values are added and then
divided by this count to obtain the mean. In order to obtain the variance, the
square of the difference between each reading and the calculated mean is
summed and divided by the no of readings. In order to obtain the standard
deviation of the readings, square root of the variance is to be calculated. As
nesC libraries don’t offer a square root function, the same is numerically
calculated by a small code block, called by the readDone event. The values
of standard deviation and mean thus obtained are stored privately in the
node under specific variables
In order to aggregate the data obtained from children, the parent stores the
data received in separate variables that are privately maintained by that
node. Throughout the receiving phase, the data received from different
children are stored in these variables. Once all data has been stored in
private variables, the same is written to the message structure with or
without the MTS flag as the case may be. The data of three children and that
of the sending node is written and sent in the message. If the MTS flag is
set, data from other children are written to the message structure and sent.
The data sent includes the mean and standard deviation of the sensor
values and the address of the sending node. Thus one reading is sent per
second.
The values sent are aggregated at the root node and finally printed on to the
terminal. The data is then written from the terminal to a text file.
32
D. Verification of Protocols
In order to verify the time synchronization protocol and spanning tree
formation, the time period for refreshment of the tree was set to 50*60 or 1
minute. It takes 50 counts for the node’s timer to complete a cycle, which is
1 sec. In order to demonstrate the protocols, this value was chosen. The
intended value is 50*60*30, i.e, the tree is expected to refresh itself once
every 30 minutes.
4 motes were programmed with node IDs, 10, 21, 41 and 61. The node with
ID 10 served as the root node and other IDs, in this demonstration were the
children of the root. Following are the screen shots obtained when the
program was executing on the motes. The input channel used was ADC4,
hence the values of the mean and the standard deviation. The values from
the root node were printed out on the terminal.
Figure 10: Output of the root node
The root, received a last piece of data from all the children when the counter
was 2991 and went to sleep at 3011. The data displayed after this line is the
data obtained during the wake cycle of the root. This is so because the printf
commands to display the results reside in the stopDone event of the
SplitControl interface. As the time_sync_req flag was set, the root reverted
back to the initial tree formation phase. In order to emphasize on the
counter, the value of the counter was set to 40 in the code that refreshes the
spanning tree. Thus, when the root node started out to broadcast the level
33
discovery message, the counter value of 41 was broadcasted. The sleep wake
cycle was set once again, as can be seen in the display. The following is a
screenshot of the values sent by one of the children:
Figure 11: Output of the child node
The screenshot indicates the values sent by the child. Since this child is a
leaf node, no values are received from its children, as there are none. The
values printed to the screen are those of the children. However, the values
sampled and sent by this node appear above the asleep line as a set of 3
values. For instance, above the ‘asleep at: 3001’ line, the values: 0 for mean,
2 for standard deviation and 61 for node address can be seen. Again, like
the root node, the condition to refresh the tree resides in the stopDone
event. Hence, this node awaits a level discovery message from the root or
another node. Level discovery was successful with its node depth being 1
and the LQI value satisfying the criterion to accept the sender of the
message as the parent.
These screenshots also verify successfully, the sleep-wake cycle and DMAC
implementation, ADC access and interfacing, and data aggregation and
forwarding protocols.
34
E. Sensor Interfacing
HMC1001 sensors are single axis magnetic sensors with 4-element
Wheatstone bridges that measure magnetic fields within a limited range and
provide a small output that requires amplification. Following are the
specifications of HMC1001:
Bridge voltage referenced to Gnd: 5V (upto 12V)
Bridge current: 10mA.
Sensitivity: 3.2mv/V/gauss
The following data from the data sheet of HMC1001 indicates the key
performance characteristics:
Figure 12: Performance Characteristics of HMC1001
The above data graphs indicate that the output value obtainable for the
magnetic field variations around a typical current carrying conductor, like
that of a laptop PC is very small. Given a ±5 mGauss variation in magnetic
field at the periphery of the wire of a PC, the output voltage variation is
expected to be very small. Thus in order to amplify the same, an
amplification circuit was to be built. The datasheet also provides an
application note on current sensing applications. The following circuit was
35
then assembled in the lab and tested against small inputs generated from
the signal generator.
Figure 13: Circuit to interface HMC1001 with the ADC
As LMV324N wasn’t available, uA741 was used. The idea was to amplify the
voltage by about 200 times, such that a variation of 10mVp-p produced an
output of about 2Vp-p. In order to obtain the required amount of
amplification, the resistances were modified and with R7 and R8 as 100K-
ohm, R9 and R10 as 1K-ohm, R5 and R4 as 470 ohm, an gain of about 200
was obtained. The circuit assembled is shown below:
36
Figure 14: Circuit to amplify the output of HMC1001
As the magnetic sensors were SMD chips and were too small to fit a
breadboard, they were soldered to a SMD to DIP converter socket and the
connections made, as shown below:
Figure 16: Magnetic sensor soldered to the converter socket
37
Two sample outputs were tested, on the scope. One was the amplified sensor
output when the magnetic sensor was strapped to the power wire of the
oscilloscope and the other to that of the signal generator. The amplified
outputs turned out to be very small and were displayed on the oscilloscope
screen. They displayed periodic variations which vaguely resembled the AC
supply input. However, a lot of noise was observed too.
The following were the outputs obtained:
Figure 17: Amplified output for the power wire of the scope(left), signal generator(right)
When tested with the power cord of a PC, the value wasn’t constant and
showed variations around a range. The portion of the power cord with
regulated DC output to the PC was strapped to the sensor. In order to obtain
the standard deviation of the same, the output was connected to the ADC4
input of the mote and the output displayed on the terminal was written to a
text file. The power cord was unstrapped from the sensor when the counter
value was 34641 in the extract from the output file shown below:
Output file extract:
asleep at: 34611
mean: 56, standard deviation: 215, node ID: 21
mean: 0, standard deviation: 0, node ID: 0
mean: 0, standard deviation: 0, node ID: 0
mean: 0, standard deviation: 0, node ID: 0
awake at 34641
Root node address:10, depth: 0
Root's counter broadcast to others: 41, own counter: 34641
received
asleep at: 34661
mean: 56, standard deviation: 215, node ID: 21
mean: 0, standard deviation: 0, node ID: 0
38
mean: 0, standard deviation: 0, node ID: 0
mean: 0, standard deviation: 0, node ID: 0
awake at 34691
Root node address:10, depth: 0
Root's counter broadcast to others: 41, own counter: 34691
received
asleep at: 34711
mean: 56, standard deviation: 215, node ID: 21
mean: 0, standard deviation: 0, node ID: 0
mean: 0, standard deviation: 0, node ID: 0
mean: 0, standard deviation: 0, node ID: 0
awake at 34741
Root node address:10, depth: 0
Root's counter broadcast to others: 41, own counter: 34741
received
asleep at: 34761
mean: 56, standard deviation: 214, node ID: 21
mean: 0, standard deviation: 0, node ID: 0
mean: 0, standard deviation: 0, node ID: 0
mean: 0, standard deviation: 0, node ID: 0
awake at 34791
Root node address:10, depth: 0
Root's counter broadcast to others: 41, own counter: 34791
received
asleep at: 34811
mean: 56, standard deviation: 215, node ID: 21
mean: 0, standard deviation: 0, node ID: 0
mean: 0, standard deviation: 0, node ID: 0
mean: 0, standard deviation: 0, node ID: 0
awake at 34841
Root node address:10, depth: 0
Root's counter broadcast to others: 41, own counter: 34841
received
asleep at: 34861
mean: 56, standard deviation: 215, node ID: 21
mean: 0, standard deviation: 0, node ID: 0
mean: 0, standard deviation: 0, node ID: 0
mean: 0, standard deviation: 0, node ID: 0
awake at 34891
The above output indicated that the value of standard deviation was
strangely fixated at 215 even after the input had changed. This indicated the
saturation of domains in the sensor after a disturbing magnetic field caused
orientation of domains in particular direction for a long enough period of
time. The output was measured for over 10 minutes with the power cord
strapped to the sensor. In order to overcome the issue, a circuit to
periodically set/reset the magnetic sensor was necessary. As mentioned in
the circuit diagram for interfacing the sensor, transistors IRF7105P/N were
required. Alternate transistors were used and a clock pulses were given once
every second to reset the sensor. The output obtained wasn’t satisfactory.
39
F. Automatic Sensor Calibration and Categorization of Data
In order to reliably map the standard deviation of the sensor output to the
power consumption, the real time power of the device is to be calculated or
monitored and the optimization problem needs to be solved using a convex
optimization toolbox thereby giving the values of calibration constants ⍺i&βi.
A simple Hebbian learning rule based neural network with weights ⍺I
corresponding to the standard deviation values obtained from the nodes as
inputs to then network, and a constant input to the network, with weights βi
would effectively calibrate the constants for each node’s standard deviation
value to estimate the power consumption of that device. This network needs
to be trained with the correct values of the constants calculated by the
optimization toolbox, given the total power and individual standard deviation
inputs.
Once in deployment, when a set of standard deviation values are obtained,
the network converges to the right set of outputs as the trained weights
ensure that the right output value of power is obtained from each standard
deviation input. These values can then be stored and analysed.
ART(adaptive resonance theory)is a classifying network and can be used for
classifying data into categories like tubelights, fans, laptops, etc.
40
G. Data Storage and Analysis
PHP provides options to post data to the web, analyse the data and generate
graphs indicating the power profiles estimated. A simple PHP GUI can be
used to visualize these functionalities.
Google drive provides a PHP API that can be used to post the data obtained
from the root node to google drive. This makes sure that data is stored
online and is accessible to many users for data analysis. In order to obtain
timely information, aggregated packets would be written to a text
file/document that would be refreshed by the PHP code if the data in it has
been posted to google drive.
Data obtained in one spanning tree formation cycle can be aggregated and
posted to the online repository every 30 minute, as was mentioned in the
time synchronization protocol. The power profile is to be analysed for
sudden or noticeable variations in power consumption. For instance, when a
laptop switches from active mode to one of the low power modes or off mode,
the standard deviation of the magnetic field observed dies down to zero. The
study of such patterns over an extended period of time offers insights into
the wasteful components of power consumption, such as the period when
the PC is simply left in active mode without any user input or file activity.
Tracking down such periods helps in pinpointing wasteful behaviours and
discouraging them.
41
V. CONCLUSION
In an attempt to establish a fine-grained, non-intrusive, real-time power
monitoring system, the protocols and algorithms necessary to sample,
aggregate and forward sensor data to a central processing unit were
developed. A wireless sensor network was established to do the intended
task and the protocols for spanning tree formation; time-synchronization,
DMAC based medium access control, ADC access and interfacing, data
aggregation and forwarding were developed and tested. The algorithms and
protocols developed were found to be fully functional and scalable to a
network of any arbitrary size. The network non-intrusiveness, real-time
functionality and the ability to provide fine grained data are found to be
supported well by the network architecture proposed and implemented.
Magnetic sensors were successfully interfaced with the motes, to track AC
flow patterns. In an attempt to measure DC flows, saturation of magnetic
field was found and the need to implement set/reset circuitry to rectify the
same was established. A PHP script to post the data to the web and a GUI to
analyse the data was developed. The identification of the appropriate types
of neural nets and the exact requirements of the neural networks and were
established.
42
VI. SCOPE FOR FUTURE WORK – ENVISIONING A SMART GRID
This work was undertaken, keeping in mind the following objectives:
 Establishing maintenance free, automated, non-intrusive, fine-
grained, real time power monitoring system
 Measuring performance characteristics of various electrical utilities
connected to the grid
 To be able to communicate to every (accountable) resident about their
consumption patterns and provide appropriate notifications to
minimize wastage from the human end
 Developing a microgrid for hostels (to start with) where load isolation
is achievable
 Extending the idea to develop microgrids for every part of the campus
and to integrate them under a single roof –the smart grid
 To promote a sense of responsibility and belonging to every consumer
of electricity on campus
Sensor interfacing was done with incomplete results, due to the lack of
appropriate components. The circuitry to set/reset the sensor periodically is
an essential component for the normal functioning of the sensors to provide
reliable and accurate data. It would be a cumbersome idea to develop
circuits on the breadboard and use them for real deployment in various
parts of the campus. Developing a PCB with the circuit soldered to the same
is integral to the mobility of the sensors.
In this work only magnetic sensors were used to infer about the power
consumption of the device under consideration. Use of light, temperature,
acoustic and humidity sensors is essential to improve the quality of the
estimation.
Development of a robust calibration network wasn’t completed and would be
undertaken in the future when reliable data from multiple sources becomes
available, as the number of neurons in the network would be decided by the
number of inputs to the network.
Rigorous data analysis of a large area of the university is necessary to
establish wasteful patterns in power consumption. Logging raw data and
analysis of raw data would give insights into power consumption
components that are wasteful and result due to leakages. The power
consumed by some appliances and circuits when connected to the power
grid due to leakage of current is called as phantom power and tends to be
large for heavy duty circuits/appliances such as A/C. Establishing the
43
profile of phantom power consumption helps in devising strategies that can
effectively curb this component completely.
Measuring the profiles of both consumption and production of power
throughout the campus is useful in establishing demand-supply patterns
within a given domain, such as hostels or classrooms. Leveraging this
information is useful in developing micro-grids that manage the power
requirement and production to optimize power usage. A micro-grid
essentially connects to or disconnects from the grid depending on the power
requirement profile of that domain/area. When the consumption due to
every individual is established beyond doubt, every individual would have to
pay only for their own consumption. This encourages vigilance in
consumption patterns and discourages wasteful patterns of consumption.
Establishment of an internal market and storage of power to leverage
unused power is a novel way of avoiding blackouts in the face of temporary
disconnection from the power grid. This is essentially the power of a fully
functional smart grid. In order to achieve the same, careful planning needs
to be done after identifying the best possible sources and sinks of the
distribution.
The final goal of this work is the culmination of a fully functional smart grid
as the most optimal energy solution possible.
44
VII. LITERATURE SURVEY AND REFERENCES
[1] Younghun Kim, Thomas Schmid, Zainul Chabriwala, Mani Srivastava,
‘ViridiScope: Design and Implementation of a Fine Grained Power
Monitoring System for Homes’ in Proc. Eleventh International
Conference on Ubiquitous Computing, 2009
[2] Polastre, J., Szewczyk, R., Culler, D., ‘Telos: enabling ultra-low power
wireless research’ in Proc. Fourth International Symposium on
Information Processing in Sensor Networks: Track on Platform Tools
and Design Methods for Network Embedded Sensors, 2005
[3] Benny, P.L., Thiemjarus, S., King, R., Yang, G., ‘Body Sensor Network
– A Wireless Sensor Platform for Pervasive Healthcare and Monitoring’
in Proc. Third International Conference on Pervasive Computing, May
2005
[4] Polastre J., Szewczyk R., Mainwaring, A., Culler, D., Anderson, J.,
‘Analysis of Wireless Sensor Networks for Habitat Monitoring’ In ACM
International Workshop on Wireless Sensor Networks and
Applications (WSNA’02), Atlanta, GA, USA, Sept. 2002.
[5] Sinopoli, B., Sharp, C., Schenato, L., Schaffert, S., Sastry, S.,
‘Distributed Control applications Within Sensor Networks’ in IEEE
Proceedings Special Issue on Distributed Sensor Networks, 2003
[6] http://www.tinyos.net
[7] Estrin D., John H., Wie Ye, ‘An Energy Efficient MAC Protocol for
Wireless Sensor Networks’ in Proc. of Twenty -First Annual Joint
Conferenceof the IEEE Computer and Communications Societies,
INFOCOM 2002
[8] Gang Lu, Bhaskar K., Cauligi S., ‘An Adaptive Energy-Efficient and
Low Latency MAC for Data Gathering in Wireless Sensor Networks’ in
Proc. of 18th International Parallel and Distributed Processing
Symposium (IPDPS’04)
[9] Ganeriwal S., Ram K., Mani B., ‘Timing-sync Protocol for Sensor
Networks’ in Proc. of 1st International conference on Embedded
networked sensor systems, Sensys, 2003
[10] Geremy E., Lewis G., Deborah E., ‘Fine-Grained Network Time
Synchronization using Reference Broadcasts’ in Proc. of the Fifth
45
Symposium on Operating Systems Design and Implementation (OSDI
2002), Boston, MA. December 2002
[11] TEP 103
[12] TEP 116
[13] TEP 124
[14] Polastre J., Jason H., Culler D., ‘Versatile Low Power Media Access for
Wireless Networks’ in Proc. Of 2nd International Conference on
Embedded Networked Sensor Systems, 2004
[15] Mehmet C. Vuran, Ian F. Akyildiz, ‘Spatial Correlation-based
Collaborative Medium Access Control in Wireless Sensor Networks’, in
Volume 14, IEEE/ACM Transactions on Networking, April 2006
[16] Lu G., Krishnamachari B., Raghavendra C.S., ‘An adaptive energy-
efficient and low-latency MAC for data gathering in wireless sensor
networks’ Proc. of 18th International Parallel and Distributed
Processing Symposium, 2004
[17] Ali M., Suleman T., Uzmi Z.A., ‘MMAC: a mobility-adaptive, collision-
free MAC protocol for wireless sensor networks’ in IPCCC 2005, 24th
International Performance, Computing, and Communications
Conference, 2005
[18] Gang Zhou, Yafeng Wu, Ting Yan, et. al, ‘A multifrequency MAC
specially designed for wireless sensor network applications’, in Volume
9, issue 4, ACM Transactions on Embedded Computing Systems,
March 2010
[19] Van L.F.W., Havinga P.J.M., ‘A Lightweight Medium Access Protocol
(LMAC) for Wireless Sensor Networks: Reducing Preamble
Transmissions and Transceiver State Switches’ in Proceedings of the
1st International Workshop on Networked Sensing Systems (INSS)
(2004), pp. 205-208
[20] Rajendran V., Garica-Luna-Aveces, Obraczka K., ‘Energy-efficient,
application-aware medium access for sensor networks’ in IEEE
International Conference on Mobile Adhoc and Sensor Systems
Conference, 2005.
[21] Huan Pham, Sanjay Jha, ‘An adaptive mobility-aware MAC protocol
for sensor networks (MS-MAC)’ in IEEE International Conference on
Mobile Ad-hoc and Sensor Systems, 2004
46
[22] Olem D., Lodewijk H., Pierre J., et.al, ‘MC-LMAC: A Multi-Channel
MAC Protocol for Wireless Sensor Networks’ in Volume 9, Issue 1,
Pages 73–94, Ad-Hoc Networks, Elsevier, January 2011
[23] ‘Collaborative Algorithms for Communication in Wireless Sensor
Networks’ in Ambient Intelligence: Impact on Embedded Sytem
Design, pp 271-294, Springer, 2004
[24] Wei Ye, Heidemann J., Estrin D., ‘An Energy-Efficient MAC Protocol
for Wireless Sensor Networks’ in Proceedings. Twenty-First Annual
Joint Conference of the IEEE Computer and Communications
Societies, IEEE (Volume:3 ) INFOCOM 2002..
[25] Tao Zheng, Radhakrishnan S., Sarangan V., ‘PMAC: an adaptive
energy-efficient MAC protocol for wireless sensor networks’ in
Proceedings. 19th International Parallel and Distributed Processing
Symposium, IEEE, 2005.
[27] Suresh Singh, Raghavendra C.S.,‘PAMAS—power aware multi-access
protocol with signalling for ad hoc networks’ in ACM SIGCOMM
Computer Communication Review, Volume 28, Issue 3, July 1988.
[28] Tijs Van Dam, Koen L., ‘An adaptive energy-efficient MAC protocol for
wireless sensor networks’ in Proceedings of the 1st international
conference on Embedded networked sensor systems, Sensys 03
[29] Polastre J., Hill J., Culler D., ‘Versatile low power media access for
wireless sensor networks’ in Proceedings of the 2nd international
conference on Embedded networked sensor systems, SenSys '04
[30] Injong Rhee, warrier A., aia M., et. al, ‘ZMAC: a Hybrid MAC for
Wireless Sensor Networks’ in IEEE/ACM Transactions on Networking
(Volume:16 , Issue: 3 )
[31] TEP 101
[32] Qun Li., Rus D., ‘Global clock synchronization in sensor networks’ in
IEEE Transactions on Computers (Volume:55 , Issue: 2 ), Feb, 2006.
[33] Santashil P., Amit Kumar S., David B., ‘Adaptive Clock
Synchronization in Sensor Networks’ in Proceedings of the 3rd
international symposium on Information processing in sensor
networks, IPSN '04
47
[34] ‘David Gay, Phili Levis, robert von B., et.al, ‘The nesC Language: A
Holistic Approach to Networked Embedded Systems’ in Proceedings of the
ACM SIGPLAN 2003 conference on Programming language design and
implementation, PLDI '03
[35] HMC 1001/1002/1021/1022 datasheet
[36] Telosb datasheet
[37] ua741 datasheet
[38] pn4372 datasheet
[39] 2N2907A datasheet
[40] Kai-Wei Fan, Sha Liu, sinha P., ‘On the Potential of Structure-free
Data Aggregation in Sensor Networks’ in Proceedings of 25th IEEE
International Conference on Computer Communications, INFOCOM
2006.
[41] Shwetak N., Thomas R., Julie A., et. al, ‘At the flick of a switch:
detecting and classifying unique electrical events on the residential
power line’ published in Proceedings of the 9th international
conference on Ubiquitous computing, UbiComp '07
[42] Lasseter R.H., paigi P., ‘Microgrid: A Conceptual Solution’ in 35th
Annual IEEE Power Electronics Specialists Conference, 2004. PESC
04. 2004 (Volume:6 )

More Related Content

What's hot

Towards automatic setup of non intrusive appliance load monitoring – feature ...
Towards automatic setup of non intrusive appliance load monitoring – feature ...Towards automatic setup of non intrusive appliance load monitoring – feature ...
Towards automatic setup of non intrusive appliance load monitoring – feature ...IJECEIAES
 
IRJET- Automated Energy Metering System
IRJET- Automated Energy Metering SystemIRJET- Automated Energy Metering System
IRJET- Automated Energy Metering SystemIRJET Journal
 
IRJET- Hall Effect Sensor Based Digital Smart Three Phase Energy Meter
IRJET- Hall Effect Sensor Based Digital Smart Three Phase Energy MeterIRJET- Hall Effect Sensor Based Digital Smart Three Phase Energy Meter
IRJET- Hall Effect Sensor Based Digital Smart Three Phase Energy MeterIRJET Journal
 
A Real-Time IoT Implementation for Efficient Energy Consumption
A Real-Time IoT Implementation for Efficient Energy ConsumptionA Real-Time IoT Implementation for Efficient Energy Consumption
A Real-Time IoT Implementation for Efficient Energy ConsumptionIRJET Journal
 
IRJET - Energy Consumption Indicator
IRJET - Energy Consumption IndicatorIRJET - Energy Consumption Indicator
IRJET - Energy Consumption IndicatorIRJET Journal
 
PROTECTION OF ELECTRICAL EQUIPMENT USING 3D THERMOGRAPHY AND IMAGE PROCESSING
PROTECTION OF ELECTRICAL EQUIPMENT USING 3D THERMOGRAPHY AND IMAGE PROCESSINGPROTECTION OF ELECTRICAL EQUIPMENT USING 3D THERMOGRAPHY AND IMAGE PROCESSING
PROTECTION OF ELECTRICAL EQUIPMENT USING 3D THERMOGRAPHY AND IMAGE PROCESSINGEklavya Sharma
 
Voltage stability Analysis using GridCal
Voltage stability Analysis using GridCalVoltage stability Analysis using GridCal
Voltage stability Analysis using GridCalAnmol Dwivedi
 
Design of a dual-band antenna for energy harvesting application
Design of a dual-band antenna for energy harvesting applicationDesign of a dual-band antenna for energy harvesting application
Design of a dual-band antenna for energy harvesting applicationjournalBEEI
 
Keynote icdcm Josep Guerrero
Keynote icdcm Josep GuerreroKeynote icdcm Josep Guerrero
Keynote icdcm Josep GuerreroJuan C. Vasquez
 
HOME APPLIANCE IDENTIFICATION FOR NILM SYSTEMS BASED ON DEEP NEURAL NETWORKS
HOME APPLIANCE IDENTIFICATION FOR NILM SYSTEMS BASED ON DEEP NEURAL NETWORKSHOME APPLIANCE IDENTIFICATION FOR NILM SYSTEMS BASED ON DEEP NEURAL NETWORKS
HOME APPLIANCE IDENTIFICATION FOR NILM SYSTEMS BASED ON DEEP NEURAL NETWORKSijaia
 
DISTRIBUTED TRANSFORMER ENERGY METER USING GSM TECHNOLOGY
DISTRIBUTED TRANSFORMER ENERGY METER USING GSM TECHNOLOGYDISTRIBUTED TRANSFORMER ENERGY METER USING GSM TECHNOLOGY
DISTRIBUTED TRANSFORMER ENERGY METER USING GSM TECHNOLOGYecij
 
A robust maximum power point tracking control for PV panel using adaptive PI ...
A robust maximum power point tracking control for PV panel using adaptive PI ...A robust maximum power point tracking control for PV panel using adaptive PI ...
A robust maximum power point tracking control for PV panel using adaptive PI ...TELKOMNIKA JOURNAL
 
Wireless data acquisition for photovoltaic power system copy
Wireless data acquisition for photovoltaic power system   copyWireless data acquisition for photovoltaic power system   copy
Wireless data acquisition for photovoltaic power system copyYaseen Ahmed
 
Design and Implementation of Wireless Sensor Node for WSN for Automatic Meter...
Design and Implementation of Wireless Sensor Node for WSN for Automatic Meter...Design and Implementation of Wireless Sensor Node for WSN for Automatic Meter...
Design and Implementation of Wireless Sensor Node for WSN for Automatic Meter...paperpublications3
 

What's hot (20)

Towards automatic setup of non intrusive appliance load monitoring – feature ...
Towards automatic setup of non intrusive appliance load monitoring – feature ...Towards automatic setup of non intrusive appliance load monitoring – feature ...
Towards automatic setup of non intrusive appliance load monitoring – feature ...
 
IRJET- Automated Energy Metering System
IRJET- Automated Energy Metering SystemIRJET- Automated Energy Metering System
IRJET- Automated Energy Metering System
 
IRJET- Hall Effect Sensor Based Digital Smart Three Phase Energy Meter
IRJET- Hall Effect Sensor Based Digital Smart Three Phase Energy MeterIRJET- Hall Effect Sensor Based Digital Smart Three Phase Energy Meter
IRJET- Hall Effect Sensor Based Digital Smart Three Phase Energy Meter
 
A Real-Time IoT Implementation for Efficient Energy Consumption
A Real-Time IoT Implementation for Efficient Energy ConsumptionA Real-Time IoT Implementation for Efficient Energy Consumption
A Real-Time IoT Implementation for Efficient Energy Consumption
 
IRJET - Energy Consumption Indicator
IRJET - Energy Consumption IndicatorIRJET - Energy Consumption Indicator
IRJET - Energy Consumption Indicator
 
001
001001
001
 
PROTECTION OF ELECTRICAL EQUIPMENT USING 3D THERMOGRAPHY AND IMAGE PROCESSING
PROTECTION OF ELECTRICAL EQUIPMENT USING 3D THERMOGRAPHY AND IMAGE PROCESSINGPROTECTION OF ELECTRICAL EQUIPMENT USING 3D THERMOGRAPHY AND IMAGE PROCESSING
PROTECTION OF ELECTRICAL EQUIPMENT USING 3D THERMOGRAPHY AND IMAGE PROCESSING
 
3D Thermal Imaging
3D Thermal Imaging3D Thermal Imaging
3D Thermal Imaging
 
05 2017 03_ralph_gottschalg_standardsbodyperspective
05 2017 03_ralph_gottschalg_standardsbodyperspective05 2017 03_ralph_gottschalg_standardsbodyperspective
05 2017 03_ralph_gottschalg_standardsbodyperspective
 
Voltage stability Analysis using GridCal
Voltage stability Analysis using GridCalVoltage stability Analysis using GridCal
Voltage stability Analysis using GridCal
 
Design of a dual-band antenna for energy harvesting application
Design of a dual-band antenna for energy harvesting applicationDesign of a dual-band antenna for energy harvesting application
Design of a dual-band antenna for energy harvesting application
 
14 presentation barykina
14 presentation barykina14 presentation barykina
14 presentation barykina
 
Keynote icdcm Josep Guerrero
Keynote icdcm Josep GuerreroKeynote icdcm Josep Guerrero
Keynote icdcm Josep Guerrero
 
HOME APPLIANCE IDENTIFICATION FOR NILM SYSTEMS BASED ON DEEP NEURAL NETWORKS
HOME APPLIANCE IDENTIFICATION FOR NILM SYSTEMS BASED ON DEEP NEURAL NETWORKSHOME APPLIANCE IDENTIFICATION FOR NILM SYSTEMS BASED ON DEEP NEURAL NETWORKS
HOME APPLIANCE IDENTIFICATION FOR NILM SYSTEMS BASED ON DEEP NEURAL NETWORKS
 
DISTRIBUTED TRANSFORMER ENERGY METER USING GSM TECHNOLOGY
DISTRIBUTED TRANSFORMER ENERGY METER USING GSM TECHNOLOGYDISTRIBUTED TRANSFORMER ENERGY METER USING GSM TECHNOLOGY
DISTRIBUTED TRANSFORMER ENERGY METER USING GSM TECHNOLOGY
 
A robust maximum power point tracking control for PV panel using adaptive PI ...
A robust maximum power point tracking control for PV panel using adaptive PI ...A robust maximum power point tracking control for PV panel using adaptive PI ...
A robust maximum power point tracking control for PV panel using adaptive PI ...
 
Wireless data acquisition for photovoltaic power system copy
Wireless data acquisition for photovoltaic power system   copyWireless data acquisition for photovoltaic power system   copy
Wireless data acquisition for photovoltaic power system copy
 
08 supsi 2017_schweiger_v3
08 supsi 2017_schweiger_v308 supsi 2017_schweiger_v3
08 supsi 2017_schweiger_v3
 
Design and Implementation of Wireless Sensor Node for WSN for Automatic Meter...
Design and Implementation of Wireless Sensor Node for WSN for Automatic Meter...Design and Implementation of Wireless Sensor Node for WSN for Automatic Meter...
Design and Implementation of Wireless Sensor Node for WSN for Automatic Meter...
 
26 corbellini random forest for mismatch
26 corbellini random forest for mismatch26 corbellini random forest for mismatch
26 corbellini random forest for mismatch
 

Viewers also liked

Design and implementation of an expert system for monitoring and management o...
Design and implementation of an expert system for monitoring and management o...Design and implementation of an expert system for monitoring and management o...
Design and implementation of an expert system for monitoring and management o...Ahmed Spirit
 
Real-time monitoring and delay management of a transport information system
Real-time monitoring and delay management of a transport information systemReal-time monitoring and delay management of a transport information system
Real-time monitoring and delay management of a transport information systemLorenzo Sfarra
 
Wireless Sensor Network based Crop Field Monitoring for Marginal Farming: Per...
Wireless Sensor Network based Crop Field Monitoring for Marginal Farming: Per...Wireless Sensor Network based Crop Field Monitoring for Marginal Farming: Per...
Wireless Sensor Network based Crop Field Monitoring for Marginal Farming: Per...Farhad Sohail
 
Result Monitoring System using SMS thesis
Result Monitoring System using SMS thesisResult Monitoring System using SMS thesis
Result Monitoring System using SMS thesisCarul Push
 
Literature surveillance in pharmacovigilance
Literature surveillance in pharmacovigilanceLiterature surveillance in pharmacovigilance
Literature surveillance in pharmacovigilanceAnn-Marie Roche
 
Chapter 2-Realated literature and Studies
Chapter 2-Realated literature and StudiesChapter 2-Realated literature and Studies
Chapter 2-Realated literature and StudiesMercy Daracan
 

Viewers also liked (8)

ICUAS
ICUASICUAS
ICUAS
 
Design and implementation of an expert system for monitoring and management o...
Design and implementation of an expert system for monitoring and management o...Design and implementation of an expert system for monitoring and management o...
Design and implementation of an expert system for monitoring and management o...
 
Fowe Thesis Full
Fowe Thesis FullFowe Thesis Full
Fowe Thesis Full
 
Real-time monitoring and delay management of a transport information system
Real-time monitoring and delay management of a transport information systemReal-time monitoring and delay management of a transport information system
Real-time monitoring and delay management of a transport information system
 
Wireless Sensor Network based Crop Field Monitoring for Marginal Farming: Per...
Wireless Sensor Network based Crop Field Monitoring for Marginal Farming: Per...Wireless Sensor Network based Crop Field Monitoring for Marginal Farming: Per...
Wireless Sensor Network based Crop Field Monitoring for Marginal Farming: Per...
 
Result Monitoring System using SMS thesis
Result Monitoring System using SMS thesisResult Monitoring System using SMS thesis
Result Monitoring System using SMS thesis
 
Literature surveillance in pharmacovigilance
Literature surveillance in pharmacovigilanceLiterature surveillance in pharmacovigilance
Literature surveillance in pharmacovigilance
 
Chapter 2-Realated literature and Studies
Chapter 2-Realated literature and StudiesChapter 2-Realated literature and Studies
Chapter 2-Realated literature and Studies
 

Similar to Final_Report

IRJET- Feature Ranking for Energy Disaggregation
IRJET-  	  Feature Ranking for Energy Disaggregation IRJET-  	  Feature Ranking for Energy Disaggregation
IRJET- Feature Ranking for Energy Disaggregation IRJET Journal
 
IoT Based Smart Energy Meter using Raspberry Pi and Arduino
IoT Based Smart Energy Meter using Raspberry Pi and Arduino IoT Based Smart Energy Meter using Raspberry Pi and Arduino
IoT Based Smart Energy Meter using Raspberry Pi and Arduino Bilal Amjad
 
Fair Model for Electricity Billing and Sharing in Shared Apartment in Ghana
Fair Model for Electricity Billing and Sharing in Shared Apartment in GhanaFair Model for Electricity Billing and Sharing in Shared Apartment in Ghana
Fair Model for Electricity Billing and Sharing in Shared Apartment in GhanaIRJET Journal
 
A Comprehensive Review of Artificial Neural Network Techniques Used for Smart...
A Comprehensive Review of Artificial Neural Network Techniques Used for Smart...A Comprehensive Review of Artificial Neural Network Techniques Used for Smart...
A Comprehensive Review of Artificial Neural Network Techniques Used for Smart...ssuser793b4e
 
IOT BASED UNATTAINED TAMPER PROOF DIGITAL ENERGY METER
IOT BASED UNATTAINED TAMPER PROOF DIGITAL ENERGY METERIOT BASED UNATTAINED TAMPER PROOF DIGITAL ENERGY METER
IOT BASED UNATTAINED TAMPER PROOF DIGITAL ENERGY METERIRJET Journal
 
energy meter reader (1).pdf
energy meter reader (1).pdfenergy meter reader (1).pdf
energy meter reader (1).pdfDEEPAKAIT20
 
35_ELECTRICAL POWER
35_ELECTRICAL POWER35_ELECTRICAL POWER
35_ELECTRICAL POWERSagar Patil
 
35 electrical power
35 electrical power35 electrical power
35 electrical powerOsama Rizwan
 
power electrical
power electricalpower electrical
power electricaltetty_tee
 
IRJET- Internet of Things (IoT) based Smart Grid
IRJET- Internet of Things (IoT) based Smart GridIRJET- Internet of Things (IoT) based Smart Grid
IRJET- Internet of Things (IoT) based Smart GridIRJET Journal
 
Ieeepro techno solutions ieee 2014 embedded project gsm based automatic e...
Ieeepro techno solutions    ieee 2014 embedded project  gsm based automatic e...Ieeepro techno solutions    ieee 2014 embedded project  gsm based automatic e...
Ieeepro techno solutions ieee 2014 embedded project gsm based automatic e...srinivasanece7
 
Simulation of Smart Meter Using Proteus software for Smart Grid
Simulation of Smart Meter Using Proteus software for Smart GridSimulation of Smart Meter Using Proteus software for Smart Grid
Simulation of Smart Meter Using Proteus software for Smart GridIRJET Journal
 
IRJET-Simulation of Smart Meter Using Proteus software for Smart Grid
IRJET-Simulation of Smart Meter Using Proteus software for Smart GridIRJET-Simulation of Smart Meter Using Proteus software for Smart Grid
IRJET-Simulation of Smart Meter Using Proteus software for Smart GridIRJET Journal
 
EFFICIENT POWER THEFT DETECTION FOR RESIDENTIAL CONSUMERS USING MEAN SHIFT DA...
EFFICIENT POWER THEFT DETECTION FOR RESIDENTIAL CONSUMERS USING MEAN SHIFT DA...EFFICIENT POWER THEFT DETECTION FOR RESIDENTIAL CONSUMERS USING MEAN SHIFT DA...
EFFICIENT POWER THEFT DETECTION FOR RESIDENTIAL CONSUMERS USING MEAN SHIFT DA...ijaia
 
IRJET - IoT based Energy Monitoring System for Energy Conservation
IRJET -  	  IoT based Energy Monitoring System for Energy ConservationIRJET -  	  IoT based Energy Monitoring System for Energy Conservation
IRJET - IoT based Energy Monitoring System for Energy ConservationIRJET Journal
 
IRJET- Low Cost Harmonic Measurement using Arduino UNO
IRJET-  	  Low Cost Harmonic Measurement using Arduino UNOIRJET-  	  Low Cost Harmonic Measurement using Arduino UNO
IRJET- Low Cost Harmonic Measurement using Arduino UNOIRJET Journal
 
TECHNICAL SEMINAR 1CR19EE017.ppt
TECHNICAL SEMINAR 1CR19EE017.pptTECHNICAL SEMINAR 1CR19EE017.ppt
TECHNICAL SEMINAR 1CR19EE017.pptssuserb313d9
 

Similar to Final_Report (20)

IRJET- Feature Ranking for Energy Disaggregation
IRJET-  	  Feature Ranking for Energy Disaggregation IRJET-  	  Feature Ranking for Energy Disaggregation
IRJET- Feature Ranking for Energy Disaggregation
 
A1103020113
A1103020113A1103020113
A1103020113
 
IoT Based Smart Energy Meter using Raspberry Pi and Arduino
IoT Based Smart Energy Meter using Raspberry Pi and Arduino IoT Based Smart Energy Meter using Raspberry Pi and Arduino
IoT Based Smart Energy Meter using Raspberry Pi and Arduino
 
Fair Model for Electricity Billing and Sharing in Shared Apartment in Ghana
Fair Model for Electricity Billing and Sharing in Shared Apartment in GhanaFair Model for Electricity Billing and Sharing in Shared Apartment in Ghana
Fair Model for Electricity Billing and Sharing in Shared Apartment in Ghana
 
A Comprehensive Review of Artificial Neural Network Techniques Used for Smart...
A Comprehensive Review of Artificial Neural Network Techniques Used for Smart...A Comprehensive Review of Artificial Neural Network Techniques Used for Smart...
A Comprehensive Review of Artificial Neural Network Techniques Used for Smart...
 
IOT BASED UNATTAINED TAMPER PROOF DIGITAL ENERGY METER
IOT BASED UNATTAINED TAMPER PROOF DIGITAL ENERGY METERIOT BASED UNATTAINED TAMPER PROOF DIGITAL ENERGY METER
IOT BASED UNATTAINED TAMPER PROOF DIGITAL ENERGY METER
 
A laboratory scale IoT-based measuring of the solar photovoltaic parameters
A laboratory scale IoT-based measuring of the solar  photovoltaic parametersA laboratory scale IoT-based measuring of the solar  photovoltaic parameters
A laboratory scale IoT-based measuring of the solar photovoltaic parameters
 
energy meter reader (1).pdf
energy meter reader (1).pdfenergy meter reader (1).pdf
energy meter reader (1).pdf
 
35_ELECTRICAL POWER
35_ELECTRICAL POWER35_ELECTRICAL POWER
35_ELECTRICAL POWER
 
35 electrical power
35 electrical power35 electrical power
35 electrical power
 
power electrical
power electricalpower electrical
power electrical
 
IRJET- Internet of Things (IoT) based Smart Grid
IRJET- Internet of Things (IoT) based Smart GridIRJET- Internet of Things (IoT) based Smart Grid
IRJET- Internet of Things (IoT) based Smart Grid
 
Ieeepro techno solutions ieee 2014 embedded project gsm based automatic e...
Ieeepro techno solutions    ieee 2014 embedded project  gsm based automatic e...Ieeepro techno solutions    ieee 2014 embedded project  gsm based automatic e...
Ieeepro techno solutions ieee 2014 embedded project gsm based automatic e...
 
Simulation of Smart Meter Using Proteus software for Smart Grid
Simulation of Smart Meter Using Proteus software for Smart GridSimulation of Smart Meter Using Proteus software for Smart Grid
Simulation of Smart Meter Using Proteus software for Smart Grid
 
IRJET-Simulation of Smart Meter Using Proteus software for Smart Grid
IRJET-Simulation of Smart Meter Using Proteus software for Smart GridIRJET-Simulation of Smart Meter Using Proteus software for Smart Grid
IRJET-Simulation of Smart Meter Using Proteus software for Smart Grid
 
S2-R2
S2-R2S2-R2
S2-R2
 
EFFICIENT POWER THEFT DETECTION FOR RESIDENTIAL CONSUMERS USING MEAN SHIFT DA...
EFFICIENT POWER THEFT DETECTION FOR RESIDENTIAL CONSUMERS USING MEAN SHIFT DA...EFFICIENT POWER THEFT DETECTION FOR RESIDENTIAL CONSUMERS USING MEAN SHIFT DA...
EFFICIENT POWER THEFT DETECTION FOR RESIDENTIAL CONSUMERS USING MEAN SHIFT DA...
 
IRJET - IoT based Energy Monitoring System for Energy Conservation
IRJET -  	  IoT based Energy Monitoring System for Energy ConservationIRJET -  	  IoT based Energy Monitoring System for Energy Conservation
IRJET - IoT based Energy Monitoring System for Energy Conservation
 
IRJET- Low Cost Harmonic Measurement using Arduino UNO
IRJET-  	  Low Cost Harmonic Measurement using Arduino UNOIRJET-  	  Low Cost Harmonic Measurement using Arduino UNO
IRJET- Low Cost Harmonic Measurement using Arduino UNO
 
TECHNICAL SEMINAR 1CR19EE017.ppt
TECHNICAL SEMINAR 1CR19EE017.pptTECHNICAL SEMINAR 1CR19EE017.ppt
TECHNICAL SEMINAR 1CR19EE017.ppt
 

Final_Report

  • 1. Implementation of a non-intrusive, real time, fine grained power monitoring system for college campuses THESIS Submitted in partial fulfillment of the requirements of BITS C421T/422T By T.VIGNESH 2009A3TS209G Under the supervision of Dr. K. R. Anupama Professor and H.O.D, Department of EEEnI BITS, PILANI – K K BIRLA GOA CAMPUS Date 13-05-2013
  • 2. 2 CERTIFICATE This is to certify that the Thesis entitled Implementation of a non- intrusive, real time, fine-grained power monitoring system for college campuses is submitted by T.Vignesh, ID No. 2009A3TS209G in partial fulfilment of the requirements of BITS C421T/422T. Thesis embodies the work done by him under my supervision. Signature of supervisor Name Date 13-05-2013 Designation
  • 3. 3 ACKNOWLEDGEMENTS I would sincerely like to thank Dr. K.R. Anupama, Professor and H.O.D, Department of EEEnI, BITS, Pilani –K.K. Birla Goa Campus, for giving me the opportunity to work on this thesis and for supervising my work. I am grateful for the responsibilities entrusted in me, which served to further my knowledge and technical skills. I would also like to thank my mentor, Mr. Nishad Kamdar, for teaching me about TinyOS, for providing me with advice and guidance in the design and testing of protocols and for helping me out with sensor interfacing. I’d also like to thank my peer, Mr. Edwin Abraham, for helping me out with specific interfaces and components used in my work. I would like to extend my thanks to the lab assistants at the analog and embedded systems lab for providing me with the necessary resources from time to time. I am certainly grateful to BITS, Pilani University and BITS, Pilani –K.K. Birla Goa Campus for providing me with this opportunity to work on my undergraduate thesis.
  • 4. 4 Index I. Introduction and Motivation 6 II. Theory of Operation 8 III. Practical Considerations 11 A. Platform and microcontroller 11 B. Choice of Sensors 15 IV. Implementation 19 A. Stages involved 19 B. Sensor Network Architecture 19 C. Code Synthesis 22 1. Spanning Tree Formation 23 2. Time Synchronization Protocol 24 3. DMAC Protocol 25 4. ADC access and interfacing 29 5. Data Collection, Aggregation and Forwarding 31 D. Verification of Protocols 32 E. Sensor Interfacing 34 F. Automatic sensor calibration and Categorization of Data 39 G. Data Storage and Analysis 40
  • 5. 5 Index V. Conclusion 41 VI. Scope for future work – envisioning a Smart Grid 42 VII. Literature Survey and References 44
  • 6. 6 I. INTRODUCTION AND MOTIVATION College Campuses contain a good variety of static and dynamic loads owing to the internal population flux. Thus several energy consumption patterns arise, some of which are wasteful as well. Manual audits of BITS, Pilani – K.K. Birla Goa campus, have been carried out by URJA and EWB(Engineers Without Borders) – two voluntary organizations aimed at minimizing the energy budget of the campus. Such audits are carried out on an annual basis, have partial data and are subject to human errors. It is found to be impractical to organize frequent audits considering the students’ schedules. After some analysis, certain gaps were found in the data and a need to obtain energy data as frequently as possible was communicated by these audit teams. In order to better understand the public opinion on the same, surveys were conducted to gauge students’ general energy usage habits and suggestions to exercise judicious use of energy. A strong need to account for the per-capita consumption was expressed by the students. Thus to better understand the reasons for wastage of power arising from usage patterns, data about individual usage patterns was found to be required. Several proposals were put forward from time to time, but weren’t found to be implementable owing to the intrusive nature of measurements involved. However, an analysis of energy bills of the campus indicated that a modest 5% reduction in energy consumption implied savings of 19793kWh per month, ₹84320 per month and ₹1011846 per year. Assuming that this is achievable entirely at students’ end through a robust, real-time and fine- grained power monitoring system, contribution to savings by each batch of students was estimated to be ₹4047385 with increased projections for every subsequent year, owing to the increase in tariffs. This proves to be a significant amount and a strong reason to consider energy monitoring seriously. Establishing a system that measures the demand and supply patterns of electricity consumptions is the first step to better understand where and how energy can be saved. The act of measurement should essentially leave the existing consumption pattern undisturbed during installation and execution. Installation of in-line measurement devices requires the circuitry being accessed for the same to be switched off and hence a disturbance in the consumption pattern, which may not be tolerated in university scenario, where power resources are shared. Further, the maintenance or re- calibration of faulty meters/devices requires similar access and is hence highly inconvenient and isn’t recommended. Non-intrusive measurement strategies overcome this problem by tapping the measurable signals emitted by these circuits/appliances, such as local magnetic field variations and
  • 7. 7 device specific signals like intensity/frequency of light emitted (in case of bulbs, lights, etc.), frequency of sound emitted(refrigerators, compressors), temperature and humidity(ACs, coolers, etc.) or any other signal(s) strongly correlated to their power consumption. Traditional power monitoring techniques rely on custom-made devices that commit to memory, the consumption data of a fixed time interval. In order to retrieve and analyse this data, manual intervention is required. This makes the data non real-time. Alternatively a separate network infrastructure maybe required to obtain real time data. This adds to extra cost and may not be justifiable. Wireless Sensor Networks(WSN) offer a cheaper and highly effective solution to the problem of real-time monitoring as they can efficiently forward, aggregate and route data to the desired data sinks. They also offer enough flexibility for internal data route management and local logging of data. Also, given the cost of the custom-meters and the associated network infrastructure, the number of points that can be monitored is restricted. Knowledge of consumption patterns of a larger number of (non- redundant) points proves to be better useful in devising optimization strategies to reduce power. A WSN infrastructure proves to be a lot more cost and energy effective than its traditional counterpart in this aspect too. The above serves to be the basis for selecting this mode of energy monitoring.
  • 8. 8 II. THEORY OF OPERATION The basic premise of all the measurements made is the fact that there is a strong correlation between the magnetic field set up around a current carrying conductor and the current that produces it. The relation between the two is given by Ampere’s Law as given below: In this implementation the magnetic sensor was strapped to the wire, such that there’s no air-space between the sensor chip and the wire’s insulation. The actual values of the magnetic field at any given point of time may not give valuable information about the power consumption at any given instant. However, the variation in standard deviation with time serves to be a good indicator of real time current consumption of the wire. The following figure illustrates the above statement. Figure 1:Magnetic field change near a PC The noisy region indicates that the PC is active Given a constant voltage (which generally is the case with most devices in household use), it is possible to estimate the power consumption of the device under consideration. Else it would be suggested that a mechanism be in place to measure the voltage and the harmonic distortion components, non-intrusively as well.
  • 9. 9 Each sensor would output the value of magnetic field it senses as small voltage (in mV). Linear amplification is then used to feed the same to the motes. The standard deviation of magnetic field is then plotted against time. In order to read off the power consumption values from the same, calibration of the conversion constants is necessary. This is mathematically expressed as an optimization problem as described below. In order to formulate an optimization problem to calibrate the sensors, consider the following notation: y0(t) – total power consumption (monitored separately) si(t), [si,j(t)] – indicator function for ith device [for the jth internal state] – Boolean in nature pi(t) – power consumption of ith device For a device with j states: pi(t) = Σ (j=1 to Ki) Pi,j * si,j(t); where Pi,j is the average power consumption of j-th state of i-th device and Ki is the number of internal power states of the i-th device. si,j(t) is a Boolean function which tells which power state (j) the i-th device is in, at moment ‘t’. For uninstrumented appliances: pi(t) = Pi*si(t); where Pi is the average power consumption of the artificial appliance Magnetic Sensors: pi(t) = ⍺i*si(t) + βi; where ⍺i&βi are calibration parameters and si(t) the standard deviation of magnetic field at instant ‘t’ Direct Meter input: pi(t) = ~pi(t); For N devices, the total power reading of an area must equal the sum total of estimated power of that area. The formulation of the optimization problem is hence the following:
  • 10. 10 The above optimization problem is essentially a representation of the total power consumption of an area as the sum of power consumption of all the components connected to that meter which provides the reading. Thus, in order to satisfy the power consumption, the difference between the total power consumption reading as obtained from the meter and the sum of estimates of power consumption of individual components needs to be minimized. In order to calibrate the magnetic sensors, the above optimization problem needs to be solved. The solution which minimizes this to the best possible extent yields the values of the calibration parameters which can be used for the magnetic sensors. This being a multi-variable optimization problem requires a numerical method to solve the problem. The solution so obtained gives roughly, an estimate of power consumption patterns of individual devices and hence the demand-supply relation for each of them. We choose to a convex optimization toolbox for the same.
  • 11. 11 III. PRACTICAL CONSIDERATIONS A. Selection of Microcontroller The main requirements of the microcontroller to be used in this application are as follows:  ADC to convert the analog output of the sensors at the required rate  On board radio transceiver with the facility to support protocol stacks in order to forward the data obtained to the data sink in real time  Low power consumption and existence of low power states to extend the operation lifetime of the microcontroller  On-board/external memory to log raw data from the ADC for detailed analyses of data The requirements are summarized in the following digram: Figure 2: Arcitecture of a Wireless Sensor Node Motes have an architecture which support the above features. Telosb and motes suit the application very well. Most obviously, their compactness allows for less cumbersome deployment. The main components of motes are described below: Transceiver: Sensor nodes often make use of ISM band which gives free radio, spectrum allocation and global availability. The possible choices of wireless transmission media are Radio frequency (RF), Optical communication and
  • 12. 12 Infrared. Infrared is limited in its broadcasting capacity. Radio frequency based communication is the most relevant that fits most of the WSN applications. WSNs tend to use license-free communication frequencies: 173, 433, 868, and 915 MHz; and 2.4 GHz. The functionality of both transmitter and receiver are combined into a single device known as transceivers. Telosb motes contain CC2420 transceiver chips. They consume 38mW power when receiving messages and 35mW when transmitting at 0dBm. These transceivers have a good wireless range too (75-100m outdoors and 20-30m indoors). External Memory: Telosb motes have 1MB of external flash memory for data logging. It can be used to store the raw data obtained from A/D coversions. Power consumption: Perhaps the most important aspect of power monitoring is the power consumed by the mote in its active state. The total active power consumed by a mote is 41mW, of which 3mW alone is the energy consumed by the TI MSP430 processor when performing minimal computations. 38mW is consumed by the radio transceiver, CC2420. Thus evidently, more energy is required for data communication than any other process. The energy cost of transmitting 1 Kb a distance of 100 meters (330 ft) is approximately the same as that used for the execution of 3 million instructions by a 100 million instructions per second/W processor. Power is stored either in batteries or capacitors. Batteries, both rechargeable and non-rechargeable, are the main source of power supply for sensor nodes. Two power saving policies used are Dynamic Power Management (DPM) and Dynamic Voltage Scaling (DVS). DPM conserves power by shutting down parts of the sensor node which are not currently used or active. A DVS scheme varies the power levels within the sensor node depending on the non-deterministic workload. By varying the voltage along with the frequency, it is possible to obtain quadratic reduction in power consumption. Analog to digital converter: Telosb motes have built in 12-bit ADCs that support configurable sampling rates and flexibility to read at desired intervals and operate at two reference voltage levels - 1.5V and 2.5V. In order to read of the output of magnetic sensors, amplification of the same would be necessary.
  • 13. 13 The TelosB mote: Figure 3: The TelosB mote Features:  250kbps 2.4GHz IEEE 802.15.4 Chipcon Wireless Transceiver  Interoperability with other IEEE 802.15.4 devices  8MHz Texas Instruments MSP430 microcontroller (10k RAM, 48k Flash)  Integrated ADC, DAC, Supply Voltage Supervisor, and DMA Controller  Integrated onboard antenna with 50m range indoors / 125m range outdoors  Programming and data collection via USB TinyOS and nesC Telosb motes run on TinyOS which is an event driven, open source operating system developed for the resource constrained wireless sensor nodes. TinyOS v2.1.1 was used in developing the protocols for this application. Network Embedded Systems C or nesC is an extension to C programming language designed to incorporate the structuring concepts and execution model of TinyOS. The basic concepts behind nesC are:
  • 14. 14  Separation of construction and composition: programs are built out of components, which are assembled ("wired") to form whole programs. Components have internal concurrency in the form of tasks. Threads of control may pass into a component through its interfaces. These threads are rooted either in a task or a hardware interrupt.  Specification of component behaviour in terms of set of interfaces. Interfaces may be provided or used by components. The provided interfaces are intended to represent the functionality that the component provides to its user, the used interfaces represent the functionality the component needs to perform its job.  Interfaces are bidirectional: they specify a set of functions to be implemented by the interface's provider (commands) and a set to be implemented by the interface's user (events). This allows a single interface to represent a complex interaction between components (e.g., registration of interest in some event, followed by a callback when that event happens). This is critical because all lengthy commands in TinyOS (e.g. send packet) are non-blocking; their completion is signalled through an event (send done). By specifying interfaces, a component cannot call the send command unless it provides an implementation of the sendDone event.  Typically commands call downwards, i.e., from application components to those closer to the hardware, while events call upwards. Certain primitive events are bound to hardware interrupts.  Components are statically linked to each other via their interfaces. This increases runtime efficiency, encourages robust design, and allows for better static analysis of programs.  nesC is designed under the expectation that code will be generated by whole-program compilers. This should also allow for better code generation and analysis.
  • 15. 15 B. Choice of Sensors Appliances/devices with a single power state (on/off) require only current monitoring either using magnetic sensors or using light/acoustic sensors as per the availability of measurable signals emitted by the appliance. Appliances/devices with multiple power states (on/low power modes/sleep modes/off) may require additional sensor(s) apart from the magnetic sensor to identify the state. The choice of sensors is highly specific to the device/area being measured and is warranted if the quality of the signals being measured is good enough to support reliable correlation to the power consumption of the device/point. Listed below are some of the commonly available options for various types of sensors. Magnetic Sensors for current monitoring Types of magnetic sensors: Reed Switches : These sensors are more like electrical fuses and offer a digital output and indicate whether the magnetic field is above or below a certain level. They are more useful in applications like traffic monitoring, proximity sensing, etc. Figure 4: The Reed Switch Hall-Effect Sensors : Hall Effect sensors are useful in measuring magnetic fields like that of the earth, short circuit detection and detection of abnormalities on the surface of a magnetic material, etc. But they aren’t very sensitive to variations in magnetic field around a typical current carrying conductor. One such sensor is UGN3175. Reed switches and UGN3175(hall-effect sensor purchased)as discussed above don’t really satisfy the requirements of this application.
  • 16. 16 Anisotropic Magnetoresisitive (AMR) Technology Sensors: These sensors are very sensitive to variations in magnetic field and can accurately measure the magnetic field around any typical current carrying conductor. One such product is HMC1001, patented by Honeywell and consists of 4-element Wheatstone bridges that generate a voltage output in response to variations in the magnetic field about the magnetic axis. This sensor has been used in this work. Similar sensors with multiple axes (HMC1002) can offer more information about the magnetic field patterns around the conductor, but the application doesn’t really warrant it. These sensors can operate within a supply voltage range of 3V to 12V at 10mA and require periodic setting &/or resetting to restore sensitivity after prolonged exposure to a disturbing field. A disturbing field is one that can affect the magnetic domains enough to result in their orientation such that a constant sensor output is obtained. In order to avoid this, it is necessary to apply set/reset pulses at regular intervals. HMC1001 sensors were used in this application. These are single axis magnetic sensors. Figure 5: Honeywell’s AMR based magnetic sensors
  • 17. 17 Other Sensors for power monitoring In addition to magnetic sensors, light sensors, temperature/humidity sensors too can be used to detect the power state of a given appliance with the appropriate data in hand. They too have to be calibrated by solving the optimization problem mentioned above. Some of the options that can be considered for temperature, light, and humidity sensing include the following: Temperature Sensors: LM35: These are precision centigrade sensors and can be used to measure the temperature of a specific object given that the temperature of the air surrounding the surface is the same as that of the surface. Thus, in order to measure the temperature of a room when the AC is on, one needs to find a spot whose temperature is the same as that of the room. To measure the temperature of a specific object, epoxy covering would be required to ensure thermal insulation. Figure 6: LM35 Temperature Sensor On-board SensirionSHT11/SHT15 sensors: These are specifically designed for environment monitoring applications. They produce a digital output, which is stored in the mote’s EEPROM. The sensor is coupled with a 14-bit ADC.
  • 18. 18 Light Sensors: Photodiodes: These are simple diodes that produce a voltage when light shines on them. These can easily be interfaces with the motes. Photoelectric Sensors: These can be used to detect the characteristics of a moving object, its presence or absence. Photoresistors/Light Dependent Resistors: The resistance of these sensors vary with variation in light intensity. These can be easily interfaced with motes. Photoswitches: These are apt to detect the on-off state of appliances and can be easily interfaced with motes. On-board Light Sensors Hamamtsu S1087 and S1087-01: These are basically photodiodes to detect photosynthetically active radiation and the entire spectrum respectively. Figure 6: A Photodiode(left) and a LDR(right)
  • 19. 19 IV. IMPLEMENTATION The implementation of a power monitoring system requires a step-by-step approach, formulated as below: A. Stages involved i) Identification of a suitable microcontroller, appropriate sensors and areas suitable for monitoring. ii) Development of a suite of protocols to span all nodes, synchronize events between them, manage media access between the nodes, data aggregation and forwarding within the system of nodes. iii) Testing and verification of the accuracy and scope of the protocols developed using dummy data/internally generated data. iv) Sensor interfacing v) Deployment of sensor nodes in a given set of locations and collection of data at a central aggregator vi) Formulation and solution of optimization problem and machine learning codes for calibration of sensors vii) Data analysis and online storage using PHP API viii) Duplication of system to multiple locations ix) Establishing the demand-supply patterns to lay the foundations of a smart grid framework B. Sensor Network Architecture Sensor Network architectures are developed on the basis of data flow patterns in the network. A power monitoring application requires all the data to flow to a single data sink attached to the laptop. Two architectures support this flow quite effectively. These are:  Cluster Based Architecture  Hierarchical or Tree Based Architecture Cluster based architectures typically consist of clusters of nodes with the cluster heads of each cluster acting as local data sinks. These data sinks communicate with each other and a global data sink to transfer their data effectively without collisions. Tree based architectures on the other hand, have a hierarchical structure throughout. A single root node acts as the global data sink and data flows up the tree from the leaves or end nodes, through intermediary parent nodes.
  • 20. 20 Tree based architecture has been used in this work. The following is a description of the same Hierarchical or Tree Based Architecture Root Node: This node acts as the global data sink of the network and initiates time synchronization and data flow in the network. It aggregates the data from all the lower nodes and sends the same to the laptop via the USB port. Data from this node is not broadcasted over the radio as it has no parent. The node depth of this node is zero. The root has some children which belong to node depth 1 and act as parents to the lower level. The root acts as a reference node for the tree. Parent Node: Every node in the tree that reports to another node is said to be a node depth below the one to which it reports. The latter is called as the parent node and the former as the child node. Every parent can have many children, but not vice-versa. The parent doesn’t know how many children it has, as the data flow is unidirectional-from the child to the parent. Every parent aggregates data from all its children, appends its own data to it and sends the same to the node which acts as its parent. As the number of nodes increases, the number of node levels needs to be increased in order to avoid draining away the power of any given parent by overloading it. Root node, hence acts as the parent of the highest order. Child Node: The tree ends at leaf nodes which act as children to the nodes to which they report. These nodes, following time synchronization, do the sole job of sampling their own data and forwarding to their respective parents. Every parent, of course acts a child to its own parent. Every child knows its parent and ensures that its data packets don’t collide with those of another child of the same node depth. The leaf nodes consume the least power and any node that is severely drained of energy is best advised become a leaf node and reduce the energy overhead due to data reception.
  • 21. 21 Root Node (Depth 0) Data Flow Node Depth 1 Node Depth 2 Leaf Nodes (Depth 3) Figure 7: Hierarchical or Tree Based Network
  • 22. 22 C. Code synthesis for Network Protocol Suite The network protocol suite developed for the application needs to be simple, energy efficient, simple and should result in a good packet delivery ratio. The following protocols constitute the network protocol suite for the application: 1. Spanning Tree Formation 2. Time Synchronization Protocol 3. MAC protocol implementation for staggered sleep wake cycles (DMAC) 4. ADC access and interfacing 5. Data Collection Protocol and Data Aggregation Protocol
  • 23. 23 1. Spanning Tree Formation Each node is programmed with an Active Message Node ID. The node whose ID has 1 as the first digit acts as the root node and is connected to the laptop. Immediately after booting, a timer is called which turns on Active MessageC using the SplitControl interface. On completion of this event, the root broadcasts its timer, address and node depth (zero). The nodes which receive this message first capture the RSSI (Received Signal Strength Indicator) and LQI (Link quality Indicator). RSSI and LQI are parameters of the packet that serve to be indicators of the strength of the signal received. A low LQI indicates bad packet delivery ratio or delivery of packets damaged by noise. If the LQI is less than 95, the message is simply discarded. This value was arrived at by studying the LQI values of typical packets received without setting any condition on LQI. If the condition is satisfied, they set their respective timer counters to the same value as that received and set their node depths as one greater than the node depth received. They also store the address of the root as the parent address for all future correspondences. A flag indicates the level discovery status of the node and is set to true, once the node has set its node depth. The node then broadcasts its node depth, counter, address and parent’s address. The flag ensures that the same node doesn’t discover its level multiple times. The nodes which couldn’t set their node depths owing to either poor Link quality or simply by virtue of being out of the transmitting range of the root node, receive this message and after checking for LQI, discover their level and set their counters and parent addresses in accordance with the value received. This process continues till all the nodes in deployment have been spanned by the tree. This completes the spanning tree formation protocol. The power level of the transceiver is to be set after considering the maximum distance between any two nodes in the given domain. The CC2420Packet interface provides a command to set this power. The range of values offered is between 1 and 31 and is the power level of the transceiver in dB. The highest power, 31 dB offers a maximum indoor range of 30m and a maximum outdoor range of about 65m. A message transmitted by a mote in a dorm room at 3dB power level (or upto 4dB) is sufficiently strong to be received by another mote in the same room. Setting a very low power level would cause multiple node levels to be discovered and sometimes, the loss of packets. The power level should hence be chosen carefully.
  • 24. 24 2. Time Synchronization Protocol Several time synchronization protocols have been suggested for sensor networks in general. The most popular ones are Reference Broadcast Synchronization (RBS) and the traditional Time Sync Protocol for Sensor Networks (TPSN). However, these protocols aren’t supported quite very well by the network architecture used. RBS synchronizes the time between nodes of the same level and requires a reference broadcast from the root. Ensuing communication between nodes of the same depth ensures that these nodes are in sync. TPSN, on the other hand requires handshaking between the parent and the child to establish time synchronization. The proposed network architecture allows only for one way communication from the child to the parent. Hence these protocols would be cumbersome to implement. During the spanning tree formation phase, every broadcasting node sends its counter value in the message sent. Every node that receives the same sets its counter to the same value. Given the transmission rate (250kbps) and speed(2.4GHz) of CC2420, the delay between the sender and receiver would at most be in the range of microseconds. Thus, the nodes are synchronized with respect to each other and to the root as the spanning tree formation is completed. However, nodes tend to run out of sync with respect to each other and the root as the time progresses owing to minute differences in the device architecture of motes and their oscillators. Thus in order to ensure time synchronization for prolonged operation, it necessary that the nodes exchange their counter values and set them accordingly at regular intervals. During normal operation, when a pre-defined counter value is reached, the leaf nodes set a flag (time_sync_req) to true and transmit the same along with data, in the message packet. This node resets its level discovery flag to false after sending and stops sending further data to the parent till its level is discovered again. The parent, on receiving the message sets its time_sync_flag to true and sends the same in the message packet. After sending, it sets its level discovery flag to false sends no further data packets till its level is discovered again. This process continues till it reaches the root and the root send out a level discovery message again to achieve both time synchronization and spanning tree formation for another cycle of data collection. The sleep wake cycles (discussed in the next section) ensure that the children are ready to receive the level discovery message before the root sends out the same to initiate the process again. This protocol fits the network architecture and ensures time synchronization.
  • 25. 25 3. DMAC Protocol Medium Access Control (MAC) protocols define how various different devices are supposed to access the same media to communicate with the intended device connected to the former through this medium. The essential attributes of a good MAC protocol is avoidance of over contention of the medium with too many data packets at the same time, collision avoidance and a fair chance for every device to access the medium in every medium access cycle. The MAC protocols are generally based either on TDMA (Time Division Multiplexed Access) or CSMA (Carrier Sense Multiple Access) with CA(Collision Avoidance) or CD(Collision Detection), generally abbreviated as CSMA/CA or CSMA/CD. Several MAC protocols have been developed for wireless networks. Some of the protocols based on TDMA include DMAC, LMAC, MC-LMAC, PMAC, EMACS, Crankshaft protocol, etc. Some protocols based on CSMA include SMAC, TMAC, BMAC, MMAC, TRAMA, FLAMA,etc. Some protocols like ZMAC combine the benefits of both approaches, while some others like MSMAC, MFMAC and CCMAC are designed to perform in mobile environments, multiple frequency transmissions and spatial correlation in WSN respectively. Power monitoring application requires only data of a single kind (i.e. no priority data or interrupts) to be sent from each node. There aren’t any special cases and the data is to be sent at regular intervals only. The above coupled with the tree structure of the network and the unidirectional flow of data through the network stipulate the requirement of a simple TDMA based protocol. With these requirements in mind, DMAC serves to be the most suitable protocol to implement and use for this application. Hence DMAC has been implemented to control the sleep wake cycles and medium access in the network. Also, DMAC suffers the least due to data forwarding interruption problem, which occurs in tree based networks using CSMA based MAC schemes. In DMAC, the duty cycles of nodes of successive node depths are staggered with respect to each other, such that any given node is ahead of its parent by half the active period duration. Reception of packets happens in the first half of the active period and the transmission of data packet happens in the second half. Thus when a child is transmitting, the parent is receiving and when the parent transmits, the child is asleep, while the parent of the higher node level is receiving. Any data packet thus sent, propagates all the way upto the root, with reference to whose duty cycle, all other duty cycles are staggered in the order of their node depths.
  • 26. 26 Figure 8: Data forwarding interruption problem in contention based SMAC protocol and its absence in DMAC protocol Figure 9: Sleep wake cycles in DMAC protocol
  • 27. 27 In the code, immediately after sending the level discovery packet, each node sets a flag that indicates that the level discovery for that node is over and that the time synchronization with all higher nodes is complete. Once this flag is set, the duty cycle of the node is set such that it is awake for two- fifths of the cycle. For instance, consider a 1 second cycle. The node remains awake for 400ms and asleep for the rest of the cycle - 600 ms. The cycle starts with the ActiveMessageC component being switched off by the SplitControl interface when the value of the counter equals one wake period plus the difference between the counter value received and the value obtained by multiplying the node depth and the one-half the wake period. This ensures that every node is ahead of its parent’s cycle by one-half of a wake period. The variable counter_value stores the node depth specific value, the counter indicates the current counter and the counter_received variable indicates the value of the counter received from the parent. The ActiveMessageC component is turned on again when the duty cycle period is complete and the value of the counter_value variable is updated with the current counter value, the moment the radio is turned on again. The following code snippet describes the sleep-wake cycle assignment: counter_value = counter_received – (node_depth*half of the wake period); if(counter – counter_value == wake period){call SplitControl.stop();} if(counter – counter_value == duty cycle) {call SplitControl.start(); counter_vaue = counter;} Thus every node sends data aggregated for a second in its sending slot. Also, nodes of the same depth need to divide the receive time available to the parent amongst themselves such that the data packets from any two or more nodes of the same level don’t suffer losses due to packet collision. This is achieved by fixing the send times based on their unique node IDs. A certain digit or a set of digits of the node ID are extracted and the data is sent by that node, exactly the number of counts indicated by those digits(or the same multiplied by a constant multiple for all nodes, like say 10) following the middle of the wake period. This ensures that no two packets of two nodes belonging to the same node level are sent at the same time. This avoids packet collisions. The following code snippet illustrated the same: If(counter – counter_value == half the wake period + TOS_NODE_ID) call AMSend.Send(&packet, sizeof(DataPacket));
  • 28. 28 By default, the maximum permissible size of a data packet is 28 bytes. When data reception starts every node maintains a counter that increments itself every time a packet is received. Each packet can hold the data of 4 children. If the number of packets exceeds 4, a flag is maintained in the message structure (more-to-send or MTS) that is set to true. This flag indicates that the sending node and all the nodes above the current level have to increase their duty cycle by one half the wake period. All the excess data packets are sent by the sending node successively after the respective node ID value is reached at every count following the same. This is the case when the network is large in size and this feature ensures scalability of the network. Thus nodes higher up the tree need to have enough power resources to support themselves in the face of increased workload. Periodic refreshment of the tree ensures that nodes that have a are low on battery and hence with a low value of LQI, act as children and those with enough battery power left, take up the role of parents. The data prediction feature isn’t required by the application because the data received from a single child is always of a fixed size. This completes the implementation of DMAC protocol.
  • 29. 29 4. ADC Access and Interfacing TelosB motes have 12 bit ADCs that can be accessed from 6 pins of the expansion connectors U2 and U28 (ADC0-3, ADC6-7) and ADC4-5 interfaced to the on-board photodiodes, if present. The hardware abstraction of ADCs in TinyOS 2.1.1 as described in TEP 101 aligned to a 3-layer Hardware Abstraction Architecture (HAA). The three layer ADC stack consists of a Hardware Interface Layer (HIL) with chip specific implementation that provides an interface to read the results of ADC data conversion. It uses a Client provided interface that contains the configuration details of the ADC to be accessed. This is the only means by which the ADC stack exposes its underlying components to the user/client. The Hardware Adaptation Layer (HAL) exposes the chip specific capabilities of the ADC to the HIL and implements resource allocation, single/multiple conversions and various modes of reading. Hardware Presentation Layer is a stateless component that provides access to the hardware registers. The HAL accesses them to implement the functionalities exposed to the user via HIL. In order to access one of the ADCs, the configuration structure is to be defined by the user and the AdcConfigure interface used by the AdcReadClientC component is to be wired to the AdCConfigure interface provided by the Client in the application code. Msp430Adc12.h file contains the definitions of the configurable parameters, which the user needs to declare in the application code. For instance, consider the following configuration provided in the application code: const msp430adc12_channel_config_t config = { inch: INPUT_CHANNEL_A1, sref: REFERENCE_VREFplus_AVss, ref2_5v: REFVOLT_LEVEL_2_5, adc12ssel: SHT_SOURCE_ACLK, adc12div: SHT_CLOCK_DIV_1, sht: SAMPLE_HOLD_4_CYCLES, sampcon_ssel: SAMPCON_SOURCE_SMCLK, sampcon_id: SAMPCON_CLOCK_DIV_1};
  • 30. 30 This code accepts A1 as the input channel and samples values from ADC1 (Port61). There are totally 8 input channels available for external interfacing (A0-A7 mapped to Port60-67 of Msp430). Apart from the above, there are 4 other input channels that come from internal sources. These include EXTERNAL_REF_VOLTAGE_CHANNEL (inch: 8), REF_VOLTAGE_NEG_TERMINAL_CHANNEL (inch: 9), TEMPERATURE DIODE CHANNEL (inch: 10), SUPPLY_VOLTAGE_HALF_CHANNEL (inch:11). The reference voltage, sref accepts REFERENCE_VREFplus_AVss as the reference voltage to generate reference voltages of VR+ = VREF+ and VR- = AVss. Other options for reference voltages are also provided in the header. The reference voltage level, ref2_5v takes 2.5V as the reference voltage level and generates an ADC count between 0 and 4096, with 4096 corresponding to 2.5V. It also offers an option to configure ref2_5v to accept 1.5V as the reference voltage to generate ADC counts that scale between 0 and 1.5 volts only. The adc12ssel field specifies which clock is to be used to sample and hold the ADC values. This code accepts ACLK as the source. MCLK, SMCLK and the 5Mhz oscillator, ADC12OSC are the other options available. The field adc12div can be used to divide down the ADC clock by upto 8 times. sht field indicates the sample hold time, which in this case is 4 clock cycles and the options provided extend upto 1024 clock cycles. The fields, sampcon_ssel and sampcon_id indicate the clock source and clock divider for the sampcon signal respectively. The most recently sampled ADC value is available to the read interface. The application developed in this work uses the above configuration and calls the read interface once every 20ms and stores the value. The internal channels help prove to be useful in testing the rest of the protocols and the correct function of ADC interfacing.
  • 31. 31 5. Data Collection, Aggregation and Forwarding The ADC samples are obtained at the rate decided by the clock source. ACLK has been chosen as the clock source with a sample and hold time of 4 clock cycles. ACLK offers samples readings at 32Mhz frequency. The read interface however is called only once every 20ms. The duty cycle chosen for the application is 1s. Hence, about 50 readings are obtained every second. The data processing code calculates the mean and standard deviation of the samples read-off from the ADC. In order to calculate the mean, a separate count for the number of readings is maintained, which is incremented every time a readDone event is signalled. The read values are added and then divided by this count to obtain the mean. In order to obtain the variance, the square of the difference between each reading and the calculated mean is summed and divided by the no of readings. In order to obtain the standard deviation of the readings, square root of the variance is to be calculated. As nesC libraries don’t offer a square root function, the same is numerically calculated by a small code block, called by the readDone event. The values of standard deviation and mean thus obtained are stored privately in the node under specific variables In order to aggregate the data obtained from children, the parent stores the data received in separate variables that are privately maintained by that node. Throughout the receiving phase, the data received from different children are stored in these variables. Once all data has been stored in private variables, the same is written to the message structure with or without the MTS flag as the case may be. The data of three children and that of the sending node is written and sent in the message. If the MTS flag is set, data from other children are written to the message structure and sent. The data sent includes the mean and standard deviation of the sensor values and the address of the sending node. Thus one reading is sent per second. The values sent are aggregated at the root node and finally printed on to the terminal. The data is then written from the terminal to a text file.
  • 32. 32 D. Verification of Protocols In order to verify the time synchronization protocol and spanning tree formation, the time period for refreshment of the tree was set to 50*60 or 1 minute. It takes 50 counts for the node’s timer to complete a cycle, which is 1 sec. In order to demonstrate the protocols, this value was chosen. The intended value is 50*60*30, i.e, the tree is expected to refresh itself once every 30 minutes. 4 motes were programmed with node IDs, 10, 21, 41 and 61. The node with ID 10 served as the root node and other IDs, in this demonstration were the children of the root. Following are the screen shots obtained when the program was executing on the motes. The input channel used was ADC4, hence the values of the mean and the standard deviation. The values from the root node were printed out on the terminal. Figure 10: Output of the root node The root, received a last piece of data from all the children when the counter was 2991 and went to sleep at 3011. The data displayed after this line is the data obtained during the wake cycle of the root. This is so because the printf commands to display the results reside in the stopDone event of the SplitControl interface. As the time_sync_req flag was set, the root reverted back to the initial tree formation phase. In order to emphasize on the counter, the value of the counter was set to 40 in the code that refreshes the spanning tree. Thus, when the root node started out to broadcast the level
  • 33. 33 discovery message, the counter value of 41 was broadcasted. The sleep wake cycle was set once again, as can be seen in the display. The following is a screenshot of the values sent by one of the children: Figure 11: Output of the child node The screenshot indicates the values sent by the child. Since this child is a leaf node, no values are received from its children, as there are none. The values printed to the screen are those of the children. However, the values sampled and sent by this node appear above the asleep line as a set of 3 values. For instance, above the ‘asleep at: 3001’ line, the values: 0 for mean, 2 for standard deviation and 61 for node address can be seen. Again, like the root node, the condition to refresh the tree resides in the stopDone event. Hence, this node awaits a level discovery message from the root or another node. Level discovery was successful with its node depth being 1 and the LQI value satisfying the criterion to accept the sender of the message as the parent. These screenshots also verify successfully, the sleep-wake cycle and DMAC implementation, ADC access and interfacing, and data aggregation and forwarding protocols.
  • 34. 34 E. Sensor Interfacing HMC1001 sensors are single axis magnetic sensors with 4-element Wheatstone bridges that measure magnetic fields within a limited range and provide a small output that requires amplification. Following are the specifications of HMC1001: Bridge voltage referenced to Gnd: 5V (upto 12V) Bridge current: 10mA. Sensitivity: 3.2mv/V/gauss The following data from the data sheet of HMC1001 indicates the key performance characteristics: Figure 12: Performance Characteristics of HMC1001 The above data graphs indicate that the output value obtainable for the magnetic field variations around a typical current carrying conductor, like that of a laptop PC is very small. Given a ±5 mGauss variation in magnetic field at the periphery of the wire of a PC, the output voltage variation is expected to be very small. Thus in order to amplify the same, an amplification circuit was to be built. The datasheet also provides an application note on current sensing applications. The following circuit was
  • 35. 35 then assembled in the lab and tested against small inputs generated from the signal generator. Figure 13: Circuit to interface HMC1001 with the ADC As LMV324N wasn’t available, uA741 was used. The idea was to amplify the voltage by about 200 times, such that a variation of 10mVp-p produced an output of about 2Vp-p. In order to obtain the required amount of amplification, the resistances were modified and with R7 and R8 as 100K- ohm, R9 and R10 as 1K-ohm, R5 and R4 as 470 ohm, an gain of about 200 was obtained. The circuit assembled is shown below:
  • 36. 36 Figure 14: Circuit to amplify the output of HMC1001 As the magnetic sensors were SMD chips and were too small to fit a breadboard, they were soldered to a SMD to DIP converter socket and the connections made, as shown below: Figure 16: Magnetic sensor soldered to the converter socket
  • 37. 37 Two sample outputs were tested, on the scope. One was the amplified sensor output when the magnetic sensor was strapped to the power wire of the oscilloscope and the other to that of the signal generator. The amplified outputs turned out to be very small and were displayed on the oscilloscope screen. They displayed periodic variations which vaguely resembled the AC supply input. However, a lot of noise was observed too. The following were the outputs obtained: Figure 17: Amplified output for the power wire of the scope(left), signal generator(right) When tested with the power cord of a PC, the value wasn’t constant and showed variations around a range. The portion of the power cord with regulated DC output to the PC was strapped to the sensor. In order to obtain the standard deviation of the same, the output was connected to the ADC4 input of the mote and the output displayed on the terminal was written to a text file. The power cord was unstrapped from the sensor when the counter value was 34641 in the extract from the output file shown below: Output file extract: asleep at: 34611 mean: 56, standard deviation: 215, node ID: 21 mean: 0, standard deviation: 0, node ID: 0 mean: 0, standard deviation: 0, node ID: 0 mean: 0, standard deviation: 0, node ID: 0 awake at 34641 Root node address:10, depth: 0 Root's counter broadcast to others: 41, own counter: 34641 received asleep at: 34661 mean: 56, standard deviation: 215, node ID: 21 mean: 0, standard deviation: 0, node ID: 0
  • 38. 38 mean: 0, standard deviation: 0, node ID: 0 mean: 0, standard deviation: 0, node ID: 0 awake at 34691 Root node address:10, depth: 0 Root's counter broadcast to others: 41, own counter: 34691 received asleep at: 34711 mean: 56, standard deviation: 215, node ID: 21 mean: 0, standard deviation: 0, node ID: 0 mean: 0, standard deviation: 0, node ID: 0 mean: 0, standard deviation: 0, node ID: 0 awake at 34741 Root node address:10, depth: 0 Root's counter broadcast to others: 41, own counter: 34741 received asleep at: 34761 mean: 56, standard deviation: 214, node ID: 21 mean: 0, standard deviation: 0, node ID: 0 mean: 0, standard deviation: 0, node ID: 0 mean: 0, standard deviation: 0, node ID: 0 awake at 34791 Root node address:10, depth: 0 Root's counter broadcast to others: 41, own counter: 34791 received asleep at: 34811 mean: 56, standard deviation: 215, node ID: 21 mean: 0, standard deviation: 0, node ID: 0 mean: 0, standard deviation: 0, node ID: 0 mean: 0, standard deviation: 0, node ID: 0 awake at 34841 Root node address:10, depth: 0 Root's counter broadcast to others: 41, own counter: 34841 received asleep at: 34861 mean: 56, standard deviation: 215, node ID: 21 mean: 0, standard deviation: 0, node ID: 0 mean: 0, standard deviation: 0, node ID: 0 mean: 0, standard deviation: 0, node ID: 0 awake at 34891 The above output indicated that the value of standard deviation was strangely fixated at 215 even after the input had changed. This indicated the saturation of domains in the sensor after a disturbing magnetic field caused orientation of domains in particular direction for a long enough period of time. The output was measured for over 10 minutes with the power cord strapped to the sensor. In order to overcome the issue, a circuit to periodically set/reset the magnetic sensor was necessary. As mentioned in the circuit diagram for interfacing the sensor, transistors IRF7105P/N were required. Alternate transistors were used and a clock pulses were given once every second to reset the sensor. The output obtained wasn’t satisfactory.
  • 39. 39 F. Automatic Sensor Calibration and Categorization of Data In order to reliably map the standard deviation of the sensor output to the power consumption, the real time power of the device is to be calculated or monitored and the optimization problem needs to be solved using a convex optimization toolbox thereby giving the values of calibration constants ⍺i&βi. A simple Hebbian learning rule based neural network with weights ⍺I corresponding to the standard deviation values obtained from the nodes as inputs to then network, and a constant input to the network, with weights βi would effectively calibrate the constants for each node’s standard deviation value to estimate the power consumption of that device. This network needs to be trained with the correct values of the constants calculated by the optimization toolbox, given the total power and individual standard deviation inputs. Once in deployment, when a set of standard deviation values are obtained, the network converges to the right set of outputs as the trained weights ensure that the right output value of power is obtained from each standard deviation input. These values can then be stored and analysed. ART(adaptive resonance theory)is a classifying network and can be used for classifying data into categories like tubelights, fans, laptops, etc.
  • 40. 40 G. Data Storage and Analysis PHP provides options to post data to the web, analyse the data and generate graphs indicating the power profiles estimated. A simple PHP GUI can be used to visualize these functionalities. Google drive provides a PHP API that can be used to post the data obtained from the root node to google drive. This makes sure that data is stored online and is accessible to many users for data analysis. In order to obtain timely information, aggregated packets would be written to a text file/document that would be refreshed by the PHP code if the data in it has been posted to google drive. Data obtained in one spanning tree formation cycle can be aggregated and posted to the online repository every 30 minute, as was mentioned in the time synchronization protocol. The power profile is to be analysed for sudden or noticeable variations in power consumption. For instance, when a laptop switches from active mode to one of the low power modes or off mode, the standard deviation of the magnetic field observed dies down to zero. The study of such patterns over an extended period of time offers insights into the wasteful components of power consumption, such as the period when the PC is simply left in active mode without any user input or file activity. Tracking down such periods helps in pinpointing wasteful behaviours and discouraging them.
  • 41. 41 V. CONCLUSION In an attempt to establish a fine-grained, non-intrusive, real-time power monitoring system, the protocols and algorithms necessary to sample, aggregate and forward sensor data to a central processing unit were developed. A wireless sensor network was established to do the intended task and the protocols for spanning tree formation; time-synchronization, DMAC based medium access control, ADC access and interfacing, data aggregation and forwarding were developed and tested. The algorithms and protocols developed were found to be fully functional and scalable to a network of any arbitrary size. The network non-intrusiveness, real-time functionality and the ability to provide fine grained data are found to be supported well by the network architecture proposed and implemented. Magnetic sensors were successfully interfaced with the motes, to track AC flow patterns. In an attempt to measure DC flows, saturation of magnetic field was found and the need to implement set/reset circuitry to rectify the same was established. A PHP script to post the data to the web and a GUI to analyse the data was developed. The identification of the appropriate types of neural nets and the exact requirements of the neural networks and were established.
  • 42. 42 VI. SCOPE FOR FUTURE WORK – ENVISIONING A SMART GRID This work was undertaken, keeping in mind the following objectives:  Establishing maintenance free, automated, non-intrusive, fine- grained, real time power monitoring system  Measuring performance characteristics of various electrical utilities connected to the grid  To be able to communicate to every (accountable) resident about their consumption patterns and provide appropriate notifications to minimize wastage from the human end  Developing a microgrid for hostels (to start with) where load isolation is achievable  Extending the idea to develop microgrids for every part of the campus and to integrate them under a single roof –the smart grid  To promote a sense of responsibility and belonging to every consumer of electricity on campus Sensor interfacing was done with incomplete results, due to the lack of appropriate components. The circuitry to set/reset the sensor periodically is an essential component for the normal functioning of the sensors to provide reliable and accurate data. It would be a cumbersome idea to develop circuits on the breadboard and use them for real deployment in various parts of the campus. Developing a PCB with the circuit soldered to the same is integral to the mobility of the sensors. In this work only magnetic sensors were used to infer about the power consumption of the device under consideration. Use of light, temperature, acoustic and humidity sensors is essential to improve the quality of the estimation. Development of a robust calibration network wasn’t completed and would be undertaken in the future when reliable data from multiple sources becomes available, as the number of neurons in the network would be decided by the number of inputs to the network. Rigorous data analysis of a large area of the university is necessary to establish wasteful patterns in power consumption. Logging raw data and analysis of raw data would give insights into power consumption components that are wasteful and result due to leakages. The power consumed by some appliances and circuits when connected to the power grid due to leakage of current is called as phantom power and tends to be large for heavy duty circuits/appliances such as A/C. Establishing the
  • 43. 43 profile of phantom power consumption helps in devising strategies that can effectively curb this component completely. Measuring the profiles of both consumption and production of power throughout the campus is useful in establishing demand-supply patterns within a given domain, such as hostels or classrooms. Leveraging this information is useful in developing micro-grids that manage the power requirement and production to optimize power usage. A micro-grid essentially connects to or disconnects from the grid depending on the power requirement profile of that domain/area. When the consumption due to every individual is established beyond doubt, every individual would have to pay only for their own consumption. This encourages vigilance in consumption patterns and discourages wasteful patterns of consumption. Establishment of an internal market and storage of power to leverage unused power is a novel way of avoiding blackouts in the face of temporary disconnection from the power grid. This is essentially the power of a fully functional smart grid. In order to achieve the same, careful planning needs to be done after identifying the best possible sources and sinks of the distribution. The final goal of this work is the culmination of a fully functional smart grid as the most optimal energy solution possible.
  • 44. 44 VII. LITERATURE SURVEY AND REFERENCES [1] Younghun Kim, Thomas Schmid, Zainul Chabriwala, Mani Srivastava, ‘ViridiScope: Design and Implementation of a Fine Grained Power Monitoring System for Homes’ in Proc. Eleventh International Conference on Ubiquitous Computing, 2009 [2] Polastre, J., Szewczyk, R., Culler, D., ‘Telos: enabling ultra-low power wireless research’ in Proc. Fourth International Symposium on Information Processing in Sensor Networks: Track on Platform Tools and Design Methods for Network Embedded Sensors, 2005 [3] Benny, P.L., Thiemjarus, S., King, R., Yang, G., ‘Body Sensor Network – A Wireless Sensor Platform for Pervasive Healthcare and Monitoring’ in Proc. Third International Conference on Pervasive Computing, May 2005 [4] Polastre J., Szewczyk R., Mainwaring, A., Culler, D., Anderson, J., ‘Analysis of Wireless Sensor Networks for Habitat Monitoring’ In ACM International Workshop on Wireless Sensor Networks and Applications (WSNA’02), Atlanta, GA, USA, Sept. 2002. [5] Sinopoli, B., Sharp, C., Schenato, L., Schaffert, S., Sastry, S., ‘Distributed Control applications Within Sensor Networks’ in IEEE Proceedings Special Issue on Distributed Sensor Networks, 2003 [6] http://www.tinyos.net [7] Estrin D., John H., Wie Ye, ‘An Energy Efficient MAC Protocol for Wireless Sensor Networks’ in Proc. of Twenty -First Annual Joint Conferenceof the IEEE Computer and Communications Societies, INFOCOM 2002 [8] Gang Lu, Bhaskar K., Cauligi S., ‘An Adaptive Energy-Efficient and Low Latency MAC for Data Gathering in Wireless Sensor Networks’ in Proc. of 18th International Parallel and Distributed Processing Symposium (IPDPS’04) [9] Ganeriwal S., Ram K., Mani B., ‘Timing-sync Protocol for Sensor Networks’ in Proc. of 1st International conference on Embedded networked sensor systems, Sensys, 2003 [10] Geremy E., Lewis G., Deborah E., ‘Fine-Grained Network Time Synchronization using Reference Broadcasts’ in Proc. of the Fifth
  • 45. 45 Symposium on Operating Systems Design and Implementation (OSDI 2002), Boston, MA. December 2002 [11] TEP 103 [12] TEP 116 [13] TEP 124 [14] Polastre J., Jason H., Culler D., ‘Versatile Low Power Media Access for Wireless Networks’ in Proc. Of 2nd International Conference on Embedded Networked Sensor Systems, 2004 [15] Mehmet C. Vuran, Ian F. Akyildiz, ‘Spatial Correlation-based Collaborative Medium Access Control in Wireless Sensor Networks’, in Volume 14, IEEE/ACM Transactions on Networking, April 2006 [16] Lu G., Krishnamachari B., Raghavendra C.S., ‘An adaptive energy- efficient and low-latency MAC for data gathering in wireless sensor networks’ Proc. of 18th International Parallel and Distributed Processing Symposium, 2004 [17] Ali M., Suleman T., Uzmi Z.A., ‘MMAC: a mobility-adaptive, collision- free MAC protocol for wireless sensor networks’ in IPCCC 2005, 24th International Performance, Computing, and Communications Conference, 2005 [18] Gang Zhou, Yafeng Wu, Ting Yan, et. al, ‘A multifrequency MAC specially designed for wireless sensor network applications’, in Volume 9, issue 4, ACM Transactions on Embedded Computing Systems, March 2010 [19] Van L.F.W., Havinga P.J.M., ‘A Lightweight Medium Access Protocol (LMAC) for Wireless Sensor Networks: Reducing Preamble Transmissions and Transceiver State Switches’ in Proceedings of the 1st International Workshop on Networked Sensing Systems (INSS) (2004), pp. 205-208 [20] Rajendran V., Garica-Luna-Aveces, Obraczka K., ‘Energy-efficient, application-aware medium access for sensor networks’ in IEEE International Conference on Mobile Adhoc and Sensor Systems Conference, 2005. [21] Huan Pham, Sanjay Jha, ‘An adaptive mobility-aware MAC protocol for sensor networks (MS-MAC)’ in IEEE International Conference on Mobile Ad-hoc and Sensor Systems, 2004
  • 46. 46 [22] Olem D., Lodewijk H., Pierre J., et.al, ‘MC-LMAC: A Multi-Channel MAC Protocol for Wireless Sensor Networks’ in Volume 9, Issue 1, Pages 73–94, Ad-Hoc Networks, Elsevier, January 2011 [23] ‘Collaborative Algorithms for Communication in Wireless Sensor Networks’ in Ambient Intelligence: Impact on Embedded Sytem Design, pp 271-294, Springer, 2004 [24] Wei Ye, Heidemann J., Estrin D., ‘An Energy-Efficient MAC Protocol for Wireless Sensor Networks’ in Proceedings. Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies, IEEE (Volume:3 ) INFOCOM 2002.. [25] Tao Zheng, Radhakrishnan S., Sarangan V., ‘PMAC: an adaptive energy-efficient MAC protocol for wireless sensor networks’ in Proceedings. 19th International Parallel and Distributed Processing Symposium, IEEE, 2005. [27] Suresh Singh, Raghavendra C.S.,‘PAMAS—power aware multi-access protocol with signalling for ad hoc networks’ in ACM SIGCOMM Computer Communication Review, Volume 28, Issue 3, July 1988. [28] Tijs Van Dam, Koen L., ‘An adaptive energy-efficient MAC protocol for wireless sensor networks’ in Proceedings of the 1st international conference on Embedded networked sensor systems, Sensys 03 [29] Polastre J., Hill J., Culler D., ‘Versatile low power media access for wireless sensor networks’ in Proceedings of the 2nd international conference on Embedded networked sensor systems, SenSys '04 [30] Injong Rhee, warrier A., aia M., et. al, ‘ZMAC: a Hybrid MAC for Wireless Sensor Networks’ in IEEE/ACM Transactions on Networking (Volume:16 , Issue: 3 ) [31] TEP 101 [32] Qun Li., Rus D., ‘Global clock synchronization in sensor networks’ in IEEE Transactions on Computers (Volume:55 , Issue: 2 ), Feb, 2006. [33] Santashil P., Amit Kumar S., David B., ‘Adaptive Clock Synchronization in Sensor Networks’ in Proceedings of the 3rd international symposium on Information processing in sensor networks, IPSN '04
  • 47. 47 [34] ‘David Gay, Phili Levis, robert von B., et.al, ‘The nesC Language: A Holistic Approach to Networked Embedded Systems’ in Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, PLDI '03 [35] HMC 1001/1002/1021/1022 datasheet [36] Telosb datasheet [37] ua741 datasheet [38] pn4372 datasheet [39] 2N2907A datasheet [40] Kai-Wei Fan, Sha Liu, sinha P., ‘On the Potential of Structure-free Data Aggregation in Sensor Networks’ in Proceedings of 25th IEEE International Conference on Computer Communications, INFOCOM 2006. [41] Shwetak N., Thomas R., Julie A., et. al, ‘At the flick of a switch: detecting and classifying unique electrical events on the residential power line’ published in Proceedings of the 9th international conference on Ubiquitous computing, UbiComp '07 [42] Lasseter R.H., paigi P., ‘Microgrid: A Conceptual Solution’ in 35th Annual IEEE Power Electronics Specialists Conference, 2004. PESC 04. 2004 (Volume:6 )