Wireless Sensor Networks (WSNs) consist of spatially distributed autonomous sensors to cooperatively monitor physical conditions. Thus, the node battery autonomy is critical. To outperform it, most WSNs rely on the harvesting capability. As nodes can recharge whenever energy is available, the problem is to determine at design time the node autonomy. For our project, we solve it by creating a power/energy estimator that simulates business scenarios to predict node autonomy; the estimation concerns both power and energy features. Based on node architecture configuration, its Dynamic Power Management (DPM) policy, and environmental conditions, we present a simulator that helps identify power consumption hot spots and make critical choices during the system design. It also helps to scale the energy storage system as well as the energy harvesters correctly. The hardware part is modelled using the FLPA methodology to develop different node component models with a variable accuracy. For the logical part, we developped a specific DPM by integrating meteorology and weather forecast behaviours. The novelty comes from the ability to simulate the WSN harvesting capability and to estimate at runtime the remaining duration of each service.
Wireless Sensor Networks (WSNs) consist of spatially distributed autonomous sensors to cooperatively monitor physical or environmental conditions . Their target applications are very wide and cover both civil and military domains. Application contexts are various, for example, they can be used in home for earthquake detection, home automation , or in the field of automation for parking guidance . The industrial field uses them for monitoring environment (temperature, pressure, hygrometry, luminosity, etc.), while they are used in the environmental field for UV, radioactivity, pollutants, heavy metals, ozone, greenhouse gas, fire surveillance, and high-precision agriculture. The health domain used them for followup patient healthcare , the security domain for area or perimeter surveillance, and the field of transportation for automation and accident prevention. In the military domain, WSNs are used in electronic warfare for recognition of troop movement, equipment, and battlefield recognition. They are also used for menace detection of chemical, biological, nuclear radiation, and for weapon guidance of tactical missiles. However, probably in all domains, the potential of WSNs has not been yet fully explored.
The recent enhancements made on new wireless radio frequency transmitters/receivers as well as technology advances has brought about several advantages, such as the reduction of the component size and the power consumption. This implies that devices can be more compact, lowcost, and light weight for environment portability . Consequently, nodes aim to achieve maximum autonomy, and this directly relies on the energy storage system . Therefore, global system lifetime and battery autonomy are critical (i).
As WSNs are dispersed in the environment, they must be autonomous. To increase lifetime, most WSNs rely on their harvesting capabilities, which consist of collecting energy from ambient power sources [7–10]. This solution benefits from "free" environmental energy according to the "green" philosophy, which is to reduce the carbon footprint and to improve reliability of power supply automations. A key feature for evolving in a multisource environmental context is to be adaptive (ii).
In WSNs, the power is supplied by an adapted energy storage system , like a battery and/or a supercapacitor , to handle ambient power. Recharging capability can be serviced by using single or multiple harvesting sources [9, 10]. Harvesting devices range from solar panels , wind generators  to vibration scavengers , and all other devices using a potential energy difference. These devices can provide additional energy to the system, at different energy scales (nW, mW, W), but globally speaking, each source depends on the geographical and environment situation. Thus, the ambient energy profile is highly variable (iii).
Solutions are under development to solve these problems. Currently, Low Power (LP) design can be used from the beginning and during the entire development process. It is first used to exploit power reduction/optimization techniques to increase system lifetime. This approach is generally classified as Static Power Management because it is performed at design time. Secondly, LP is used to adapt the system behaviour to the environment, variable by nature. This is done by using a Dynamic Power Management (DPM) .
Static Power Management can be applied at different layers and on different system subparts. Research explores battery storage systems , energy harvesting systems , power converters , processor units , system-level scheduling , and other power management opportunities. For hardware components, a difficulty is to extract significant high-level criteria to characterize the power features of the hardware configuration (iv).
DPM defines a Power Manager to adapt the system behaviour by using different power modes, or by varying the frequency and/or voltage, to dynamically adjust to the system requirements in performance and power consumption. A power manager uses a control procedure based on real measurements or assumptions of the system loads. This procedure is called a policy, and it is responsible for applying the Power Management Strategy (PMS) (v).
At this step, we can notice that the energy storage system is, from (i), crucial because it handles energy storage and the on-demand supply current. Secondly, the ambient energy is heavily coupled with the environment which is, from (iii), very variable. Low-power approach can be implemented at several levels: at the component granularity level, power management depends on the available power opportunities on the (iv) hardware configuration. At the logical level, DPM defines a strategy (v) to adjust power modes: Idle, Sleep, and Dynamic Frequency Voltage Scaling (DVFS) in real-time (ii) depending on the application tradeoff requirement between performance and power consumption.
For the "CAPNET" project, we must handle realistic business scenarios for the fire brigade of Brest, France. The project goal is to evaluate the gain of migrating from a wired solution to a wireless one. This is why the team must create a software simulator and a hardware demonstrator. The system is an autonomous wireless sensor network prototype using multiple energy harvesting capabilities with a predictive DPM.
Our contribution is to specify and implement an "estimator" able to play and record business scenarios to estimate both the power consumption and the autonomy of the nodes. This software will help in evaluating hardware choices by estimating the impact of some component parameters on the power consumption, help in the scale of the battery system and the harvesters accordingly, and help in optimizing the PMS to finely tune the DPM . The key enhancement is to propose an environment prediction model using meteorology to simulate harvesting capability during a scenario. At real-time, integrating weather forecasts (WFs) enable us to predict the remaining node autonm for different DPM services. Therefore, the supervisor user can decide to take control to change the behaviour of a particular node.
To realize the simulator, the approach is to use the Functional Level Power Analysis (FLPA) methodology . The method permits the extraction, characterisation, and validation of the power model for each unit of the hardware configuration. One major advantage is the model adaptive accuracy which consists of adapting models from generic to complex ones based on physical hardware experiments. Simulation can be processed with more accurate models depending on the required error, accuracy, time, cost, or choices made for the project. This work will help calibrate the production of real-world well-scaled WSNs .
The paper is organized as follows: in Section 2, we will present the CAPNET project. In Section 3, we will describe the state-of-the-art about power estimation tools. In Section 4, we will describe the modelling approach and the methodology used to create the WSNs node models. In Section 5, we will detail the power and energy Estimator functional behaviour and its capabilities. In Section 6, we will show model characterisations and results. In Section 7, we will experiment a business scenario to estimate the CAPNET node autonomy, after which we will conclude the paper.
2. The CAPNET Project
CAPNET is an autonomous wireless sensor network prototype using multiple energy harvesting capabilities. Its objective is to study and implement a simulator and a demonstrator that show the interest of the wireless approach over the wired one. The project is expected to reduce the cost by a factor of ten over the previous technology. Nodes must support a recharging feature by harvesting multiple environmental power sources. The specification includes special aspects such as an integrated alert system able to warn a supervisor in less than one second. The WSN uses a linear topology ranging from 100 metres to 2 kilometres. Each node communicates from/to direct neighbours. The nodes are spaced at intervals of 100 metres and support a bidirectional data transport protocol. If a node presents a dysfunction, the system is able to detect and reconfigure itself to automatically skip one (or up to two) dysfunctional nodes. The detection occurs when a timeout is triggered due to an unresponding node. Then, the node increases the amplifier range to reach the next node distance. WFs are transmitted to the nodes in order to switch the battery charger to the maximal available power source. WFs can also inform the supervisor of the remaining node lifetime for each DPM service. We have integrated the WF into the specific DPM called the WF-DPM.
The network topology is linear as shown in Figure 1. This topology has been selected due to the project applications. This choice guarantees an optimized alert timing for all the nodes from the farthest to the nearest.
The system must handle various applications like fire services, frontier and perimeter surveillance, (water, gas, and petrol) network monitoring, environment observation (earthquake, water overflow, and meteorology), automatic meter reading, road network surveillance, industrial control command. Customers provide representative use case scenarios corresponding to each application. The representative scenario presented here has been established in cooperation with the fire brigade of Brest, France.
A problem appears on a carrier transporting highly dangerous freight. A fire brigade must help the carrier docked at the port of Brest, France. Products are flammable and can reject toxic gas into the town atmosphere. It is very threatening due to the presence of heat, toxic, or explosive gas thus presenting a risk of explosion. To monitor and prevent the risks, a secure perimeter is defined in an area range of 300 to 500 metres. All people entering this perimeter send an alert signal to the supervisor who can view snapshots or video of the scene. The WSN equipment is deployed in the area in a circle layout. This is to intercept the gas, so as to avoid spreading. For this mission, nodes embed traditional meteorology sensors and also special gas detectors, a toxicity meter, and for special nodes a thermal camera to track hotpoints. The system must be able to work continuously outside and in all types of weather.
In this project, our work is to specify and realize a power and energy estimator that will permit the playback of real-case scenarios. Our needs are to predict the remaining node autonomy with harvesting capability. But estimating the power peaks is also necessary for the battery model accuracy. The simulator results provide the total node autonomy and the different energy consumption for different groups of internal components. Moreover, by integrating WF into the DPM, we can predict the Ambient Potential Power Value (APPV) and then give the maximal time duration per service. Therefore, the simulator can estimate the power and energy consumption for each component according to their control attributes, the weather environment, the energy provision, the temperature degradation, and the power management strategy (PMS).
To do this, we use a modelling approach by applying the FLPA methodology (see Section 4.1). First, we establish the global node power model that describes the entire simulator (see Section 4.2). Secondly, we define a PMS which can switch the power source depending on WF predictions (see Section 4.3). Then, we build different models based on real power consumption measurements for each device (see Section 4.4). Finally, we build the estimator able to playback the scenarios and give the total energy consumption per node (see Section 5). When manufacturers build the final hardware demonstrator, we will be able to compare the absolute error between the simulator and the demonstrator. This will give us feedback on the behaviours of the real WSNs and the simulated WSNs to be able to enhance models if required to better fit to the reality.
Before beginning, we will go over the state-of-the-art of WSN power estimation tools.
Low-power design could be applied at several levels in electronics and WSNs. Some books are good starts for understanding low power methodology , system-level optimizations , and algorithms for power saving . If we focus more particularly on WSNs, interesting research works have detailed specific techniques. We could cite battery modelling , Maximum Power Point Tracking (MPPT) optimization , DPM , vibration harvesters , and network modelling  to design a WSN [2, 25]. All these technological headways are coupled with constant new WSN prototypes. We present in this section, some interesting WSNs, focussing our attention on their features.
Heliomote  has a solar panel and two AA Ni-MH batteries for a 3 V current output. Its Solar panel is directly connected to its battery through a diode, so energy harvesting starts after the solar output is higher than 0.7 V than the battery voltage. Heliomote does not perform MPPT to achieve better harvesting efficiency. Consequently, the solar panel is voluminous to obtain a higher voltage than the battery. Heliomote uses an ATmega 128 L with a Chipcon 868/916 Mhz transceiver.
Prometheus  uses a solar panel to charge a 22 F supercapacitor from which the system draws current when there is enough power. The system uses the secondary buffer Li-Polymer battery when the charge of the supercapacitor is lower than a threshold. Also, when the supercapacitor is higher than a given threshold, it charges the battery. However, like Heliomote, the solar panel is directly hardwired to the supercapacitor and does not harvest energy efficiency. All control tasks are run on a MSP430 MCU. Prometheus TelosB uses a TI MSP430 with a Chipcon 2240 2.4 Ghz Wireless transceiver. Prometheus power consumption is estimated ranging from 205 μ W at 1% duty cyle and 20 mA at 100%.
Everlast  has only a solar panel and a supercapacitor, but no battery. Thus, it does not suffer from battery degradation. It embeds an MPPT circuit for optimal power harvesting that charges a 100F supercapacitor. However, it requires MCU to perform the MPPT algorithm calculation. Everlast uses a PIC16LF747 coupled with a Nordic nRF2401 2.4 Ghz Transceiver. Everlast power consumption is 0.68 mW in minimum mode and 52.4 mW in maximum mode.
PUMA  has multiple power sources. It uses a power routing technique to harvest simultaneous multiple power sources. The high energy harvesting is achieved with a combination of MPPT and power defragmentation. However, it requires MCU control based on input from light and wind sensors. PUMA uses a PIC18F6680 with a wireless 802.11b card. Duranode consumption is 0.5 W in minimum mode and reaches 2 W in maximum mode.
AmbiMax  is a multiple harvester system with solar and wind experiments. It includes MPPT tracking using an hysteresis comparator coupled with an additional sensor to hardware calculated MPPT. The harvested power is sent to a boost regulator before charging a Li-Polymer battery. Ambimax charges 12.5 times faster even at lower supply levels, where previous techniques stop. Ambimax uses a MCU8051 and an integrated 2.4 Ghz Radio. Its power consumption is less than 200 mW.
PicoCube  is the smallest WSN known. It is a 1 cm3 sensor node powered by harvested energy. It uses a MSP430-F1222 with a FBAR custom RF transceiver, the power consumption is 6 μ W in mean and reaches 6 mW when transmitting. More WSNs with their technical features are referenced at .
Now, if we examine available tools, there are several power consumption platforms which can analyze systems at specific power levels . As can be seen in Table 1, some tools can predict the power consumption of microprocessors, while others can predict the overhead of an embedded OS. We have not included the works about WSNs simulation which mainly simulate network consumption by RF protocol, transport, and so forth. The reason for this is that in this project, the RF simulation has been given to a partner lab.
Our need is to predict the remaining node autonomy with harvesting capability. In Table 1, most of the tools focus on particular microprocessors [30–32] or hardware platforms and do not consider the entire node [30–32, 34, 36]. Building the whole simulation from scratch at transistor level with SPICE  would be definitely a hard job. Also, most WSNs include a DPM which must command/control power modes, shutdown devices, apply tasks scheduling, and so forth. Actually, most tools do not model the DPM behaviour and are more hardware oriented [37, 38]. New research projects are trying to model the WSNs in the whole by using macromodelling , but these modelling concerns simple WSNs. Another discrete-time analysis framework  and advanced commercial low-power synthesis tool  exist, but these tools are not adapted to model harvesting WSNs.
Thus, to simulate an entire WSNs node, we must care about other internal node components like DC/DC, harvesters, microprocessors, radio, or sensors but also the environment and the DPM policy. And currently, none of the tools responds completely to our needs. This is why we want to develop a generic tool which can include specific models into a single estimator.
A generic WSNs power estimator is required to verify if some choices are relevant and contribute to system consistency. Recording and replaying scenarios permit to experiment consumption evolution by varying some parameters of the model. Although some components have already been chosen and can clearly be measured to provide an accurate model, other components are not, and we must rely on generic models. Consequently, the two approaches must be considered depending on the components which have been selected. The global modelling approach is described in the next section.
4. Modelling Approach
We make the assumption that all nodes can be modelled independently. We use a decomposition approach that divides each element of the system. Thus, we assume that a node is decomposed into several internal components. We apply an existing methodology to model elements of the WSNs node architecture, called the FLPA methodology.
4.1. FLPA Methodology
The Functional Level Power Analysis (FLPA) methodology  can be adapted to any component and has already been successfully applied to extract processor  and FPGA  power consumption models. This methodology is based on physical measurements in order to guarantee realistic values with good accuracy.
The FLPA methodology has four main parts, which are given below.
(1)A primary functional analysis describes the system as a grey box with high-level parameters having an effective impact on the power consumption.
(2)The power characterisation step explains the power consumption behaviour (obtained by physical measurements) when each parameter varies independently.
(3)Then, the complete power model is created with a curve fitting or regression approach; it expresses the overall power consumption variations related to all the parameters.
(4)Finally, the model accuracy is estimated from a new measurement set which provides the absolute error.
With this methodology, it can take less than a month to build a power model of a complex processor. At project startup, all components or decisions have not been validated yet, so we define a variable accuracy granularity depending on project advancement. Thus, model accuracy evolves during project maturation by evaluating the cost to develop a more accurate model. Two cases are used.
(i)If the physical element is not available, we search for an existing model (datasheet, analytical law, etc.). Then, we build a generic model which is integrated into the simulator.
If the physical element is available, we proceed with the FLPA methodology to extract an efficient model.
4.2. Global Node Power Model
We start by defining, in Figure 2, what will be the global node model.
The node model is composed of two layers: the logical and the hardware layer. Both are tightly coupled and are synchronized to work together. This model defines multiple models for the DPM and the hardware configuration.
4.3. The Logical Layer Power Model
The logical level defines the node environment as several external models: scenario events, RF events, meteorology, and weather forecast models. The DPM model describes the energetic strategy developed on the node.
In Table 2, scenarios are composed of rule-based events which control the entire sequence. Event signals define the start time, the duration, the periodicity for periodic events, and the numbers of repetitions. This produces a signal that characterizes an event context like a sensor notification or other particular behaviour (fire explosion, secure area intrusion, etc.). Events are consumed by the DPM which verifies the rules at each discrete time and consequently performs the corresponding actions. Basically, the DPM impacts the devices and changes their model values on the fly.
4.3.2. RF Events
The RF model describes the communication protocol as a set of RF events. Events define the incoming and outcoming packets exchanged by the node. The RF model is provided by our partners working on the RF modules and the RF simulation. Table 3 presents the RF matrix model. Here, the time resolution is in milliseconds. The energy is estimated by cumulating over a one-second period the time spent in each modes (RX, TX, Sleep, or OFF) with their equivalent power model attributes. The model will be refined when the RF partner transmits the final model.
Since energy is scavenged from the environment, the node model must include a model for each power source type. These environmental sources can be provided in multiple ways including solar, wind, thermal, radio, vibrations, and mechanical constraints. Currently, CAPNET focuses on solar, wind, and thermal power sources. Meteorology context is constructed with the Meteo-builder integrated with the simulator. The context can be created manually, scanned from a website, or extracted from a meteorology file recorded day after day. The Table 4 presents a model example for the city of Lorient, France.
With Date/Time: the timestamp, : the temperature (in°C), : the wind direction (in°), : the wind speed (in Km/h), : the rain measurement (in mm), : the humidity degree (in %), : the atmospheric pressure (in hPa), and : the sunset irradiance (in W/m2).
4.3.4. Weather Forecasts
The particularity of this project is the modelling of not only the meteorology but also the environment by exploiting WF. As meteorology forecasters have already done heavy, intensive computation to predict the weather, we reuse standard models provided by GFS runs , and Meteo-France runs . Therefore, the error of these models is propagated directly from the predictions. This model particularity comes from the real-time update of the data models and their granularity. The node power management strategy can use these predictions on 7-day forward moving windows and combines backward windows based on real weather measurements. The WF model is similar to the Meteorological one, but with forward time stamps.
The DPM policy controls the different power states enabled for the system. This model is not the microprocessor program but mainly a subset from the energy/power point of view. The DPM has been modelled as a Finite State Machine (FSM) composed of a set of states and transitions. Each state represents a particular system consumption state (IDLE, Sensor1 Active and Sensor2 inactive, etc.).
This DPM model introduces the capacity to exploit the WF model. The nodes have the ability to switch their power source to the most advantageous energy microsource. The system uses a hardware node power switch like DuraNode , but here, WFs are used to determine which power harvesting source will have the highest energy availability. WFs can also be used to deactivate devices, like the camera, if the energy level required is too low and the WFs do not predict enough ambient energy.
The DPM process works as follows: DPM process starts by reading external information: scenario and RF events, which act as stimulus on it. They update DPM control parameters and configuration device states. Then, the DPM combines current state, power status indicators, and weather forecasts predictions to decide transitions to another power state. Each power state defines a functional power mode to apply to components: CPU modes, frequency, clock gating, shutdown, RF amplification level, and so forth. Thus, the DPM updates configuration parameters before the estimation of the new hardware model values.
The DPM shown in Figure 3 defines the power management strategy for person detection in the intervention area.
After initialization, the system enters the Sleep processor state; only Sensor1 is active. When Sensor1 generates an alarm, Sensor2 is powered up to verify the information. If Sensor2 confirms the alarm, an alert is sent to the supervisor. The supervisor can decide to power up special devices or to start the camera mode to take a video of the scene. The video is in fact several JPEG snapshots taken one by one and sent to the supervisor. In intervention, the supervisor can decide to stop or power down devices on demand. When both alarms are, stopped the system returns to Sleep mode.
The DPM service duration estimation method is done by underlining paths in the DPM.
Here, we can extract four main paths corresponding to a service. The system's mode is the first service with no activity. The second service is S2Verif; in this path, the system detects an alarm with the Sensor1. This wakes Sensor2 up but Sensor2 does not detect a problem. So, after a certain amount of time, the system goes back to Sleep mode.
In the third service, Sensor1 detects an alarm and wakes up Sensor2. Sensor2 detects an alert and sends an alarm level 2. If the battery is under the low state threshold, the system enters into the S2LowBat service, sending alarms and waiting for alarm releases.
Finally, the fourth service is the same as the third service except that the battery is above the low state threshold. Then, the camera is turned on, and the system takes a snapshot, sends it to the supervisor, and enters into a waiting state. Depending if the supervisor has activated the SuPervisor Video Request (SPVR), the node can send a video by entering a loop. Waiting stops when the supervisor confirms the off state, and both sensors have been released. The system then switches the camera and sensors off before returning to the mode.
The service duration can be expressed as
For example, by taking a 12 V, 2A h, 86400 Joules Battery , , , , , , , in Watt and second, we have
(i)Sleep: maximal duration is 80 h.
(ii)S2Verif: S2Verif maximal duration is 50 h.
(iii)S2LowBat: S2LowBat maximal duration is 49 h.
(iv)Video: . NbSnapshotsVideo maximal duration is 18.94 h with 22736 snapshots.
The supervisor can take control of the node whenever they want, forcing it to use a special service. With these report indicators, they are alerted of the maximum service duration and can take adapted decisions.
4.4. The Hardware Configuration Power Model
The hardware model is basically extracted from the main system hardware components. Figure 4 shows a hardware node composed of control units, a storage energy system, a sensor set, a harvester set, power supply converters, and radio transceivers.
From this, the FLPA methodology is applied to each component. This helps the designer to define high-level parameters that characterize the power consumption and decrease the complexity by splitting the node into elements. Each model parameter is initialized in the configuration according to the respective datasheets and the simulation requirements.
Each sensor uses specific power modes, power supply, and quality of service parameters, which are modeled and controlled by the power management. However, sometimes real measurements could reveal datasheet distortions due to a mean function or different experimental conditions. Therefore, datasheet models must be validated before using them. At runtime, the node can also integrate models and, therefore, must be adapted to run on a specific platform. For example, some complex models cannot be evaluated on a low-performance microcontroller because of RAM size or performance constraints. This is why most models must be adapted dynamically with FLPA if they are integrated into the final platform.
Each harvester system is principally modelled by determining a standard I-V characterization (intensity versus voltage); therefore extracting the maximal P-V curves (power versus voltage) point law associated to it. Thus, a Maximum Power Point Tracking (MPPT) could provide the best power adjustment  for the harvesting device. Harvesters input parameters are supplied by the meteorology model.
Microprocessors often offer low power modes or a Dynamic Frequency and Voltage Scaling (DVFS) ability . Microprocessor model is obtained by using FLPA measurement methodology on real chips programmed to play the DPM. The CPU model defines multiple power levels (Normal, Idle, Sleep, and Doze modes) and switches between power modes depending on the DPM activity. If a more complex CPU model is required, we can use the SoftExplorer  tool to extract more accurate model coefficients. If external RAM is present, the model has the ability to shutdown the RAM when in low-power mode. An enhancement could be to include OS task scheduling activity for applying DVFS.
4.4.4. Radio Modules
Statistically, the radio device is the most power-hungry component. The entire power consumption modelling is delegated to RF experts of a partner laboratory. Radio is modelled using their different power states and activity (RX, TX, Forward, idle, sleep, etc.). Power modes and timings are integrated as input values in the simulator. Of course, RF Scenarios and PE scenarios must be synchronized to describe the same reality.
4.4.5. Power Supply/Power Dispatcher
The goal of the power supply unit is to store energy harvested from the environment into the battery. The power dispatcher splits system power supply into several voltages for each component specification. Both use mainly DC/DC converters to step down or step up the voltage to provide regulated voltage. Converter efficiency is variable, and low leakage current can appear. It depends on the manufacturer, the temperature, the input voltage, and the output current.
4.4.6. Energy Storage System
One of the most important models is that of the energy storage system. The battery behaviour is by far the most complex . Most battery models  predict the discharge time with a constant current, but the system uses environment harvesting technologies and can recharge itself while discharging. Therefore, we use a battery model which handles both charge and discharge variable currents. This one is similar to the model developped by , but we use different curve fitting mathematical equations. As a battery presents poor reactivity to pulses, we note that recent works on supercapacity  also show good alternatives to assist main battery systems for harvesters [7, 10].
Now that the node model context has been presented, we will detail the power and energy estimator itself which exploits the models described in this section.
5. The Power and Energy Estimator
The goal of the simulator is to help at design to identify major power consumption hot-spots. As the project is constantly evolving, models are dynamically revised with the FLPA process depending on the desired accuracy. Thus, the simulator can estimate both the node power consumption and predict the system autonomy. The simulator accuracy mainly depends on model specific errors.
On the other hand, simulating a DPM permits one to adjust the strategy and fine tune DVFS and DPM opportunities. Thus, designers can evaluate the relevance of the developed DPM policy. Then, finally, we can give a nearly realistic estimation of the global system viability for a configuration.
Figure 5 presents the prototype of the Power/Energy Estimator (PEE). In the main part, the screen describes the node major hardware components, specific to studied WSNs. The right part includes the controls which command the system parameters in manual mode. Controls are updated in real-time in automatic mode, when playing a scenario. The bottom region displays the energy storage system evolutions during the simulation.
5.1. Simulator Implementation
The PEE is built with Labview from National Instruments . It combines a graphical language with massively parallel programming and object paradigm support.
The PEE is based on the global node model presented in Figure 2. Thus, the simulator engine is composed of the two layers. First, the power management policy layer reacts and describes DPM activities. Second, the physical layer includes all the hardware component models.
The DPM layer models the PMS by using an FSM defined by a states-transitions schema. The DPM follows the scenario which defines the interaction with the internal and external events. The policy decides on the behaviour to adopt, and it updates the device states/parameters accordingly in the hardware configuration.
The Hardware layer is based on node components and their characteristics. Each component or peripheral is called a device. Devices are classified according to their types: DC/DC converters, batteries, microsources, CPU, radio, and sensors as specified by the hardware model. Each device is modelled by a class specialization that defines the device behaviours in terms of power consumption. A configuration is a set of channels on which devices are mapped. Each device class embeds the properties, the parameters, and the methods to evaluate and update its model.
The power simulator is managed by the "manager" which commands the entire simulation evolution. The manager controls playing/recording of scenarios by using a discrete time representation which divides time into time-slice quantas. The manager task is to apply the simulator process which synchronizes both layers.
5.2. Simulator Process Description
The PEE process is shown in Figure 6. The user creates or loads a project which includes the scenario to be studied. In fact, it is the definition of the different models, the configuration, the global simulation parameters, and the results destination.
When the user decides to start the simulation, the manager launches the simulation at a defined temporal resolution. When playing, the real-time DPM module (RT_DPM) calls at fixed frequency the sample DPM function. This function processes the reading of the node external models and collects the data to dispatch them to the appropriate devices. In detail, Read_Scenario reads the scenario events. Read_Meteo reads the meteo coefficients and the WF predictions. Read_RF reads the RF environment to collect the radio packets. Dispatch_Events applies the causality part of events. For example, when the presence of gas is defined by an event, the simulator must update TX-12 gas sensor value accordingly. This step updates the input parameters and thus prepares the hardware model. In practice, Dispatch_Events mainly updates sensors, but events can potentially have an impact on any parts (cause of failure, etc.). The Dispatch_Meteo prepares and converts meteo data for the harvesters and the global node temperature (because models can integrate model temperature degradation). WF information is transferred to the DPM. Then, Dispatch_RF sends the packets to the appropriate hardware radio module. The logical stage purpose is to collect and prepare the input parameters, to run the DPM module. At this time, no hardware models have been estimated yet. Finally, the run_DPM method is called. The DPM solves the transition conditions and enters a new power mode. The DPM executes a behaviour resulting in the update of command variables and hardware component parameters.
The real-time sampler module (RT_Sampler) is started after the DPM. Firstly, the sampler evaluates each device model with the new fixed input parameter values. This is done by calling the redefined UpdateModel method which reevaluates the model. Each model has dedicated parameters but share common variables: the supply voltage indicator, the current/intensity, the consumed power, and the component energy magnitude value (different for each sensor or microsource). Secondly, these output variables are recorded as one goes along in the results destination.
When RT_DPM and RT_Sampler have terminated, the next function is evaluated to determine if simulation time is exceeded or battery level has reached a low threshold. If simulation continues, the simulation time is incremented and the process restarts in loop.
5.3. Simulator Results
When the simulation is terminated, the result files contain data over time which can be directly analysed to present the results. Results are grouped into sections: sensors, microsources, MPPT, DC/DC, CPU/RAM, and radio components. For each component, the simulator provides the equipment value, the intensity, the voltage, and the power curves. Thus, the maximum power peaks can be used to study the impact on the battery for high-discharge sequences. The total harvested energy and the total consumed energy are also determined by integrating the power over time. The energy directly relies on the node autonomy which can be presented in Watt hours. Because batteries have specific behaviours , we cannot model the total node autonomy with basic sum operators. Instead, we must rely on a realistic battery model that handles at realtime simultaneous variable charge and discharge currents [48, 51].
6. Model Characterization
For each model, we applied the FLPA methodology described in Section 4.1. In this section, we present the results for two sensors, a camera, a solar microsource model, and the battery.
6.1. ERYMA 4S Sensor
The ERYMA 4S sensor is an intrusion detector based on ground vibrations. A walking person produces vibrations that are recorded and transmitted to a local unit. This unit analyses the measurements and generates an alarm. Power supply ranging from 10 to 50 Volts. Functional temperature range is −40°C to +65°C For this power experimentation, we applied the FLPA methodology to measure and characterize the sensor. For the first step, we proceeded with a series of measurements by varying the sensor input voltage. These measurements give the intensity drained by the device. The process has been repeated for several temperatures: −20, 0, +25, +35, +55 in °C by using an incubator. We have obtained a series of I-V measures presenting the I-V characterization curves for different temperatures shown in Figure 7.
We notice that the device seems to have a particular behaviour at 40 V. This is probably due to a calibration effect. As we know, the power is given by the formula: , so it is trivial to determine the sensor power consumption. Thus, we calculate the power consumption for each curve. This gives the consumption for a selected voltage and an operating temperature.
For the 4S sensor, power consumption is the lowest at minimum temperature (−20°C). We note that the power consumption increases from 525 mW at 10 V to 910 mW at 50 V. It is a 73.33% increase at 25°C. We notice that there is low power variation as the temperature increases. The maximal variation is 11% when the temperature rises from −20°C to +55°C at 10 Volts.
With these measurements, we extract the characteristics for which the sensor is the less consuming. We get the equation model (2)
As can be noticed, the curve variation is nearly linear in temperature. Thus, a linear variation coefficient can be defined.
Once the final model is built, the absolute error is measured. For this sensor, the mean error is 1.7%, and the maximum peak error is 11.9%. As the sensor will probably be used in 10–15 V like the battery nominal voltage, the consumption will range from 488 to 624 mW. The maximum error is 1.74%, this corresponds to less than 1 mA error from the real behaviour.
6.2. ERYMA S912 Sensor
The ERYMA S912 sensor is an intrusion detector based on fence vibrations. A person climbing a fence is detected and a signal is sent to the local unit. The unit analyses the measurements and generates an alert.
Like the previous sensor, we measure the behaviour of the S912 sensor located in an incubator at: −20, 0, +25, +35, +55 in °C. We vary the sensor input voltage from 10 to 30 Volts, and we record the intensity drained by the device. We have obtained a series of I-V measures presenting the I-V characterization curves for different temperatures shown in Figure 8.
We notice that the power consumption increases as the input voltage grows, from 320 mW at 10 Volts to 548 mW at 30 V. This is an increase of 71.25% at 25∘C. The power consumption has a 14% decrease when the temperature evolves from −20∘C to +55∘C. We can remark that the curve fits near a log function modelled by(3)
Moreover, we can remark that the increase of temperature causes a power consumption variation from 4% to 14% depending on the voltage. This increase can be modelled as a linear equation.
Once the final model is built, the measured absolute error is 1.9%. The maximum peak error is 4.7%. The sensor will probably be used at 10–15 V like the battery nominal voltage. In this case, the consumption will range from 307 to 423 mW. Here, a higher temperature gives lower consumption.
6.3. MicroCam Camera
The MicroCam device is a miniature colour camera able to acquire a JPEG image through a serial or USB connection. Created for robotics and video surveillance, the camera can send 0.75 fps video or compressed images ( to ). The device has low power consumption.
Measurements have been taken at ambient temperature (15°C). We measure the intensity drained by the device at different phases by using the default software. We have obtained an intensity curve at different phases shown in Figure 9.
We notice that the power consumption increases, while images are acquired and transmitted. There is no consumption difference when changing image resolution or transfer speed. The intensity consumption is 60 mA in standby and 64 mA for an image acquisition. Thus, it does not vary that much and can be assimilated as a constant model of 61 mA. In this approximation, the error value is 1 mA overestimated in standby mode and 3 mA underestimated in activity. But we experiment a stability problem at 3.3 Volts with the TTL that forces us to fall back on a 5 Volt DC supply. With this voltage, the power consumption reaches 305 mW.
6.4. Suntech 10 W Solar Panel
The Suntech panel is a multicrystalline silicon solar cell offering 10 Watt maximal power. It uses a textured cell surface and bypass diode design to harvest maximum sunlight by preventing partial shadowing attenuation. The Suntech total efficiency is 8.8%.
Measurements have been taken on location with real weather contexts. For this, we use a Kimo SL200 Pyranometer to measure the solar intensity reference. The solar panel is oriented at 35° to the south direction. It is the optimal angle in the applicative region.
We use a programmable power supply to measure the intensity provided with different programmed ranges from 0 to Voc Volts. As one solar measurement takes up 10 seconds to record on the entire range, solar sunset could slightly vary, and thus introduce jitter. We have obtained an intensity-voltage (I-V) curve for different sunset irradiation powers ranging from 150 to 930 W/m2. Each I-V curve, is converted to a P-V (power-voltage) curve, where the maximum indicates the maximum power point. Figure 10 shows the different P-V curves collected.
With the P-V curves, we reach 10 Watt with 930 W/m2 solar irradiation. We observed that the maximum power point propagates nearly 17 Volts for this solar power range. It corresponds to the V and the A given by the datasheet. This is because module performance is rated under Standard Test Conditions (STC): irradiance of 1000 W/m2, solar spectrum of AM 1.5, and module temperature at 25°C. Then, we modelled the Suntech maximum power point by a linear equation. Thus, we confirmed that the solar microsource harvested power range vary from 0 to 10 W.
6.5. AS512/2 Battery Cell
The AS512/2 cell is a sealed lead-calcium battery of 12 Volts for a 2 A h capacity. The battery uses lead-calcium grids with gas recombination and offers good recovery from deep discharge. For this model, we use a similar method of work as that developed by  to model a battery with simultaneous charge and discharge. Method: By using the FLPA methodology, we define the high-level parameters from an electrical point of view. We use parameters defined in electricity: the electromotive force, the capacity, the impedance, the efficiency, and the self-discharge as the base of the model criteria. The electronic model is defined by (4) as
where is the battery tension (), the battery electromotive force (), the battery internal resistance (Ohms), and the provided current ().
bench description: to take the measurements, we used a battery bench. The bench is composed of a power supply which provides the recharge current to the reference battery. The battery is placed in an incubator to measure behaviour as a function of temperature. The bench integrates an electronic load which varies according to a measurement scenario.
Analysis: to experiment a scenario, we must calibrate the power supply to deliver a constant recharge current. In this bench, a constant recharge current of 200 mA is applied while a variable discharge current is applied with a repeated pattern. The battery voltage is measured over time until the threshold tension limit has been reached.
Characterization: we calculate the and the as a function of capacity. To do this, we take a couple of points on the data curve at each state transition. For example, one point on a peak period and one on another peak (with a nearest delta). As we have a couple of points, we can solve (4) by the double equation system (5)
By solving (5), we determine the evolution of the internal resistance and the electromotive force depending on the evolution of the battery capacity.
Model determination: then, we model the electromotive force and internal resistance parameters. We notice that can be modelled as a linear equation (6)
The internal resistance has an exponential aspect modelled by(7)
Coefficients , in (6), and , , in (7) are determined by regression approach. They are tightly coupled with the battery and the technology chosen.
Finally, the battery model is evaluated and compared to the real measurements in Figure 11. The absolute maximum measurement error is 8%.
As the battery model handles simultaneous charge and discharge, it can be used to model a self-recharging WSN. Thus, it can predict the battery autonomy of a WSN node according to its activity and environment.
Finally, by repeating the process for all other components, we can build a power map of the different node equipment. If components or circuit design change, models are rebuilt to reconstruct the power consumption map. Table 5 shows an example of the power consumption map for the required equipment of the CAPNET project.
7.1. Experiment Setup
We measure the relevance of the DPM presented in Figure 3, by measuring its autonomy. This WF-DPM includes weather forecast enhancements.
The PEE is prepared and initialized with configuration files. The simulator needs:
(i)to configure the hardware node components and set associated model parameters,
(ii)to select the DPM used to simulate the node behaviours,
(iii)to provide the Meteo environment for the scenario,
(iv)to provide the RF Events to estimate the radio activity,
(v)to provide the scenario file,
(vi)to provide the global simulation parameters,
(vii)to provide the destination of the results.
With the scenario builder, we recreate the area protection scenario developed in Section 2. A gas measurement is taken every 5 minutes for 15 seconds duration, permanently during the entire scenario. A first detection with sensor 1 occurs, but is not yet confirmed by sensor 2. The second detection is confirmed by sensor 2 which sends an alarm to the supervisor. The supervisor has WF predictions and knows how long the system can take videos. After ten seconds of video, the supervisor has identified the threat and decides to send the intervention unit. The video is deactivated. The DPM waits for sensor 1 and 2 to disarm and goes back to Sleep mode.
The weather environment has been acquired by recording real weather coefficients over time, and extracted for the weather scenario. DPM is built by translating the FSM into an external dynamic Labview module. Here, we consider just one node, thus we do not take external RF Events into account. Moreover, global simulation resolution is set to one second and we run the simulation for 529200 seconds (6.125 days).
We start the simulation and at the end, the simulator produces the results files in the results destination. Results are detailed current, voltage, power, and state values for all discrete time simulations. Global information is minimum power, maximum power, average power, and total energy consumption per components. The simulator provides the final global system average power and total energy consumption.
7.2. Simulation Results
Table 6 describes the WF-DPM energy and power consumption results. Results are grouped by components which callback the minimum power (in mW), the maximum power (in mW), the average power (in mW), the total energy (in Joules), and the total ratio (in %).
By examining the results of Tables 5 and 6, we can extract some conclusions. When we study the system equipment, we can see that the battery system has a capacity of 2 Ah. The power consumption in Sleep state is mainly given by the sensor 1, it is near 300 mW average in Sleep. It seems that this sensor have the highest power impact on the system (i).
We replay the same scenario without any harvesters to simulate the worst case/failure condition. In this case, the scenario duration is 44.4 hours which means nearly 1.85 days. Thus, the initial battery capacity of 2 Ah will be too low to cover the scenario duration of 6 days in the failure condition. Consequently, the project team decided to extend the battery capacity to a 7 Ah battery. With further verification, the battery level never drops down; the power supply is now wellscaled for the system demand (ii).
Moreover, the WF-DPM always switches to the potential maximal energy microsource (iii). The benefit has not been quantified here, but it does offer a power switcher solution like the one in Duranode system .
WF-DPM can help a supervisor user by automatically computing the maximal duration of each service. Predicting potential future environment energy permits us to present lifetime autonomy indicators for real-time purposes (iv).
Finally, the prototype has helped to identify three power bottleneck types and explore one new technology:
(i)heavy sensor consumption,
(ii)battery total autonomy and harvester scaling,
(iii)power switcher for automatic source selection.,
(iv)experiment a new WF estimating the remaining time duration for a service.
WF-DPM presents interesting information to help a supervisor activate the adapted service. Also, WF-DPM can be used for automatic DPM decisions depending on the application context. For example, there are some particular deep-sea beacons which need to come back to the surface for battery recharging. Here, WF-DPM can predict the potential best period to emerge to maximize energy harvesting. We think that WF has many applications that can be exploited by WSN.
In this paper, we proposed to develop a power and energy estimator to determine the node autonomy duration of WSNs. We present the CAPNET project with a representative scenario of fire brigade intervention. We combine the modelling approach with a problem decomposition approach to realize the estimator. The simulator is built upon a two-layer representation, handling the node logical part and the node hardware part. By using the FLPA methodology, we built models with successive incremental refinements to adjust granularity to project duration, cost, and needs. The power consumption engine exploits these models to manage the hardware part and the DPM strategy at runtime.
The most important outcomes of this paper is that: the simulator ability to handle recharging WSNs to predict node autonomy in a given scenario. This way, it can identify power bottlenecks such as states with heavy sensor consumption. Thus, the tool enables the calibration of the total autonomy of the battery and the harvester scale accordingly. Moreover, by integrating WF into DPM, we can automatically select the potentially best ambient power source. We validate that a WF-DPM can be used to calculate the remaining time duration for their services.
From this work, we learn to exploit component cartography consumption, allowing for the quick identification of abnormal power peak consumption. We observed that the DPM must be easily writable because during adjustments, lot of changes impact the DPM policy.
The FLPA methodology can be exploited for energy characterization of hardware components, not just CPU ones. This approach is representative about the way tools must be based on real experimentation behaviours, to determine is own particular models. By this way, it does not restrict to a particular WSN, but can include lot of type of WSNs. Now, we want to explore WF-DPM for automatic DPM decisions, such as for particular deep-sea beacons which need to surface for battery recharging. Here, WF-DPM can predict the potential best period to emerge to maximize the energy harvesting.
By the end of the CAPNET project, the goal is to build a demonstrator including final sensors, harvesters, and others system components. Now, we expect to measure the real difference between the simulator and the demonstrator. This will permit us to enhance the power/energy estimator to better adapt tool accuracy to reality.
Chou PH, Park C: Energy-efficient platform designs for real-world wireless sensing applications.Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD '05), November 2005, Irvine, Calif, USA 912-919.
Rincón FJ, Paselli M, Recas J, Zhao Q, Sánchez-Elez M, Atienza D, Penders J, De Micheli G: OS-based sensor node platform and energy estimation model for health-care wireless sensor networks.Proceedings of Design, Automation and Test in Europe (DATE '), 2008, Munich, Germany 1027-1032.
Chee Y-H, Koplow M, Mark M, Pletcher N, Seeman M, Burghardt F, Steingart D, Rabaey J, Wright P, Sanders S: PicoCube: a 1cm3 sensor node powered by harvested energy.Proceedings of the 45th annual Design Automation Conference, 2008, Anaheim, Calif, USA 114-119.
Guerrero MA, Romero E, Barrero F, Milanés MI, González E: Overview of medium scale energy storage systems.Proceedings of the 6th International Conference on Compatability and Power Electronics (CPE '09), May 2009 93-100.
Raghunathan V, Kansal A, Hsu J, Friedman J, Srivastava M: Design considerations for solar energy harvesting wireless embedded systems.Proceedings of the 4th International Symposium on Information Processing in Sensor Networks (IPSN '05), 2005 457-462.
Chen M, Rincón-Mora GA: Single inductor, multiple input, multiple output (SIMIMO) power mixer-charger-supply system.Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED '07), August 2007 310-315.
Park C, Chou PH: AmbiMax: autonomous energy harvesting platform for multi-supply wireless sensor nodes.Proceedings of the 3rd Annual IEEE Communications Society on Sensor and Adhoc Communications and Networks (Secon '06), 20061: 168-177.
Guitton-Ouhamou P, Ben Fradj H, Belleudy C, Auguin M: Low power co-design tool and power optimization of schedules and memory system.Proceedings of the 14th International Workshop on Integrated Circuit and System Design Power and Timing Modeling, Optimization and Simulation (PATMOS '04), 2004, Santorini, Greece, Lecture Notes in Computer Science3254: 603-612.
Laurent J, Julien N, Senn E, Martin E: Functional level power analysis: an efficient approach for modeling the power consumption of complex processors.Proceedings of Design, Automation and Test in Europe Conference and Exhibition (DATE '04), 20041: 666-667.
Douhib S: Operating systems power and energy consumption characterization for critical embedded systems described in AADL, Thesis financement. ITEA, projet SPICES, Université de Bretagne Sud,Lorient; 2009.
Baynes K, Collins C, Fiterman E, Ganesh B, Kohout P, Smit C, Zhang T, Jacob B: The performance and energy consumption of embedded real-time operating systems.IEEE Transactions on Computers 2003,52(11):1454-1469.
Kang S, Wang H, Chen Y, Wang X, Dai Y: Skyeye: an instruction simulator with energy awareness. In Proceedings of the 1st International Conference on Embedded Software and Systems (ICESS '05), 2005, Lecture Notes in Computer Science. Volume 3605. Springer; 456-461.
Fournel N, Fraboulet A, Feautrier P: eSimu: a fast and accurate energy consumption simulator for real embedded system.Proceedings of the IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks (WOWMOM '07), June 2007 1-6.
Tan TK, Raghunathan A, Jha NK: EMSIM: an energy simulation framework for an embedded operating system.Proceedings of IEEE International Symposium on Circuits and Systems (ISCAS '02), 2002, Phoenix, Ariz, USA2: 464-467.
Gurumurthi S, Sivasubramaniam A, Irwin MJ, et al.: Using complete machine simulation for software power estimation: the SoftWatt approach. In Proceedings of the 8th International Symposium on High-Performance Computer Architecture (HPCA '02), 2002, Boston, Mass, USA. IEEE Computer Society; 141-150.
Senn E, Laurent J, Julien N, Martin E: SoftExplorer: estimation, characterization, and optimization of the power and energy consumption at the algorithmic level.Proceedings of the International Workshop on Power and Timing Modeling Optimization and Simulation (PATMOS '04), 2004, Lecture Notes in Computer Science3254: 342-351.
Saadia D, Eric S, Jean-Philippe D, Johann L, Dominique B: Model driven high-level power estimation of embedded operating systems communication services.Proceedings of International Conference on Embedded Software and Systems (ICESS '09), 2009, Hangzhu, China 475-481.
Rafiee M, Ghaznavi-Ghoushchi MB, Seyfe B: Processing power estimation of simple wireless sensor network nodes by power macro-modeling.Proceedings of the International Conference on Computer Engineering and Technology (ICCET '09), January 2009 428-431.
Elléouet D, Savary Y, Julien N: An FPGA power aware design flow.Proceedings of the 16th International Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS '06), 2006, Montpellier, France, Lecture Notes in Computer Science4148: 415-424.
Park C, Chou PH: Power utility maximization for multiple-supply systems by a load-matching switch.Proceedings of the International Symposium on Lower Power Electronics and Design (ISLPED '04), 2004, Newport Beach, Calif, USA 168-173.
Erdinc O, Vural B, Uzunoglu M: A dynamic lithium-ion battery model considering the effects of temperature and capacity fading.Proceedings of the International Conference on Clean Electrical Power (ICCEP '09), June 2009 383-386.
The authors would like to thank the "CAPNET" project partners: fire service partners: SDIS29 (Service Départemental d'Incendie et de Secours du Finistère), industrial partners: ERYMA Security Systems (Leader), DeltaDore, and AtlanticRF, academics partners: I.E.T.R Rennes and Lab-STICC Lorient. Financial pole: "Pôle Image et R éseaux", "Conseil G én éral du Morbihan", "R égion Bretagne", and " Ministère Français de l'Economie, des Finances et de l'Industrie", spellchecker: Joanna Ropers.
Authors and Affiliations
Lab-STICC/Université de Bretagne Sud, Centre de Recherche, BP 92116, 56321, Lorient, France
Nicolas Ferry, Sylvain Ducloyer & Nathalie Julien
ERYMA Security Systems/Parc Technellys, La Montagne du Salut, CS60009 Caudan, 56607, Lanester, France
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Ferry, N., Ducloyer, S., Julien, N. et al. Power/Energy Estimator for Designing WSN Nodes with Ambient Energy Harvesting Feature.
J Embedded Systems2011, 242386 (2011). https://doi.org/10.1155/2011/242386