Next Article in Journal
A Deep-Learning-Based Method for Spectrum Sensing with Multiple Feature Combination
Next Article in Special Issue
Modelling Analysis of Channel Assembling in CRNs Based on Priority Scheduling Strategy with Reserved Queue
Previous Article in Journal
An Online Review Data-Driven Fuzzy Large-Scale Group Decision-Making Method Based on Dual Fine-Tuning
Previous Article in Special Issue
Adaptive Mobility-Based IoT LoRa Clustering Communication Scheme
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Handling Power Depletion in Energy Harvesting IoT Devices

1
Department of Computer Engineering, Sungkyul University, Anyang 14097, Republic of Korea
2
Department of Convergence Security Engineering, Sungshin Women’s University, Seoul 02844, Republic of Korea
*
Author to whom correspondence should be addressed.
Electronics 2024, 13(14), 2704; https://doi.org/10.3390/electronics13142704
Submission received: 15 June 2024 / Revised: 3 July 2024 / Accepted: 9 July 2024 / Published: 10 July 2024
(This article belongs to the Special Issue Ubiquitous Sensor Networks, 2nd Edition)

Abstract

:
Efficient energy management is a significant task in Internet-of-Things (IoT) devices because typical IoT devices have the constraint of a limited power supply. In particular, energy harvesting IoT devices must be tolerant of complex and varying temporal/spatial environments for energy availability. Several schemes have been proposed to manage energy usage in IoT devices, such as duty-cycle control, transmission power control, and task scheduling. However, these approaches need to deal with the operating conditions particular to energy harvesting devices, e.g., power depletion according to energy harvesting conditions. In this paper, regarding a wireless sensor network (WSN) as a representative IoT device, we propose an Energy Intelligence Platform Module (EIPM) for energy harvesting WSNs. The EIPM provides harvested energy status prediction, checkpointing, and task execution control to ensure continuous operation according to energy harvesting conditions while minimizing required hardware/software overheads such as additional measurement components and computations. Our experiment results demonstrate that the EIPM successfully enables a device to cope with energy insufficiency under various harvesting conditions.

1. Introduction

The advancement of the Internet-of-Things (IoT) is paving the way for revolutionizing industries as well as explosive economic growth [1,2]. For example, usage of wireless sensor networks (WSNs), a representative realization of IoT deployments, is increasingly growing, with numerous applications such as monitoring rivers, wildfires, volcanoes, and earthquakes [1,3,4].
One of the important constraints on the performance and lifetime of such devices is their dependence on batteries. The limited capacity of the batteries embedded in IoT devices incurs high maintenance costs for manually replacing batteries when depleted [5,6]. Recent studies have introduced various energy harvesting techniques to resolve this problem and enable perpetual operations without maintenance [1,5,7,8,9]. Energy harvesting is essentially a technique to obtain energy from ambient sources such as RF radio waves [10], light [11], and mechanical motion [12]. The best energy harvesting method differs depending on the application’s operational needs and environment [13].
Among various energy harvesting technologies available today, solar energy harvesting is generally the most effective at providing high power density. It is the optimal energy source for an IoT device like a sensor node operating with relatively small harvesting modules [14,15]. However, due to power fluctuations from the solar panels and the limited storage capacity of an energy buffer, there are several design issues for solar harvesting in IoT devices:
  • The amount of harvested energy can exceed the storage capacity from time to time. An energy harvesting IoT device should aggressively utilize such abundant energy.
  • Energy harvesting conditions vary temporally and spatially. An energy harvesting IoT device must cope with such uncontrollable variability to extend its lifetime and increase sustainability.
  • Energy harvesting without another external power source can cause frequent power depletion. Such power depletion results in shutdowns and restarts, leading to loss of data and severe operational disruptions. An energy harvesting IoT device must respond appropriately to frequent system failures caused by insufficient harvested energy.
To address these design issues, we first build an analytical model for the status of energy harvesting IoT devices that includes power depletion and task rejection probabilities according to the energy harvesting rate and event arrival rate. Then, we propose an energy intelligence platform to control the device behavior according to the energy harvesting conditions. If the device works under a time-varying energy harvesting environment, the EIPM enables it to adjust its task execution rate accordingly and keep its state even with power depletion.
The remainder of this paper is organized as follows: In Section 2, we discuss related work. Section 3 presents our target environment and analytical model. The proposed EIPM is explained in Section 4. Section 5 demonstrates the experiment results using our EIPM implementation in a solar energy harvesting device. Finally, we conclude this paper in Section 6.

2. Related Work

Enormous research efforts have focused on energy-aware management for mobile and IoT devices [16]. Singh et al. [5] provide a systematic taxonomy for energy management schemes, particularly for WSNs, and examine various protocols and algorithms along with different energy management policies. However, these conventional approaches aim to control devices based solely on the battery level and do not consider the energy harvested from the environment.
There have been several research studies for managing scarce energy resources for devices powered by harvested energy [9]. Corke et al. [17] present the hardware design principles for long-term solar-powered wireless sensor networks. Simjee and Chou [18] propose a supercapacitor-operated solar-powered wireless sensor node called Everlast. These studies address initial system architectures for energy harvesting sensor nodes. Noh et al. [19] propose an energy assignment approach for solar-powered sensor systems to satisfy an objective such as ENO. Moser et al. [20] propose a parameterized specification and a corresponding optimal policy to control sensing and communication rates for devices powered by harvested energy instead of solving the optimization problem in real-time. Vigorito et al. [21] seek to address this limitation by formulating duty cycling as an adaptive control problem. Sarang et al. [22] present an energy-neutral operation (ENO)-based adaptive duty cycle MAC protocol that supports each sensor remaining in ENO as long as possible and using the surplus harvested energy to improve network performance. In [23], Bengheni et al. propose a multi-threshold energy regulating algorithm that dynamically adjust its duty cycle through calculating its sleep interval according to the amount of currently remaining energy. Havrlík et al. [24] address how distortion of signals in an energy harvesting environment affects the complexity and performance of the overall system.
However, these approaches assume that the energy harvesting source is stable or that the devices’ energy usage and workload profiles are known, although energy sources such as solar power have high variability and the profiles will likely be unavailable. Substantial research has been conducted with the objective of addressing these issues [25]. Zou et al. [26] develop an approach to enable devices to adjust their scheduling plans according to energy production and residual battery levels. Cammarano et al. [27] present an energy prediction model for energy harvesting sensor networks that leverages past energy observations to forecast future energy availability. By integrating energy predictors with time slots of varying lengths, it is possible to enhance the performance of the system by adapting to the fluctuations of the power source. Peng et al. [28] propose a framework for managing harvested energy in a prediction-free manner. The authors validate the efficacy of their scheme through theoretical analysis and extensive simulations without real-world experiments. In [29], Ashraf et al. employ a queue control model to maintain the energy level at a reference value based on a prediction of the harvestable energy and achieve higher throughput compared with throughput optimal schemes. Li et al. [30] explore task scheduling using predictions based on weather forecasts in energy harvesting systems and demonstrate accurate predictions for medium timescales. For the purpose of minimizing unnecessary errors in solar-based harvesting systems, Sah et al. [3] present a prediction technique based on prior energy measurements to show the future energy status for the respective time slot. In [31], Sah et al. propose a routing awareness scheduling algorithm to address crucial issues such as energy depletion, coverage preservation, routing, clustering, etc. The presented approach dynamically coordinates the role of sensor nodes, i.e., a header or a member of a cluster, based on both the remaining and harvested energy and the number of active nodes.
The research studies discussed above focus on maximizing the utilization of devices that use an ambient power source rather than considering seamless operation after power depletion occurs. Even though these approaches enable devices to optimize power consumption, power depletion events are inevitable. Checkpointing [32] is a typical technique to save the memory state on non-volatile storage in operating systems; restarting from the checkpointed state enables devices to recover their memory state from the last checkpoint. If an IoT node has a checkpoint before it turns off, it can perform subsequent operations after power becomes sufficient. Several studies [33,34] introduce checkpointing techniques to prevent the loss of state information due to power depletion. However, these approaches need to cope carefully with dynamic energy harvesting environments. Considering energy harvesting environments, Ransford et al. [35] suggest checkpointing and rescheduling techniques in computational RFIDs that scavenge energy from an ambient source. However, since RFIDs have severe resource constraints, their proposed approach uses a simple voltage-based policy to determine whether to perform checkpointing and rescheduling.

3. Problem Statement

3.1. Energy Harvesting IoT Devices

We focus on energy harvesting IoT devices that use capacitors rather than conventional rechargeable batteries as an energy storage/buffer. These two energy storage methods have trade-offs: a capacitor works for many recharge cycles but discharges quickly without a power source. In contrast, a rechargeable battery works for limited recharge cycles and takes a relatively long time to charge up but discharges very slowly. Aiming to sustain the IoT environment without maintenance, we consider capacitors as energy storage for the devices. However, the energy storage capacity of capacitors varies from a few tens of μ F to thousands of F. In particular, a typical capacitor has just a few thousand μ F , which is too small compared with rechargeable batteries. This results in intolerance to dynamics in energy availability. Also, the intolerance will matter even with a large energy storage capacity if the amount of harvested energy is insufficient. For an energy harvesting source, we choose a solar panel: the most popular and available power source with a dynamic nature for the available amount of harvested energy. Regarding a sensor node as the simplest representative of an IoT device, we use a legacy sensor node [36] equipped with a TI solar panel [37] for the implementation and experiments.

3.2. Microbenchmarks

For the selected device, we conduct a series of microbenchmarks to measure energy consumption for the devices’ operations, as presented in Table 1. The device uses a capacitor as energy storage in these experiments. Before each experiment begins, we fully charge the capacitor by connecting the device to an external power supply. After disconnecting the external power supply from the device, we make the device run each operation using only the energy in the capacitor. Then, we compute the energy consumption based on the output voltage drop of the capacitor while completing each operation.

3.3. Analytical Model

We build an analytical model to estimate the status of energy harvesting devices, such as the usage of the harvested energy and power depletion, under the following assumptions:
  • A device performs a duty cycle with a fixed active period ratio ρ in one cycle of L unit time for processing event tasks.
  • The energy buffer of the device is initially empty, and its maximum size is e m a x units. The device starts its first operation once the energy buffer becomes full.
  • A device executes tasks that have arrived with the rate of μ t , which means the average service time of a task is 1 μ t . The arrival of events is a Poisson process with the rate of λ t . One task execution consumes one unit of energy from the buffer.
  • The arrival of harvested energy is also a Poisson process, with the rate of λ h .
  • Task acceptance and execution are possible only during an active period and with available energy.
Energy is drained from the buffer when the device runs a task, which occurs when the task queue system is not empty during an active period in the duty cycle. Let P t ( 0 ) = 1 λ t μ t denote the probability that the task queue system is empty. Then the energy drain rate of the buffer μ d is computed as μ d = μ t ( 1 P t ( 0 ) ) . Figure 1 illustrates the behavior of the task queue and energy buffer under these assumptions.
Let E [ B 0 ] denote the expected energy buffer level at the moment of the first duty cycle of the device. Since we assume the device starts its first operation with a fully filled buffer, E [ B 0 ] is e m a x . The expected amount of harvested energy during one cycle is L λ h , and that of consumed energy for executing tasks during an active period is L λ t ρ . We define the expected energy level at cycle k ( E [ B k ] ) as follows:
E [ B 0 ] = e m a x E [ B k ] = E [ B 0 ] + k L ( λ h μ d ρ )
When E [ B k ] becomes zero, the device goes into power depletion status. Therefore, the expected number of duty cycles until power depletion occurs ( E [ k ] ) is defined as follows:
E [ k ] = e m a x L ( μ d ρ λ h )
After experiencing power depletion, the device starts new cycles once the energy level reaches e m a x again. Let C d (power depletion cycle) denote the total length of duty cycles until power depletion happens and the energy harvesting duration for restarting the device. Then the expected value for C d ( E [ C d ] ) is computed as follows:
E [ C d ] = E [ k ] L + e m a x λ h = e m a x 1 μ d ρ λ h + 1 λ h
Then, the power depletion probability is defined as 1 E [ C d ] .
The device cannot accept tasks during an idle period or while fully charging the empty energy buffer in one power depletion cycle. Therefore, the duration for which the device cannot accept tasks in one power depletion cycle is ( 1 ρ ) E [ k ] L + e m a x λ h , and then, the probability that tasks are not being queued P i is defined as follows:
P i = ( 1 ρ ) E [ k ] L + e m a x λ h E [ C d ] = 1 λ h μ d ρ
To guarantee feasible service availability of IoT devices, we must minimize P i as much as possible. It is straightforward that a larger λ d results in a higher P i . If the device enqueues tasks once they occur, the energy drain rate μ d is λ t since P t ( 0 ) = 1 λ t μ t . However, if the device accepts a task with some probability p [ 0 , 1 ] , we can decrease μ d = λ t p , which means that an appropriate policy to control tasks is required.
We validate our analytical model through event-driven simulations written in C++. We compare the estimated probabilities with the measured ones from simulations for 5000 s assuming backlogged tasks (i.e., a large event rate like λ t = 50 ) and an energy buffer of size 10. Figure 2 is a 3D plot to present the power depletion probability according to the energy harvesting rate and duty cycle. As shown in Figure 2, our model is likely to yield the same probability as the simulation results. Looking into further detail, we investigate the number of power depletions while fixing the energy harvest rate λ h = 0.25 , as shown in Figure 3. We observe that our model more correctly estimates the number of power depletion occurrence as the duty cycle ρ becomes larger. With  ρ < 0.2 , our model does not expect any power depletion; our model presumes that the duty cycles ideally prevent the occurrence of power depletion.

4. Energy Intelligence Platform Module

In this section, we present a platform module for implementing energy intelligence in energy harvesting IoT devices called the Energy Intelligence Platform Model (EIPM). The EIPM workflow has four stages: sampling, prediction, scheduling, and action, as shown in Figure 4. We develop the EIPM to process each stage through four components: a Power Manager for the sampling and scheduling stage, an Energy Predictor for the prediction stage, a Task Scheduler for the scheduling stage, and a Checkpoint Manager for one of the actions that the EIPM performs (checkpointing). Figure 5 presents the EIPM structure overview implemented for our legacy device using TinyOS [38].

4.1. Power Manager

The Power Manager takes charge of sampling the collected amount of energy and profiling the energy usage for tasks. As with the energy consumption measurement of device operations in Table 1, the Power Manager computes the amount of harvested energy by measuring the output voltage changes for the capacitor.
Let T s denote the length of a voltage sampling cycle, as shown in Figure 6. The amount of harvested energy at the moment of the ith sample ( E h ( i ) ) is defined as follows:
E h ( i ) = C 2 V ( i ) 2 V ( i 1 ) 2 E L P M 3 × T s 2 × E a d c ,
where the capacitance of the capacitor is C  μ F and the measured voltage at the ith time slot is V ( i )  volts.
The online task profiles can be easily obtained by measuring the voltage change between task start and end. Assume that a node executed a task k. Denote the voltage levels measured right before and after task execution as V 1 and V 2 , respectively. Then the profile of task k, π ( k ) , can be defined as follows:
π ( k ) = C 2 ( V 1 2 V 2 2 ) .
The problem with such online task profiling is that it is difficult to discriminate between energy consumption and harvested energy, e.g, if harvested energy is larger than the energy consumption for a user’s task, it seems that the user task does not consume any energy. But we focus on such a profile being able to reflect the energy harvesting condition. This can be used for an estimation of remaining energy after a user’s task execution under a specific energy harvesting condition.

4.2. Energy Predictor

Several statistical methods such as auto-regression and the Holt–Winters algorithm [39] can be a solution to predict/forecast the future energy status based on current observations. However, these statistical approaches require large amounts of collected data and corresponding computations to build a prediction model, making them inappropriate for IoT devices with limited computing and energy capability.
For IoT devices, we suggest predicting the energy acquisition status (sufficient or insufficient) rather than the exact amount of harvested energy. First, we define an insufficient state as a case in which a device cannot preserve the current level of the energy buffer even without a task to be executed. Therefore, at the moment of the ith sampling, the energy acquisition status is in the insufficient state when the amount of harvested energy is as follows:
E h ( i ) < E L P M 3 × T s + 2 × E a d c + γ ,
where γ is a margin for an energy-sufficient state.
Then, we build a simple two-state discrete Markov chain, as shown in Figure 7, for which states 0 and 1 mean insufficient and sufficient light, respectively. Based on the series of collected light sufficiency information, we simply compute transition probabilities by counting the number of transitions. We utilize the corresponding stationary probabilities for each state, P r [ 0 ] and P r [ 1 ] , to make decisions on device behavior.
However, as observations are accumulated for long time, recent transitions between insufficient and sufficient states are likely to be ignored in the model. To resolve this problem, we employ an algorithm to decay the significance of previous observations, as described in Algorithm 1. The accumulated count on each transition is multiplied by 0 < β < 1 every α samplings from the last decay. To ensure the two-state Markov chain is irreducible and aperiodic and has stationary probabilities, we define the threshold θ = 1 to limit the minimum value of the accumulated count of each transition.
Algorithm 1: Energy Acquisition Status Prediction.
  • Init: C n t [ x y ] = 0 for x , y { 0 , 1 }
  • Perform the following actions every voltage sampling
  •       
  • C u r r S t a t e = Reading the light sufficiency information
  • if   C u r r S t a t e is a reading after α samplings from the last decay then
  •      C n t [ x y ] = β × C n t [ x y ] for x , y { 0 , 1 }
  •     if  C n t [ x y ] for x , y { 0 , 1 } < θ  then
  •          C n t [ x y ] = θ
  •    end if
  • end if
  • Cnt[ P r e v S t a t e C u r r S t a t e ] + = 1
  • P r e v S t a t e = C u r r S t a t e
  • Calculate P r [ 0 ] , P r [ 1 ] from current Cnt[ x y ] for x , y { 0 , 1 }
Since the EIPM makes decisions based on voltage samples and the corresponding states, it is important for the EIPM to determine an appropriate sampling cycle in order to prevent unnecessary energy usage while collecting enough information to control a device; a large sampling cycle can result in delayed responses with regard to energy-sufficient conditions, and a short cycle can incur too much energy consumption for ADC readings and corresponding computations. To resolve this issue, the EIPM adjusts the sampling cycle T s based on the number of consecutive sufficient or insufficient light states. Let us assume that the set of possible lengths for the sampling cycle is L = { l 0 , l 1 , l 2 , , l m a x } . Algorithm 2 presents the pseudocode for sampling cycle adjustment.
Algorithm 2: Sampling Cycle Adjustment.
  • Init: T s = l m a x , i d x = m a x
  • Perform the following actions every time slot i
  •      
  • if   E h ( i ) indicates light insufficiency then
  •     if there are ψ d consecutive insufficient light states then
  •         i d x = i d x 1 if i d x > 0
  •    end if
  • else
  •    if there are ψ u consecutive sufficient light states then
  •         i d x = i d x + 1 if i d x < m a x
  •    end if
  • end if
  • T s = l i d x

4.3. Task Scheduler

Suppose that a device executes tasks without any control. In that case, it can result in inefficient energy usage or an unexpected energy depletion due to a power drain that is too large from the energy buffer. So the EIPM needs a component to decide whether a device executes a task based on the energy harvesting status.
The Task Scheduler controls device task execution based on the energy sampling and task profiling from the Power Manager. It decides whether a device executes a task based on the energy harvesting conditions to prevent inefficient energy usage and unexpected energy depletion. Instead of finding the most proper task to be executed, like in [40], the Task Scheduler simply focuses on the decision about whether or not to execute the task at the head of the task queue. It aims to guarantee that the capacitor voltage after task execution is larger than or equal to the minimum required voltage for operating the device. Denote the minimum voltage for a device as V d e v (the V d e v of our device is 1.8 V). Assume that the Task Scheduler controls the execution of task k at the ith sampling. The expected voltage after task k execution, V a f t e r ( k ) , is as follows:
V a f t e r ( k ) = V ( i ) 2 2 C π ( k ) ,
where V ( i ) is a measured voltage level at the ith sampling.
Task k can be executed only if V a f t e r is larger than or equal to V d e v ; thus, V d e v can be a minimum threshold for the Task Scheduler to compare to V a f t e r . Note that the EIPM also seeks to make a checkpoint before power depletion happens. Therefore, the threshold to execute the task k should consider the amount of energy for checkpointing if necessary (i.e., if light is continuously insufficient). To reflect this, the Task Scheduler adjusts the threshold to be close to the voltage level required for checkpointing ( V c h k ) as the stationary probability of the insufficient light state P r [ 0 ] increases. Then, it executes task k if V a f t e r ( k ) V t h r e s h o l d .
V t h r e s h o l d = V d e v + ( V c h k V d e v ) × P r [ 0 ]
However, several system tasks are critical for device operation, such as timer expiration and interrupts. If the Task Scheduler blocks such tasks, a node cannot work correctly. To avoid blocking this type of task, the Task Scheduler divides tasks into two categories: system tasks and user tasks. As shown in Figure 8, the Task Scheduler manages two queues for each type of task. Tasks in the system task queue are under the default queue management policy, e.g., they are preemptive against user tasks, and the Task Scheduler does not control them at all. In contrast, a device executes user tasks only when the Task Scheduler checks that the energy condition satisfies the above constraints with the help of the Power Manager.

4.4. Checkpoint Manager

Checkpointing is a typical technique to save the memory state on non-volatile storage in operating systems; restarting from the checkpointed state allows applications to recover their memory state to the last checkpoint. In the EIPM, the Checkpoint Manager creates such a rollback point to keep the device state information regardless of power depletion. It is straightforward that deferring a checkpoint to just before power depletion is energy efficient since saving a checkpoint triggers additional energy consumption. However, to be tolerant of unexpected failures, it can be better to do an eager checkpoint, which saves the memory state periodically or at certain points in the application’s execution. To decide an appropriate time for a checkpoint, the Checkpoint Manager collaborates with the Energy Predictor; it makes a checkpoint when the stationary probability for the insufficient light state is larger than a particular threshold, e.g., we use P r [ 0 ] > 0.8 as a triggering condition for a checkpoint in our implementation. Also, as discussed for the Task Scheduler, the Checkpoint Manager also check whether the capacitor voltage level is larger than V c h k , which satisfies the following condition:
C 2 V c h k 2 V f 2 ( E f w + E m e m ) × S ,
where V f is the minimum voltage level for operating flash memory, and S is the size of a checkpoint.
If checkpoints are created too frequently, most of them are useless since they do not contain any new information compared with the previous one. To avoid unnecessary checkpoints, the Checkpoint Manager sets an indicating value for each checkpoint (checkpoint TTL), which specifies how long the corresponding checkpoint is worthwhile. Assuming more task executions make a checkpoint obsolete, the Checkpoint Manager decreases the value of the checkpoint TTL (reduces it by one) every task execution. Then, if the checkpoint TTL becomes zero, the Checkpoint Manger makes a new one if necessary.

5. Evaluation

5.1. Real Device Experiments

To evaluate the performance of the EIPM on our device, we build a simple application that calculates the average values from sensed data and transmits them to a basestation. The communication component is turned on only when a node tries to transmit a packet, and each transmitted packet contains a sequence number to identify how many values are used for computing the average. We compare the EIPM with a naive threshold-based approach to control task execution. In the case of the threshold-based scheme, the device periodically samples its voltage level and determines whether to execute a task based on the measured voltage level.
We run outdoor experiments using the simple applications compiled with each approach for 24 h. We select parameter values for the EIPM and the threshold-based approach as shown in Table 2 and Table 3, which yield feasible and comparable performance from preliminary experiments. Recall that the EIPM adjusts the sampling cycle according to the energy harvesting conditions. In contrast, the threshold-based approach uses a fixed value for the sample cycle; we choose the medium value of L for the EIPM. In the case of the threshold for task execution, the naive approach uses the voltage value for operating flash memory as a threshold.

5.1.1. Task Execution Rate

To investigate whether the EIPM successfully manages energy usage while executing a feasible number of tasks, we explore the task execution rate and the voltage level before task execution. Figure 9 depicts the average task execution rate during 24 h. The application compiled with the EIPM executes tasks more aggressively than the one with the threshold-based approach while successfully decreasing the execution rate as the evening goes on (light becomes insufficient). In contrast, the threshold-based approach yields about 12,000 task executions per hour, which is much lower than that with the EIPM. Recall that both approaches execute a task after measuring the voltage level. Therefore, in the case of the threshold-based approach without sampling cycle adjustments, its maximum task execution rate is fixed just by the pre-determined sampling cycle even under sufficient light condition (12:00 to 19:00). Therefore, the naive approach fails to fully utilize harvested energy for processing tasks, while the EIPM makes a device more aggressive under sufficient light.
Figure 10 shows the average voltage level before task execution, which represents the amount of energy stored in the capacitor before task execution. As discussed with regard to the task execution rate, the EIPM more aggressively utilizes harvested energy than the threshold-based approach under the sufficient light state. Also, in the case of the EIPM, the voltage level before task execution increases as the evening goes on. This is because the EIPM increases the voltage threshold for task execution when it needs to make a checkpoint due to potential power depletion (light becomes insufficient).

5.1.2. Checkpoints

To examine how efficiently the EIPM creates checkpoints while avoiding unnecessary ones, we investigate the number of checkpoints and the amount of lost information due to power depletion. Since the threshold-based approach does not have a mechanism to create checkpoints, we assume that it makes a checkpoint when the voltage level becomes the minimum threshold to operate flash memory. Therefore, we count the number of expected checkpoints based on the threshold during the last hour before power depletion.
Table 4 presents the average number of checkpoints and lost information (the number of executed tasks from the last checkpoint to power depletion). The EIPM creates 13 checkpoints while losing 9 states on average. The amount of lost information with 13 checkpoints is smaller than that of the predetermined checkpoint TTL = 15, which means that the last checkpoint is still relevant. These results show that the EIPM efficiently mitigates unnecessary checkpoints while preserving a valid checkpoint. In contrast, since the threshold-based approach uses the voltage level to determine whether to make a checkpoint, it yields 84 checkpoints on average, which is much more frequent than the EIPM. Also, the threshold-based approach does not guarantee successful checkpoint creation because it does not check energy availability for completing a checkpoint.

5.2. Simulations

To compare the EIPM with other approaches in more detail, we conduct event-driven simulation based on the assumptions of the analytical model in Section 3.3. For the comparison study, we select the threshold-based approach in the implementation experiments and a control method based on statistical time series prediction using the Holt–Winters algorithm [39]. Note that in the simulations, we simplify the EIPM to utilize energy level measurements instead of voltage. In the case of the Holt–Winters algorithm, we use a smoothing parameter of 0.25 and utilize a series of 20 samples for the algorithm to predict the one-step-ahead energy level.

5.2.1. Static Environments

First, we explore the simulations for 10,000 units of time with the static environment parameter settings in Table 5. Each setting of the energy harvesting rate represents scarce ( λ h = 1 ), moderate ( λ h = 5 ), and sufficient ( λ h = 15 ) energy harvesting conditions. Figure 11 and Table 6 present the average number of power depletions, the average task execution latencies (i.e., the interval between task enqueuing and execution), and device turn-on durations collected from five simulation runs. As shown in Figure 11a, the EIPM successfully prevents power depletions under moderate and sufficient conditions. In the case of scarce conditions, the EIPM experiences inevitable power depletions but mitigates them as much as possible. By doing so, the EIPM guarantees longer device turn-on duration than the others, as shown in Table 6. In contrast, the other approaches suffer from power depletions even when the energy harvesting condition is moderate. Compared with the threshold-based approach, the Holt–Winters-algorithm-based one yields slightly fewer power depletions but still yields many more than the EIPM. Figure 11b shows that task execution latency decreases as the energy harvest rate becomes larger because enough energy in the energy buffer enables a device to execute tasks more frequently. Since the EIPM regulates task executions to avoid power depletions, it yields longer task execution latency than the others under scarce and moderate conditions. However, once the EIPM detects sufficient conditions, it more aggressively executes tasks; thus, its average task execution latency becomes much shorter than the others.

5.2.2. Dynamic Environments

Next, we investigate the behavior of the EIPM and the other approaches under dynamic environments wherein the energy harvesting rate changes from time to time. To this end, we artificially generate five time-series traces by continuously changing the energy harvesting rates based on the previous ones for 10,000 units of time. We set the minimum and maximum values of the energy harvesting rate to 0 and 15, respectively. Figure 12 presents the energy harvesting rate traces of the selected scenarios.
Table 7 presents the number of power depletions, device turn-on duration, and task execution latency on average. Note that we sort the scenarios by the increasing order of the number of power depletions. We expect that scenario 1 results in similar behavior to the sufficient scenario in the static environment, scenarios 2–4 relates to the moderate one, and scenario 5 relates to the scarce one. Similar to the result for the static environments, the EIPM entirely prevents power depletions in scenarios 1–4 and suffers from a relatively small number of inevitable power depletions in scenario 5. In contrast, the other approaches severely suffer from power depletions, except for in scenario 1. The other metrics also correspondingly behave similarly to those in the static environments. The EIPM yields the largest average device turn-on time for all scenarios, followed by the Holt–Winters and threshold-based approaches. For example, Figure 13 presents the cumulative distribution function of the device turn-on duration in scenario 5. As shown in Figure 13, the threshold and Holt–Winters approaches exhibit device turn-on times of up to 33 units while the EIPM does up to 681. In the case of task execution latency, the EIPM always yields longer latencies. As with sufficient conditions in static environments, the EIPM successfully shortens task execution latency as the energy harvesting condition becomes good, as in scenario 1, although it is still slightly longer than the others to prevent power depletions. These results demonstrate that the EIPM successfully manages device energy consumption to mitigate power depletions while preserving feasible task execution performance.

6. Conclusions

This paper proposes the EIPM: a platform module to implement energy intelligence for energy harvesting IoT devices. First, we devise a simple energy measurement scheme and prediction model to realize the EIPM in IoT devices with limited capabilities. Using lightweight energy sampling and prediction models, the EIPM enables devices to adjust their task execution rates according to energy harvesting conditions. Also, the EIPM provides a checkpoint mechanism based on predictions of energy conditions, allowing devices to cope with inevitable power depletion events. Our simulation results prove that under various environments, the EIPM almost perfectly prevents power depletions and enables devices to turn on for a longer time; e.g., compared to the other approaches, the EIPM reduces the number of power depletions by 93.4% if those are inevitable and provides 15.6× longer device turn-on duration while yielding 32.6% increased task execution latency as a tradeoff, which is feasible. Also, we implement a proof of concept for the EIPM in a wireless sensor node as a representative energy harvesting IoT device. Our experiment results demonstrate that the EIPM successfully achieves the design goal of aggressively processing tasks with the consumption of abundant energy under good harvesting conditions and preparing a checkpoint with restricted task execution otherwise.

Author Contributions

Conceptualization, Y.-m.K. and Y.-s.L.; methodology, Y.-m.K. and Y.-s.L.; software, Y.-m.K.; validation, Y.-s.L.; formal analysis, Y.-m.K.; writing—original draft preparation, Y.-m.K.; writing—review and editing, Y.-s.L.; visualization, Y.-m.K.; supervision, Y.-s.L.; project administration, Y.-s.L.; funding acquisition, Y.-s.L. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by Sungshin Women’s University Research grant H20240066.

Data Availability Statement

Data is available upon request.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Jamshed, M.A.; Ali, K.; Abbasi, Q.H.; Imran, M.A.; Ur-Rehman, M. Challenges, Applications, and Future of Wireless Sensors in Internet of Things: A Review. IEEE Sens. J. 2022, 22, 5482–5494. [Google Scholar] [CrossRef]
  2. Rahmani, H.; Shetty, D.; Wagih, M.; Ghasempour, Y.; Palazzi, V.; Carvalho, N.B.; Correia, R.; Costanzo, A.; Vital, D.; Alimenti, F.; et al. Next-Generation IoT Devices: Sustainable Eco-Friendly Manufacturing, Energy Harvesting, and Wireless Connectivity. IEEE J. Microwaves 2023, 3, 237–255. [Google Scholar] [CrossRef]
  3. Sah, D.K.; Hazra, A.; Kumar, R.; Amgoth, T. Harvested Energy Prediction Technique for Solar-Powered Wireless Sensor Networks. IEEE Sens. J. 2023, 23, 8932–8940. [Google Scholar] [CrossRef]
  4. Hazra, A.; Donta, P.K.; Amgoth, T.; Dustdar, S. Cooperative Transmission Scheduling and Computation Offloading with Collaboration of Fog and Cloud for Industrial IoT Applications. IEEE Internet Things J. 2023, 10, 3944–3953. [Google Scholar] [CrossRef]
  5. Singh, J.; Kaur, R.; Singh, D. A survey and taxonomy on energy management schemes in wireless sensor networks. J. Syst. Archit. 2020, 111, 101782. [Google Scholar] [CrossRef]
  6. Donta, P.K.; Rao, B.S.P.; Amgoth, T.; Annavarapu, C.S.R.; Swain, S. Data Collection and Path Determination Strategies for Mobile Sink in 3D WSNs. IEEE Sens. J. 2020, 20, 2224–2233. [Google Scholar] [CrossRef]
  7. Ma, D.; Lan, G.; Hassan, M.; Hu, W.; Das, S.K. Sensing, Computing, and Communications for Energy Harvesting IoTs: A Survey. IEEE Commun. Surv. Tutor. 2020, 22, 1222–1250. [Google Scholar] [CrossRef]
  8. Ruan, T.; Chew, Z.J.; Zhu, M. Energy-Aware Approaches for Energy Harvesting Powered Wireless Sensor Nodes. IEEE Sens. J. 2017, 17, 2165–2173. [Google Scholar] [CrossRef]
  9. Sah, D.K.; Amgoth, T. Renewable energy harvesting schemes in wireless sensor networks: A Survey. Inf. Fusion 2020, 63, 223–247. [Google Scholar] [CrossRef]
  10. Ibrahim, H.H.; Singh, M.J.; Al-Bawri, S.S.; Ibrahim, S.K.; Islam, M.T.; Alzamil, A.; Islam, M.S. Radio Frequency Energy Harvesting Technologies: A Comprehensive Review on Designing, Methodologies, and Potential Applications. Sensors 2022, 22, 4144. [Google Scholar] [CrossRef]
  11. Costa, M.S.; Manera, L.T.; Moreira, H.S. Study of the light energy harvesting capacity in indoor environments. In Proceedings of the 2019 4th International Symposium on Instrumentation Systems, Circuits and Transducers (INSCIT), Sao Paulo, Brazil, 26–30 August 2019; pp. 1–4. [Google Scholar] [CrossRef]
  12. Bairagi, S.; ul Islam, S.; Shahadat, M.; Mulvihill, D.M.; Ali, W. Mechanical energy harvesting and self-powered electronic applications of textile-based piezoelectric nanogenerators: A systematic review. Nano Energy 2023, 111, 108414. [Google Scholar] [CrossRef]
  13. Becker, T.; Kiziroglou, M.E.E. Energy Harvesting for a Green Internet of Things; PSMA Energy Harvesting Technical Committee: Long Beach, CA, USA, 2021. [Google Scholar]
  14. Dondi, D.; Bertacchini, A.; Brunelli, D.; Larcher, L.; Benini, L. Modeling and Optimization of a Solar Energy Harvester System for Self-Powered Wireless Sensor Networks. IEEE Trans. Ind. Electron. 2008, 55, 2759–2766. [Google Scholar] [CrossRef]
  15. Sharma, H.; Haque, A.; Jaffery, Z.A. Modeling and Optimisation of a Solar Energy Harvesting System for Wireless Sensor Network Nodes. J. Sens. Actuator Netw. 2018, 7, 40. [Google Scholar] [CrossRef]
  16. Pasricha, S.; Ayoub, R.; Kishinevsky, M.; Mandal, S.K.; Ogras, U.Y. A Survey on Energy Management for Mobile and IoT Devices. IEEE Des. Test 2020, 37, 7–24. [Google Scholar] [CrossRef]
  17. Corke, P.; Valencia, P.; Sikka, P.; Wark, T.; Overs, L. Long-duration solar-powered wireless sensor networks. In Proceedings of the 4th Workshop on Embedded Networked Sensors, EmNets ’07, New York, NY, USA, 25–26 June 2007; pp. 33–37. [Google Scholar] [CrossRef]
  18. Simjee, F.; Sharma, D.; Chou, P.H. Everlast: Long-life, supercapacitor-operated wireless sensor node. In Proceedings of the 3rd International Conference on Embedded Networked Sensor Systems, SenSys ’05, New York, NY, USA, 2–4 November 2005; p. 315. [Google Scholar] [CrossRef]
  19. Noh, D.K.; Wang, L.; Yang, Y.; Le, H.K.; Abdelzaher, T. Minimum Variance Energy Allocation for a Solar-Powered Sensor System. In Proceedings of the 5th IEEE International Conference on Distributed Computing in Sensor Systems, DCOSS ’09, Berlin/Heidelberg, Germany, 8–10 June 2009; pp. 44–57. [Google Scholar] [CrossRef]
  20. Moser, C.; Thiele, L.; Brunelli, D.; Benini, L. Adaptive power management in energy harvesting systems. In Proceedings of the Conference on Design, Automation and Test in Europe, DATE ’07, San Jose, CA, USA, 16–20 April 2007; pp. 773–778. [Google Scholar]
  21. Vigorito, C.M.; Ganesan, D.; Barto, A.G. Adaptive control of duty cycling in energy-harvesting wireless sensor networks. In Proceedings of the 4th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks, SECON 2007, San Diego, CA, USA, 18–21 June 2007; pp. 21–30. [Google Scholar]
  22. Sarang, S.; Stojanović, G.M.; Drieberg, M.; Stankovski, S.; Jeoti, V. Energy Neutral Operation based Adaptive Duty Cycle MAC Protocol for Solar Energy Harvesting Wireless Sensor Networks. In Proceedings of the 2022 IEEE 95th Vehicular Technology Conference: (VTC2022-Spring), Helsinki, Finland, 19–22 June 2022; pp. 1–6. [Google Scholar] [CrossRef]
  23. Bengheni, A. A Multi-Threshold Energy approach for Energy Harvesting WSN. In Proceedings of the 2022 2nd International Conference on New Technologies of Information and Communication (NTIC), Mila, Algeria, 21–22 December 2022; pp. 1–5. [Google Scholar] [CrossRef]
  24. Havrlík, M.; Libra, M.; Poulek, V.; Kouřím, P. Analysis of Output Signal Distortion of Galvanic Isolation Circuits for Monitoring the Mains Voltage Waveform. Sensors 2022, 22, 7769. [Google Scholar] [CrossRef] [PubMed]
  25. Sandhu, M.M.; Khalifa, S.; Jurdak, R.; Portmann, M. Task Scheduling for Energy-Harvesting-Based IoT: A Survey and Critical Analysis. IEEE Internet Things J. 2021, 8, 13825–13848. [Google Scholar] [CrossRef]
  26. Zou, T.; Lin, S.; Feng, Q.; Chen, Y. Energy-Efficient Control with Harvesting Predictions for Solar-Powered Wireless Sensor Networks. Sensors 2016, 16, 53. [Google Scholar] [CrossRef] [PubMed]
  27. Cammarano, A.; Petrioli, C.; Spenza, D. Online Energy Harvesting Prediction in Environmentally Powered Wireless Sensor Networks. IEEE Sens. J. 2016, 16, 6793–6804. [Google Scholar] [CrossRef]
  28. Peng, S.; Low, C. Prediction free energy neutral power management for energy harvesting wireless sensor nodes. Ad Hoc Netw. 2014, 13, 351–367. [Google Scholar] [CrossRef]
  29. Ashraf, N.; Faizan, M.; Asif, W.; Qureshi, H.K.; Iqbal, A.; Lestas, M. Energy management in harvesting enabled sensing nodes: Prediction and control. J. Netw. Comput. Appl. 2019, 132, 104–117. [Google Scholar] [CrossRef]
  30. Li, Y.; Jia, Z.; Li, X. Task Scheduling Based on Weather Forecast in Energy Harvesting Sensor Systems. IEEE Sens. J. 2014, 14, 3763–3765. [Google Scholar] [CrossRef]
  31. Sah, D.K.; Hazra, A.; Mazumdar, N.; Amgoth, T. An Efficient Routing Awareness Based Scheduling Approach in Energy Harvesting Wireless Sensor Networks. IEEE Sens. J. 2023, 23, 17638–17647. [Google Scholar] [CrossRef]
  32. Singla, P.; Sarangi, S.R. A survey and experimental analysis of checkpointing techniques for energy harvesting devices. J. Syst. Archit. 2022, 126, 102464. [Google Scholar] [CrossRef]
  33. Gummadi, R.; Kothari, N.; Millstein, T.; Govindan, R. Declarative failure recovery for sensor networks. In Proceedings of the 6th International Conference on Aspect-Oriented Software Development, AOSD ’07, New York, NY, USA, 12–16 March 2007; pp. 173–184. [Google Scholar] [CrossRef]
  34. Österlind, F.; Dunkels, A.; Voigt, T.; Tsiftes, N.; Eriksson, J.; Finne, N. Sensornet Checkpointing: Enabling Repeatability in Testbeds and Realism in Simulations. In Proceedings of the 6th European Conference on Wireless Sensor Networks, EWSN ’09, Berlin/Heidelberg, Germany, 11–13 February 2009; pp. 343–357. [Google Scholar] [CrossRef]
  35. Ransford, B.; Clark, S.S.; Salajegheh, M.; Fu, K. Getting Things Done on Computational RFIDs with Energy-Aware Checkpointing and Voltage-Aware Scheduling. In Proceedings of the Workshop on Power Aware Computing and Systems, HotPower, USENIX Association, San Diego, CA, USA, 8–10 December 2008. [Google Scholar]
  36. Lajara, R.; Pelegrí-Sebastiá, J.; Solano, J.J.P. Power Consumption Analysis of Operating Systems for Wireless Sensor Networks. Sensors 2010, 10, 5809–5826. [Google Scholar] [CrossRef]
  37. TI eZ430-RF2500-SEH Development Tool User Guide. Available online: http://focus.ti.com/lit/ug/slau273c/slau273c.pdf (accessed on 14 June 2024).
  38. TinyOS. Available online: http://www.tinyos.net/ (accessed on 14 June 2024).
  39. Brockwell, P.J.; Davis, R.A. Introduction to Time Series and Forecasting; Springer: Berlin/Heidelberg, Germany, 2002. [Google Scholar]
  40. Moser, C.; Brunelli, D.; Thiele, L.; Benini, L. Real-time scheduling for energy harvesting sensor nodes. Real-Time Syst. 2007, 37, 233–260. [Google Scholar] [CrossRef]
Figure 1. System diagram: (a) active period; (b) idle period.
Figure 1. System diagram: (a) active period; (b) idle period.
Electronics 13 02704 g001aElectronics 13 02704 g001b
Figure 2. Power depletion probability: (a) simulation; (b) model.
Figure 2. Power depletion probability: (a) simulation; (b) model.
Electronics 13 02704 g002
Figure 3. Number of power depletions as a function of duty cycle ( λ h = 0.25 ).
Figure 3. Number of power depletions as a function of duty cycle ( λ h = 0.25 ).
Electronics 13 02704 g003
Figure 4. EIPM workflow.
Figure 4. EIPM workflow.
Electronics 13 02704 g004
Figure 5. Implemented structure overview.
Figure 5. Implemented structure overview.
Electronics 13 02704 g005
Figure 6. Estimation of harvested energy.
Figure 6. Estimation of harvested energy.
Electronics 13 02704 g006
Figure 7. Energy acquisition state transition model.
Figure 7. Energy acquisition state transition model.
Electronics 13 02704 g007
Figure 8. Task queues.
Figure 8. Task queues.
Electronics 13 02704 g008
Figure 9. Average task execution rates.
Figure 9. Average task execution rates.
Electronics 13 02704 g009
Figure 10. Average voltage levels before task execution.
Figure 10. Average voltage levels before task execution.
Electronics 13 02704 g010
Figure 11. Power depletion and task execution latency in static environments: (a) number of power depletions; (b) task execution latency.
Figure 11. Power depletion and task execution latency in static environments: (a) number of power depletions; (b) task execution latency.
Electronics 13 02704 g011
Figure 12. Example scenarios using dynamic energy harvesting rate: (a) scenario 2; (b) scenario 5.
Figure 12. Example scenarios using dynamic energy harvesting rate: (a) scenario 2; (b) scenario 5.
Electronics 13 02704 g012
Figure 13. CDF of device turn-on duration (scenario 5).
Figure 13. CDF of device turn-on duration (scenario 5).
Electronics 13 02704 g013
Table 1. Energy consumption of operations.
Table 1. Energy consumption of operations.
OperationMeasured Energy Consumption
Flash Write ( E f w )0.5793 μJ/byte
Flash Read ( E f r )0.1588 μJ/byte
Flash Erase ( E f e )15,065 μJ
ADC Read ( E a d c )5.2280 μJ/trial
Memory Operation ( E m e m )0.0142 μJ/byte
Do Nothing ( E L P M 3 )22.082 μJ/s
Table 2. EIPM parameters.
Table 2. EIPM parameters.
ParameterDescriptionValue
α Threshold for decaying30
β Decaying factor0.5
γ Margin for light sufficiency300 μ J
ψ u Threshold for increasing T s 10
ψ d Threshold for decreasing T s 2
SSet of possible T s { 50 ms , 100 ms , , 450 ms , 500 ms}
T T L Checkpoint lifetime15 task executions
Table 3. Threshold-based approach parameters.
Table 3. Threshold-based approach parameters.
ParameterValue
Sampling cycle T s 300 ms
Threshold for task execution2750 mV
Table 4. Checkpoint statistics.
Table 4. Checkpoint statistics.
SchemeDescriptionCount
Threshold-basedNumber of expected checkpoints84
EIPMNumber of checkpoints13
Amount of lost information9
Table 5. Simulation parameters for static environments.
Table 5. Simulation parameters for static environments.
ParameterDescriptionValue
ρ Ratio of active period in one cycle0.7
LLength of cycle10
KSize of energy buffer10
QSize of task queue100
λ t Task arrival rate10
μ t Task service rate15
λ h Energy harvesting rate1, 5, 10
Table 6. Device turn-on duration (units of time) in static environments.
Table 6. Device turn-on duration (units of time) in static environments.
Energy Harvesting Condition
MethodScarce ( λ h = 1 )Moderate ( λ h = 5 )Sufficient ( λ h = 15 )
Threshold12.21348.06always
Holt–Winters12.09451.60always
EIPM16.05alwaysalways
Table 7. Results with dynamic environments.
Table 7. Results with dynamic environments.
a. Number of Power Depletions
Scenario
Method12345
Threshold81913134091015
Holt–Winters61552543651001
EIPM000066
b. Device Turn-on Duration (Units of Time)
Scenario
Method12345
Threshold1078.3251.3331.5024.059.42
Holt–Winters1319.4263.5338.2326.919.57
EIPMalwaysalwaysalwaysalways147.08
c. Task Execution Latency (Units of Time)
Scenario
Method12345
Threshold43.6143.7844.2744.7158.36
Holt-Winters43.5844.0144.6245.1258.64
EIPM59.1171.1272.5573.5977.16
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kang, Y.-m.; Lim, Y.-s. Handling Power Depletion in Energy Harvesting IoT Devices. Electronics 2024, 13, 2704. https://doi.org/10.3390/electronics13142704

AMA Style

Kang Y-m, Lim Y-s. Handling Power Depletion in Energy Harvesting IoT Devices. Electronics. 2024; 13(14):2704. https://doi.org/10.3390/electronics13142704

Chicago/Turabian Style

Kang, Young-myoung, and Yeon-sup Lim. 2024. "Handling Power Depletion in Energy Harvesting IoT Devices" Electronics 13, no. 14: 2704. https://doi.org/10.3390/electronics13142704

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop