Next Article in Journal
Investigating Radio Frequency Vulnerabilities in the Internet of Things (IoT)
Previous Article in Journal
Integration of IoT Technologies for Enhanced Monitoring and Control in Hybrid-Powered Desalination Systems: A Sustainable Approach to Freshwater Production
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Adaptive Transmissions for Batteryless Periodic Sensing

Department of Computer Science and Information Engineering, National Taiwan Normal University, Taipei City 116, Taiwan
*
Author to whom correspondence should be addressed.
IoT 2024, 5(2), 332-355; https://doi.org/10.3390/iot5020017
Submission received: 1 May 2024 / Revised: 28 May 2024 / Accepted: 29 May 2024 / Published: 31 May 2024

Abstract

:
Batteryless, self-sustaining embedded sensing devices are key enablers for scalable and long-term operations of Internet of Things (IoT) applications. While advancements in both energy harvesting and intermittent computing have helped pave the way for building such batteryless IoT devices, a present challenge is a system design that can utilize intermittent energy to meet data requirements from IoT applications. In this paper, we take the requirement of periodic data sensing and describe the hardware and software of a batteryless IoT device with its model, design, implementation, and evaluation. A key finding is that, by estimating the non-linear hardware charging and discharging time, the device software can make scheduling decisions that both maintain the selected sensing period and improve transmission goodput. A hardware–software prototype was implemented using an MSP430 development board and LoRa radio communication technology. The proposed design was empirically compared with one that does not consider the non-linear hardware characteristics. The result of the experiments illustrated the nuances of the batteryless device design and implementation, and it demonstrated that the proposed design can cover a wider range of feasible sensing rates, which reduces the restriction on this parameter choice. It was further demonstrated that, under an intermittent supply of power, the proposed design could still keep the device functioning as required.

1. Introduction

Internet-of-Things (IoT) technologies and wireless sensor networks [1,2] have found a wide range of promising applications in modern societies (e.g., in agriculture [3], smart cities [4,5], healthcare [6], industries [7]) thanks to their data collection capability, flexibility of application deployment, and integration to computing clouds [8]. However, to sustain their operations, a challenge faced by many IoT application domains is energy. On the one hand, operation energy efficiency has long been an important research topic; from the perspective of IoT networks, Low-Power Wide-Area Networks (LPWAN) [9] offer low-energy-footprint data networking, and radio communication technology such as LoRa [10] offers reliable point-to-point data transmission. On the other hand, green and dependable energy supply has received much attention in IoT research too; from the perspective of IoT devices, a promising alternative to conventional solutions is a batteryless system [11].
For each IoT device, batteries increase its size and weight, may require routine maintenance, and are considered harmful to the environment and organisms. In contrast, batteryless IoT devices use capacitors as energy storage [12]. Because of the higher durability and smaller size of capacitors, batteryless IoT nodes are suitable for deployment for long-term operations. In sundry application scenarios, these capacitors are charged by energy-harvesting technologies [13] (solar power, electric field, vibration, etc.). However, the instability of the renewable energy supply is a problem, and devices may have to execute tasks intermittently. Although the non-volatile memory can keep data and the system state from being lost due to power failure, it is still helpful if the device can function in a continuous fashion because the device cannot collect data during power-saving mode or power failure and because the checkpointing operations may consume additional energy.
To reduce the probability of power failure, batteryless sensor nodes must schedule sending and transmission tasks accordingly. An example is seen in a vehicle automatic air-conditioning system, where a solar panel is responsible for harvesting energy [14]. The temperature sensors outside the vehicle periodically record outdoor temperature and send the data to a vehicle ECU (Electronic Control Unit), which then will adjust the indoor temperature. In case of a higher sensing rate, a more frequent transmission, or a lower energy supply, power failure will occur.
The problem is illustrated in Figure 1. Figure 1a shows the ideal situation, where the capacitor is recharged to its full voltage level before the device begins each task. In this case, the sensing rate can be maintained, and the data throughput is excellent. Now, should there be insufficient energy supply, as shown in Figure 1b, even if the capacitor has been fully charged and the device occasionally enters sleep mode to replenish energy, eventually, the device could lack energy, and a power failure could occur.
While some prior studies [15,16] on batteryless IoT devices have focused on maintaining capacitor energy level by dynamically adjusting the duty cycle of the IoT tasks according to environmental conditions, it could be advantageous if the device could maintain the period of sensing tasks and run transmission tasks when needed. This is because, for sensing applications, having a periodic assessment of the subject of study is crucial in understanding the temporal semantics related to the subject. Greedily withholding data transmission to save energy might not work as well, for that will decrease data throughput and data freshness, and future transmissions might take a long time to complete because the device cannot afford too many transmissions within a short duration. Without a defensible design principle, it is unclear which scheduling policy would better serve the purpose.
In response, this paper takes the generic IoT sensing and transmission functions required by many applications and describes a framework for the modeling, design, and implementation of batteryless IoT devices. The target requirements are periodic data sensing and dependable effective data throughput, also known as goodput, to better serve IoT applications. There are three contributions in this work:
  • Adaptive Transmission Policy (ATP): The ATP is designed to strike a balance between energy consumption and goodput. By taking into account the non-linear physical dynamics of capacitor charging and discharging, the ATP is able to maintain the sensing rate while making transmissions whenever admissible. The scheduling decision is made based on the expected remaining capacitor voltage after each task execution. Further adaptivity is tuned for the packet size in the anticipated transmission;
  • LoRa-Based Batteryless System Implementation and Evaluation: This paper gives a detailed description of an example hardware and software implementation of a batteryless IoT device using LoRa radio. The paper shows that, for LoRa devices, it is admissible to batch data items into one single transmission, and it may not cause additional energy to be spent. This paper presents an analysis of the feasibility experiment results and an analysis to validate the performance of the ATP;
  • A Case of Cyber–Physical Systems Design: The goal of Cyber–Physical Systems (CPS) [17] research is to explore ways to make an informed integration of the computing process of the system information and the physical process of the system itself so that the system is able to better meet the requirements of applications. This work is a witness to the potential benefit CPS research can give. By considering a more realistic energy-charging behavior of the physical circuit, the IoT device may meet a more stringent sensing period requirement.
The rest of this paper is organized as follows. The rest of this section surveys related research work, in particular, how existing designs for energy-harvesting and batteryless devices can maintain long-term operation. Section 2 describes the baseline approach and the circuit model. Section 3 presents the proposed adaptive transmission policy (ATP), including its design, implementation, and experiment results. Section 4 summarizes key takeaway messages from the experiments. Section 5 concludes the paper.

Related Work

Table 1 lists a comparison of related task configurations for IoT devices. This work focuses on periodic sensing.
Battery-powered wireless communications [18,19] using energy-harvesting technologies have been widely discussed with the objective of achieving self-sustainability to maintain service life [20]. Due to the intermittency and inconsistency of renewable energy sources, the sensor nodes will dynamically adjust the duty cycle [21] for long-term operation. A recent work [22] showed that it is better for a sensor node to adapt the data packet sending period according to environmental conditions to follow an energy-neutral policy; even if the battery is known to have enough energy, the node should not ignorantly execute tasks. A conservative transmission policy may lead to poor system performance and energy spillage [23], while a greedy policy can quickly run out of energy.
On the other hand, a batteryless IoT system is a relatively new idea. It can be combined with building structure health monitoring [24], wearable devices, and other applications [25]. However, it has more design limitations than battery-powered ones, and environmental changes can easily influence the device behavior. In recent years, many researchers have focused on intermittent computing [26,27,28], which uses non-volatile memory to periodically save the program state of the device. After a power failure, the program state is restored, and execution continues instead of restarting from the beginning. Non-volatile memory technology will have a significant impact on batteryless devices. In the scenario of wireless sensor networks, data and timestamps could be saved in memory and re-transmitted after power is restored.
For wireless communications, Delgado et al. [29] used capacitors as energy storage instead of batteries and proposed a system model of LoRaWAN batteryless devices using a voltage source. In this model, the authors evaluated the feasibility of batteryless communication and verified that device performance can be characterized based on the reliability of various device configurations as well as environmental conditions. It also showed that a constant transmission interval may cause power failures or re-transmission. Sabovic et al. [30] modeled batteryless LoRaWAN devices as a mathematical model. The harvester was assumed to be a current source. It provided a method for finding the required capacitance and the minimum voltage required for sensing and transmission but also calculated the sleep duration based on the harvesting rate. In contrast, while pursuing the throughput performance, it is necessary to further consider whether the system can be adapted to the current environmental conditions.
In real-world scenarios, an inconsistent harvesting rate leads to difficulty in estimating the sleep time required for tasks. It is challenging to dynamically adjust the duty cycle based on the environment. For batteryless IoT devices, the pros and cons of task scheduling sometimes depend on energy utilization strategies. To maximize the service life of sensor nodes, Chamanian et al. [31] proposed a wearable batteryless sensor node that sets the sending interval to be adjustable according to the available energy stored in the capacitor. Majid et al. [32] proposed an adaptive and efficient task-based execution model that can adjust task execution according to the harvested energy conditions during operation.
The work described in this paper shares a common basis with the work presented by Karimi et al. [33] as both of them performed task scheduling based on capacitor voltage level and analyzed the conditions for maintaining periodic sensing. The contribution of this related work is that the authors evaluated the schedulability of a single periodic task and used a real-time periodic server [34] to schedule multiple periodic tasks.
In addition to IoT devices, IoT networks and wireless sensor networks are active research areas full of interesting challenges. Current research directions include reliable and energy-saving data aggregation [35] and data bias reduction [36], as well as cyberattack identification and classification [37].

2. Materials and Methods

For a real-world batteryless IoT device, due to the intermittency of renewable energy, maintaining the sensing rate is not easy. In this section, we first summarize the key design from a closely related work [33], which we refer to as the baseline approach; then, we describe a circuit model for a batteryless IoT device, which serves as the basis for the design proposed in this work; finally, we use LoRa as a vehicle to show a strategy to improve transmission energy efficiency and its performance implications.

2.1. Baseline Approach

Karimi et al. proposed an energy-scheduling scheme to ensure periodic sensing while efficiently utilizing intermittent power sources [33]. It provides a schedulability evaluation that enables a periodic server to decide whether a periodic task is schedulable in a given charging setup, and extends this idea for scheduling multiple periodic tasks. The periodic server will determine at the beginning of each sleep–sensing–transmission cycle whether there are arriving periodic tasks to be scheduled based on the current charging/discharging rate and the server’s budget. The discharging rates are categorized into decaying ( m D ), processing ( m P ), and waiting ( m W ), which represent that the device is not receiving any power, the device is executing tasks, and the device is in sleep mode, respectively. The schedulable condition of a periodic task i can be calculated as follows:
m a · T i m P i · C i ,
where T i is the charging period, m P i is the processing discharging rate, and C i is the Worst-Case Execution Time (WCET). In particular, m a is the worst-case voltage accumulation rate of the capacitor for fixed power generated by the harvester, which is calculated as follows:
m a = m c · C c m d · ( T c C c ) T c ,
where C c and T c are the charging time and charging period of a power source, respectively. m c is the charging rate from the power-on threshold to the maximum voltage the capacitor can reach, and m d is the worst-case discharging rate (max { m W , m D } ). The power-on threshold is the voltage level when the power management unit turns on the switch to power the Micro-Controller Units (MCUs) and sensors.
Equation (1) can be interpreted as the worst-case accumulated voltage during each charging period of a power source, which needs to be greater than the worst-case voltage consumed during the processing. Under the scheduling scheme, the sensor nodes are programmed to wake up periodically and put the MCU into sleep mode after task execution. Whenever a periodic task arrives, the periodic server will first compare its execution time to check whether there is enough budget for scheduling. Then, the periodic server uses Equation (1) to determine whether this task is schedulable.
In this scheme, the charging and discharging rates are assumed to be linear.

2.2. Circuit Model

Table 2 lists the parameters that will be used in this and the following sections.
A batteryless IoT device is powered by a renewable energy source. The renewable energy source and its control circuit together are known as an energy harvester; the energy generated by the renewable energy source is managed by a power management unit, which outputs a constant voltage through a buck converter. The output energy is stored in a capacitor. Then, a linear regulator is used to regulate the capacitor voltage to the proper operating range for the IoT device load. Such a batteryless IoT device can be modeled using Thévenin equivalent circuits, as shown in Figure 2. The model includes three components: the energy harvester, the storage, and the load (Figure 2a).
The energy harvester component can be modeled as a Thévenin equivalent circuit [38] of a voltage source E (open-circuit voltage) and a resistor  R S (equivalent resistor viewed from the port to the storage component). The storage component can be modeled as a capacitor C S , which stores energy from the harvester component and acts as a buffer to supply energy to the load component. The load component can be modeled as a resistor R L (representing the IoT device and the linear regulator) and a switch S (representing whether the IoT device is powered on). The value of R L depends on the current operation of the IoT device (sleep, sensing, transmission).
The energy harvester component and the load component together can be further modeled as another Thévenin equivalent circuit (Figure 2b) when the IoT device is powered on (i.e., the switch is closed). The parameters in Figure 2b are derived from the parameters in Figure 2a according to Thévenin’s theorem [38].
V t h = R L E R L + R S ; R t h = R L R S R L + R S .
The energy-harvesting rate P is defined as the output power of the harvester component in Figure 2a.
P = E 2 R S ,
where P is in Watts (W). The harvesting rate will determine the behavior of batteryless devices as it will affect the charging rate of the capacitor.
After the IoT device is powered on (Figure 2b), the standard RC circuit analysis can be applied to estimate the time to charge the capacitor for sensing tasks and transmission tasks. The voltage across the capacitor V c a p ( t ) can be calculated using the following equation:
V c a p ( t ) = V c a p ( 0 ) + ( V t h V c a p ( 0 ) ) · ( 1 e t R t h · C S ) ,
where V t h is the equivalent independent voltage source in Volts (V), R t h is the equivalent resistance in Ohms ( Ω ), and C S is the capacitance in Farads (F). When the charging time t approaches infinity, the capacitor voltage that can eventually be charged is almost equal to V t h . If the initial voltage of the capacitor is V c a p ( 0 ) , and the voltage at time t is V c a p ( t ) , the charging time t can be calculated from Equation (5) as follows:
t = R t h · C S · l n V t h V c a p ( 0 ) V t h V c a p ( t ) .
When R t h is fixed, the larger the C S , the longer the charging time. Comparatively, when C S is fixed, the larger the R t h , the longer the charging time.

2.3. Worst-Case Voltage after Task Execution

In this paper, the power-on threshold ( V o n ) is defined as the voltage level at which the power manager turns on the switch to supply power to the devices. In order for the linear regulator to work properly, V o n must be greater than the output voltage of the regulator plus the dropout voltage of the regulator. The dropout voltage is the difference between the input voltage and the output voltage necessary to stabilize the operation of a linear regulator. In addition, the power-off threshold ( V o f f ) is defined as the voltage level below which the capacitor voltage will cause the switch to be turned off and stop supplying power to the devices. According to the hardware specification of the switch, V o f f will be slightly lower than V o n due to the hysteresis characteristic. Even though, between V o n and V o f f , a batteryless IoT device can still work, this is stressful for the system, and there are safety issues. For the device to successfully execute its task, V c a p should be always higher than V o n . It is necessary to calculate the worst-case voltage drop before task execution.
The energy required for each task is different, which results in a different voltage drop observed across the capacitor. While the capacitor is consuming power by the load, it may also receive power generated from the harvester. Therefore, it is difficult to predict how much voltage change there will be without knowing the current environmental conditions. The worst-case scenario is defined as removing the voltage source from the circuit. Since there is no voltage source connected, an RC discharge circuit will be formed. In this case, the capacitor releases the stored energy to the load, and V c a p drops over time. If the initial capacitor voltage is V c a p ( 0 ) , then the voltage across the capacitor at time t is discharged as follows:
V c a p ( t ) = V c a p ( 0 ) · e t R L · C S .

2.4. Task Voltage Thresholds

Equation (7) can be used to find the required operating voltage of the periodic task. It must be ensured that V c a p is greater than V o n during execution. The required operating voltage for each task is called the task voltage threshold. It is assumed that, if V c a p is greater than the task voltage threshold before execution, the task may complete its execution without power failure.
Table 3 shows the WCET and circuit characteristics for the different tasks. The measurement is made on our implementation of an IoT batteryless device using commodity components (Section 3.2). It can be seen that the device consumes more power during transmission than during other activities. The power consumption is calculated by ( current ) 2 · resistance . Let V s e n s e be the voltage threshold for sensing tasks, and let V T X be the voltage threshold for sensing tasks and sending tasks with the maximum payload size. Both values can be calculated using Equation (7) as follows:
V s e n s e V o n e T s e n s e R s e n s e · C S and V T X V o n e T T X R T X · C S · e T s e n s e R s e n s e · C S ,
where V o n corresponds to V c a p ( t ) in Equation (7), T s e n s e is the expected sensing time, T T X is the expected transmission time, and R s e n s e and R T X correspond to R L in Equation (7) for sensing purposes and sensing and transmission purposes, respectively. Since the value of V T X is set based on the maximum payload size, to avoid the capacitor taking a long charging time to reach V T X , the maximum payload size is set to 64 bytes in this work for generic IoT application scenarios.

2.5. Minimum Harvesting Rate for Maintaining Sensing Rate

Depending on the mode in which the device is operating, the power consumption will be different. Usually, the capacitor can be charged while the device is off or in a sleep state because the power consumed by the load is less than the power gained from the harvester. As can be seen from Equation (5), when the charging time approaches infinity, the fully charged capacitor voltage approaches V t h . In order to find out the minimum harvesting rate to support periodic sensing, the fully charged capacitor voltage needs to be greater than V s e n s e . For each sensing period, it is necessary to ensure that V c a p can be recharged to V s e n s e during the sleep state. Based on these requirements, the following condition of the harvesting rate P can be derived from Equations (4) and (5):
P E · ( T T s e n s e ) C S · V t h · ln V t h V o n V t h V s e n s e ,
where T is the sensing period, and T s e n s e is the WCET of sensing. If the minimum harvesting rate is known, this condition can be used to determine whether a sensor node is able to maintain the sensing rate.

2.6. Transmission Energy Efficiency and Latency

In wireless communication, as each application message size might not align to the physical layer payload size, a wireless data packet may have some redundant padding bits. Even if these redundant padding bits are only a small part of the whole data packet, IoT devices still need to consume energy to transmit them. Therefore, if the application message size is smaller than the payload size, one could improve the transmission energy efficiency by packing multiple application messages into one wireless data packet. The downside is the additional delay to the application messages that wait for the packing.
The relationship between payload size and total energy consumption is as follows. A transmission consists of three stages: MCU wake-up, transmit, MCU/LoRa idle. The total consumed energy for a transmission E t o t a l can be calculated as follows:
E t o t a l = E W U + E t r a n s m i t + E I d l e = E W U + P γ · ( T p r e a m b l e + T p a y l o a d ) + E I d l e ,
where P γ is the total consumed power which is related to the radio transmission power, T p r e a m b l e is the preamble duration, and T p a y l o a d is the payload duration, also known as the time on air. E W U  is the worst-case energy consumption when the device is in the wake-up stage, and E i d l e is the worst-case energy consumption when the device is idle. The calculation for T p a y l o a d via LoRa communication is detailed in Appendix A.
LoRa features a design parameter called the Spreading Factor (SF), which gives a trade-off between time on air, data rates, and communication range. Figure 3 shows the relationship between time on air and payload size under different SFs with a coding rate ( CR ) of 4/5 and bandwidth ( BW ) of 125 kHz. The modulation mechanisms in LoRa yield fixed-length blocks for the transmissions. Based on this result, increasing payload size does not always mean increasing time on air. For example, in SF7, a sensor’s data item is two bytes, and the node currently has 10 bytes of data, but the energy consumption to send these data items is the same as sending 12 bytes of data items. This motivates a design that delays transmission until the next sensing task completes.

3. Results

This section describes the proposed adaptive transmission policy (ATP), its implementation, and a performance evaluation.

3.1. The Adaptive Transmission Policy

In this paper, the first objective is to maintain the sensing rate while meeting the required harvesting rate. The second objective is to attempt to increase the throughput and send as many data as possible. The only situation where the sensor node has the opportunity to pursue throughput is when the first condition is satisfied. A process consisting of executing the tasks and charging the capacitor is defined as the application cycle. At the beginning of each application cycle, the device will wake up to check whether periodic sensing and transmission tasks can be executed. Both sensing and transmission are considered as time-driven tasks, where sensing is always executed before transmission in each cycle.

3.1.1. Threshold-Based Adaptive Transmission Policy

In order to maintain the energy level of the capacitor, transmission is executed only when V T X is reached, and sensing is executed only when V s e n s e is reached. Typically, V T X is larger than V s e n s e because sensing will consume less energy and have a better opportunity to be executed than transmission. V T X is defined as the task voltage threshold for both sensing and transmission tasks because sampling the capacitor voltage again with the ADC after completing a sensing task would increase the energy consumption.
In threshold-based task scheduling, the device may save energy by skipping a few transmissions until V c a p is higher than V T X . In this case, the collected sensor data will be stored in one of the two buffers in the MCU. The first buffer mainly stores the data to be sent, and its size is equal to the maximum payload size; the second buffer with a larger size stores the data when the first buffer is full. The reason for this design is that, if newly generated data cannot be stored due to exceeding the buffer size, the device will overwrite the oldest data in the buffer. Therefore, another buffer is added to hold these data. Once the data in the first buffer are sent, the data in the second buffer will be replenished in batches sent to the first buffer.
Algorithm 1 running in the timer interrupt service routine shows the threshold-based ATP procedure, where the MCU periodically wakes up at the beginning of the application cycle (line 3), and the task execution is determined by the capacitor voltage read by the ADC. When V c a p is higher than V s e n s e , the device will execute sensing and store the data in the buffer. Then, when V c a p is higher than V T X , the device will send the data. After completing the tasks, the MCU and transceiver enter sleep mode (line 13) until the next cycle begins.
Algorithm 1 Threshold-Based ATP: Schedule Tasks Based on Voltage Comparison
 1: procedure atp_threshold_based()
 2:      t i m e r = t i m e r + 1
 3:     if  t i m e r T · f r e q  thenstart a new cycle, MCU is active
 4:          t i m e r = 0 reset timer
 5:          V c a p = r e a d _ a d c ( )
 6:         if  V c a p V s e n s e  then
 7:             d a t a = s e n s e ( )
 8:             d a t a b u f store data in the buffer
 9:            if  V c a p V T X  then
10:                 s e n d ( b u f )
11:          s l e e p _ m o d e ( )
For sensing applications, a threshold-based ATP is easier to implement because the voltage thresholds required for tasks can be calculated in advance. The device only needs to read the ADC values for voltage comparison. Although the transmission threshold based on the maximum payload size may limit the transmission performance (i.e., transmission interval), it ensures that the device will not fail due to voltage drop caused by transmission.

3.1.2. Mathematical Prediction Adaptive Transmission Policy

To overcome the limitation of the threshold-based ATP and improve the transmission performance, here, we describe an alternative approach named the mathematical prediction ATP. Instead of using a fixed transmission threshold, this approach makes adaptive transmission decisions based on the size of data to be sent, for it may require a different amount of energy to complete transmission. The device will transmit data only if its supply voltage will still be higher than V o n , the power-on threshold voltage. The operation is described in Algorithm 2. The worst-case voltage estimation is performed via function v o l t _ c a l c ( ) , which makes use of Equation (7) (line 20). The following gives a detailed explanation of the overall operation.
Algorithm 2 Mathematical Prediction ATP: Schedule Transmission Based on Payload Size
 1: procedure atp_mathematical_prediction()
 2:      t i m e r = t i m e r + 1
 3:     if  t i m e r T · f r e q thenstart a new cycle
 4:          t i m e r = 0 reset timer
 5:          V 0 = r e a d _ a d c ( )
 6:          V w c _ s e n s e = v o l t _ c a l c ( V 0 , P s e n s e , T s e n s e ) calculate the volt after sensing
 7:         if  V w c _ s e n s e V o n  then
 8:             d a t a = s e n s e ( )
 9:             d a t a b u f store data in the buffer
10:             T t o t a l = T w a k e u p + a i r t i m e ( b u f _ s i z e ) + T i d l e calculate the execution time
11:             P a v g = p o w e r _ c a l c ( a i r t i m e ( b u f _ s i z e ) , T t o t a l ) find the average power for transmission
12:             V w c _ s e n d = v o l t _ c a l c ( V w c _ s e n s e , P a v g , T t o t a l ) calculate the voltage after transmission
13:            if  V w c _ s e n d V o n  then
14:                 s e n d ( b u f )
15:          s l e e p _ m o d e ( )
16:  
17: function v o l t _ c a l c ( V , P , t ) V is initial voltage; P, operating power; t, execution time
18:      R m c u = V 2 / P
19:      R l o a d = R m c u R v d / ( R m c u + R v d )
20:      V w c = V · e t / ( R l o a d · C ) wort-case voltage after task execution; C is capacitance
21:     return  V w c wort-case voltage after task execution
22: 
23: function p o w e r _ c a l c ( t , t t o t a l )t is airtime
24:      E T X = P T X · t the transmission energy; PTX is worst-case transmission power
25:      E t o t a l = E w a k e u p + E T X + E i d l e the total energy; Ewakeup and Eidle is constant
26:      P l o a d = E t o t a l / t t o t a l
27:     return  P l o a d operating power for transmission
At the beginning of each cycle, the MCU reads the capacitor voltage via the ADC as the initial capacitor voltage V 0 . Then, the v o l t _ c a l c ( ) (line 6) takes V 0 , execution time, and load resistance and estimates the worst-case capacitor voltage after sensing. The sensing task can be scheduled if this estimated voltage is higher than V o n (line 7), for that implies that there will be no power failure after sensing. After the sensing task completes, the v o l t _ c a l c ( ) will be called again (line 12) to estimate the worst-case capacitor voltage after transmission. It will be used to determine whether to schedule the transmission task (line 13), and, for the same reason, the device will not experience power failure afterwards. Then, both the MCU and transceiver will enter sleep mode until the next application cycle (line 15).
In order to use v o l t _ c a l c ( ) to estimate the worst-case capacitor voltage after the transmission, the device needs to know both the execution time for the pending transmission task T t o t a l (line 10) and the average operating power P a v g (line 11). T t o t a l is the sum of T w a k e u p + T i d l e (a constant) and the airtime (for LoRa it can be calculated using Equation (A1) in Appendix A). Inside the function v o l t _ c a l c ( ) , first the equivalent resistance R m c u of the MCU is inferenced by the power law (line 18). Then, the equivalent resistance R l o a d of the total load considers the parallel connection of the voltage detector and the MCU. R v d is the equivalent resistance of the voltage detector.
Finally, function p o w e r _ c a l c ( ) calculates the average power consumption for a transmission task. It first computes the worst-case energy consumption during transmission (line 24) and then computes the total energy consumption using Equation (10) (line 25).

3.1.3. Modified Threshold-Based Adaptive Transmission Policy

Since using an ADC would increase the device power consumption, an improvement can be made in the threshold-based ATP design by using a piece of external hardware called a voltage detector. The voltage detector consumes less power than the on-board ADC and can be used to detect a specific voltage. This approach disables the ADC and uses two additional voltage detectors to monitor whether the capacitor voltage reaches V s e n s e and V T X , respectively. When a voltage detector detects that the capacitor voltage is higher than V s e n s e , it will generate an external port interrupt. The MCU then pauses the main program and sets the sensing flag to true. Then, it returns to the previous work. If the capacitor voltage is lower than V s e n s e , the sensing flag will be set to false. The TX flag is also set by comparing V T X and the capacitor voltage. The procedure is similar to Algorithm 1 except that the conditions in lines 6 and 9 are changed to check whether the task flag is true or not.

3.2. Implementation

Figure 4 shows our implementation of the batteryless sensor node, and the specification of each component is shown in Table 4. The sensor and transceiver are connected to the switch and controlled by a digital pin of the MCU to reduce the power consumption. The voltage detector detects a specific capacitor voltage, which can be used to notify the MCU when V c a p reaches  V s t a r t . Each component of the implementation is described in detail below.
The MSP430G2553 from Texas Instruments is selected as the MCU in this work. It supports a low supply voltage range of 1.8 V to 3.6 V and provides many low-power operating features for developing batteryless systems. In active mode, current consumption can be reduced by operating at a lower supply voltage, e.g., reducing V c c to 1.8 V. With the advantage of ultra-low power consumption, placing the system in low-power mode (LPM) as much as possible will help save energy. Table 5 gives a description of the different operating modes at 1 MHz and 2.2 V, including five low-power modes (i.e., sleep mode). In this paper, the sensor module needs the low-speed Subsystem Master CLocK (SMCLK), and it is only enabled in the active, LPM0, and LPM1 modes. Therefore, LPM1 is chosen as the sleep mode. A 3.3 V linear regulator is selected because the common operating voltage of the devices is 3.3 V. In order for the regulator to work properly, V o n is set to 3.39 V.
The energy obtained through an energy harvester is usually not used directly, but goes through pre-processing such as rectification by an energy converter. The power management unit (power manager) then regulates the voltage and stores the energy in a capacitor responsible for controlling the switches that supply power to the load. Once the capacitor voltage rises to the power-on threshold, it will turn the switch on; conversely, once the capacitor voltage drops to the power-off threshold, it will turn the switch off.
The capacitor will be the major power supply for the batteryless device. Typically, both the harvesting rate and the capacitance will affect the time required for charging and also the task execution. The larger the capacitance, the longer it will take to charge. In this work, a 16.5 mF capacitor is selected as the energy storage, based on a mathematical model proposed by Sabovic et al. [30].
The Holtek HT70XXA-1 series of low-power voltage detectors is used for monitoring a specific voltage and generating an external interrupt to the MCU. The typically quiescent current is 3  μ A. The voltage detector can detect a threshold voltage in the range of 2.2 V to 8.2 V. The DHT11 sensor is used for temperature and humidity measurement. An 8-bit MCU of DHT11 controls a resistive humidity-sensing element and an NTC temperature-measuring element. The DHT11 communicates with an MCU using a one-wire protocol. It can sense both temperature and humidity. Since the DHT11 needs to perform data conversion, the sampling period at intervals must not be less than one second. The operating voltage of DHT11 is 3 V to 5.5 V, and the current is 0.3 mA and 60  μ A, respectively, during measurement and standby.
The Ai-Thinker Ra-01H module is capable of long-distance spread-spectrum communication using SX1276, the LoRa transceiver. The Ra-01H module communicates with the MCU via SPI. The operating voltage range is 2.7 V to 3.6 V, and the maximum current for transmitting is 105 mA, while the current for receiving is 12.15 mA. The Ra-01H module features a standby current of only 1.6 mA and a sleep current of less than 3  μ A.
The parameters in Table 3 are used to calculate the task voltage threshold by using Equation (8). V s e n s e is set to 3.468 V, and V T X for the 64-byte payload size is set to 4.048 V. The capacitance is 16.5 mF, and V s t a r t is set to 4.05 V to allow the sensor node to have enough energy for periodic sensing at the beginning. A Holtek voltage detector is used to detect it. When an interrupt is triggered due to V c a p reaching V s t a r t , the MCU wakes up from sleep mode and executes initialization. During initialization, the MCU will run the LoRa start-up and SPI settings. Once completed, both the MCU and the transceiver enter sleep mode, and the MCU starts periodic sensing in the next cycle. The parameters of the LoRa configuration used for transmission are shown in Table 6. A base station with a stable power supply is responsible for receiving sensor data from the batteryless sensor nodes, and the data will be displayed in a local graphical user interface.

Device Initialization

Each component of the batteryless IoT device in this paper has its own individual operating voltage range. In order for the regulator to work normally, V c a p must be at least 3.39 V, which is referred to as the power-on threshold. The power-on threshold ( V o n ) is the voltage level at which the power management unit turns on the switch to power the MCU. When V c a p is above V o n , the MCU will power on and execute the initial setup (e.g., LoRa start-up and SPI setting). Because the device initialization (e.g., SPI setting and LoRa start-up) will consume a nontrivial amount of energy, V c a p could momentarily fall below the power-off threshold ( V o f f ). A solution is to delay device initialization until V c a p is above  V s t a r t .
Instead of calculating the waiting time for charging to V s t a r t , a piece of external hardware called a voltage detector is used for monitoring the capacitor voltage and triggering an interrupt for device initialization. This prevents both premature wake-ups (waste of energy) and late wake-ups (unnecessary delay). The interrupt handler for this purpose is presented in Algorithm 3. Once the device has powered on, the MCU will run this handler in the background and then go into the sleep mode. V c a p is then monitored by the voltage detector, which will raise an external interrupt to wake up the MCU after V c a p > V s t a r t . After the MCU is woken up by an interrupt, it will check whether this interrupt is caused by the pin set for initialization (line 2). Then, if the result is true, the MCU starts to supply power to the sensor and transceiver and then starts to execute the initial setup (lines 3 to 5). When the device has completed the LoRa start-up and SPI setting, the MCU and transceiver will enter sleep mode again, waiting for future task execution.
Algorithm 3 The Initial Setup Handler Listens for External Port Interrupts
 1: procedure initial_setup_handler()
 2:     if  i n t e r r u p t _ f l a g  thencheck for the pending interrupt
 3:          s p i _ i n i t ( )
4:          r f _ l o r a _ i n i t ( )
5:          t i m e r _ i n i t ( ) reset timer and start periodic tasks
6:          s t o p _ p r o c e d u r e ( ) exit the handler
7:      i n t e r r u p t _ f l a g = f a l s e clear the interrupt flag

3.3. Experiment Results

This subsection presents a performance evaluation of the ATP design and implementation. First, an analysis of the feasibility of the ATP is presented, which shows the minimum harvesting rate needed for sundry sensing periods. Then, two sets of empirical experiments are presented. The first experiment set evaluates the performance of each ATP version against the baseline approach under relatively stable energy harvesting. The second experiment set evaluates the performance of each ATP version under intermittent energy harvesting. Finally, a set of experiments is presented to evaluate the possible transmission optimization, utilizing the idea presented in Section 2.6.

3.3.1. Feasibility Evaluation

In terms of maintaining the sensing rate, Figure 5 shows the minimum harvesting rate required for each sensing period. The result is obtained by a software simulation of the mathematical model in Section 2.2. The sampling period at intervals of the sensor should be greater than one second. The empirical result shows that, when the sensing period is shorter, the capacitor needs to accumulate enough energy in a shorter charging time. Therefore, a larger harvesting rate is required to achieve the periodic sensing. As can be observed from Figure 5, the required minimum harvesting rate for the baseline approach is always larger than that for the ATP. It gradually converges to the other three ATP approaches only when the sensing period is large enough. The reason for this result is that the charging rate is not linear. This makes the baseline approach require a higher harvesting rate to increase the charging rate of the capacitor for maintaining the sensing rate.
Figure 5 also indicates that the modified threshold-based ATP outperforms the other two ATP approaches in terms of the harvesting rate required to maintain the sensing rate. This is because the modified threshold-based ATP uses external voltage detectors instead of an ADC to save energy. The voltage detector consumes less power than the on-board ADC, allowing for energy savings during operation. For each sensing period, further feasibility analysis on the sensing rate and data delivery rate in included in Appendix B.

3.3.2. Performance Evaluation with Stable Energy Harvesting

The experiments in both this and the following subsections are conducted on the implementation as shown in Figure 4 in Section 3.2. In our prior preliminary experiments, the LTC3588-1 energy harvesting converter is used, and the LTC3108-1 power manager module is used. Then, in order to test the system under controlled harvesting rates, a subsystem circuit is constructed (Figure 6) to emulate the renewable energy source, the energy converter, and the power manager. In the subsystem circuit, the X9C102 digitally controlled potentiometer and a 5 V battery together form a Thévenin equivalent circuit for the energy harvest component in the model presented in Figure 2a). In this way, the effective harvesting rate can be controlled by adjusting the resistance R B , for the value of R B corresponds to R S in Equation (4). R B is changed by an Arduino Uno development board, which takes a control signal from a Speedgoat Baseline Real-Time Target Machine (https://www.speedgoat.com/products-services/real-time-target-machines (accessed on 22 March 2024)) via the IO397 module. This subsystem circuit allows the harvesting rate to be controlled to some stable values (experiment in this subsection) as well as some time-varying values (experiment in the next subsection).
The experiments are conducted in a laboratory, and the voltage results are measured using an oscilloscope. Figure 7 and Figure 8 show the comparisons for different periods with a constant harvesting rate of 12.5 mW. The calculated and measured parameters of the baseline are shown in Table 7. The experiments are conducted for sensing periods of 60, 30, 10, and 5 s.
As shown in Figure 7, for the 60 s period, V c a p initially rises due to charging, and the device enters sleep mode immediately after power-on. The first voltage drop at about the 120th second is when the MCU is awakened by an interrupt to execute the initial setup. Both the baseline and ATP maintain the sensing rate and are available for transmission in each application cycle while meeting the required harvesting rate. This is because enough energy is accumulated in each charging cycle to meet the transmission requirement.
Figure 8a shows the empirical result of the 30 s sensing period with the same harvesting rate. For the 30 s sensing period, the baseline approach can only collect sensor data, but there is no opportunity for transmission. This is due to the calculation based on Equation (1), which means that the accumulated voltage can be lower than the consumed voltage of the transmission. The main reason for this result is that the charging rate is assumed to be linear in the baseline approach. Because the RC charging curve is actually non-linear, this makes it possible for the calculated accumulated voltage over time to be lower than the actual accumulated voltage. As can be seen from the baseline and the three ATP approaches in Figure 8a, the voltage drop between sensing and transmission is different. From the comparison, the baseline does not transmit while there is enough energy for transmission. The results show that all approaches ensure that the capacitor voltage is maintained at a level, and the ATP not only maintains the sensing rate, but also obtains better throughput.
Figure 8b shows the result of the 10 s period. In this case, the baseline can no longer support periodic sensing. For the ATP, either threshold-based or mathematical prediction is able to satisfy the transmission requirement in each application cycle. This also shows that the voltage level of the capacitor can be kept even when transmission is executed.
Figure 8c shows the comparison result of the five-second sensing period. The baseline approach is also unable to execute any tasks, and the approaches of the ATP store the sensor data because they cannot reach the transmission requirement every application cycle. The threshold-based ATP sent an average of 4.16 data items in each transmission, the mathematical prediction ATP sent an average of 1.25 data items, and the modified threshold-based ATP sends an average of three data items. This result shows that, although the total number of data sent using the three approaches may be the same, the mathematical prediction ATP performs best in terms of transmission interval. Its dynamic task-scheduling strategy, which determines the schedulability of transmissions based on the payload size, can use energy more efficiently. On the other hand, the threshold-based ATP increases its transmission interval as the more stringent transmission requirement is relatively difficult to meet.
For the baseline approach, by using Equation (1), it can be calculated that each application cycle requires at least 13.192 s for sensing and at least 49.452 s for transmission. Table 8 shows a summary of the comparison, with the ATP outperforming the baseline in terms of both sensing rate and throughput.

3.3.3. Performance Evaluation with Intermittent Energy Harvesting

This section describes an experiment that simulates a scenario in which a small solar energy harvester may be occasionally shaded by a passing obstacle or a person. The purpose of this evaluation is to compare the performance in terms sensing rate and throughput under environmental changes and to verify the robustness of the system.
In this experiment set, the harvester component follows the configuration described in Section 3.3.2, as shown in Figure 6. The real-time target machine emulates a series of power drops following a Poisson distribution, with each power drop lasting for one second. The sensing period is set to five seconds, and the maximum harvesting rate is set to 12.5 mW. According to the result shown in Figure 8c, the baseline approach cannot support five-second periodic sensing under a 12.5 mW harvesting rate, and, therefore, the following experiments only consider the proposed approaches.
Figure 9 shows the results where the capacitor is initially empty. The capacitor starts charging at the 30th second. The device initialization starts at about the 103th second, after which the sensor node starts executing periodic tasks.
The first subplot in Figure 9 shows the result of the threshold-based ATP. For the threshold-based ATP, the obstacles do not cause the sensor node to stop operating. With the frequent occurrence of obstacles (between the 100th and 220th second), however, the capacitor takes more charging time to reach the transmission threshold, and the node needs to send a maximum of 26 bytes of sensor data in one shot, and this leads to a long transmission interval and a large voltage drop; with less frequent occurrence of obstacles (between the 220th and 300th second), the average charging time decreases, the transmission interval shortens, and the voltage drops became smaller.
The second subplot in Figure 9 shows the result of the mathematical prediction ATP. The sensor node has enough energy to allow sensing and transmission for each application cycle after initialization. However, due to both low harvesting rate and obstacle interference, the device cannot meet the transmission voltage threshold after the seventh application cycle (at about the 140th second), and the node needs to send a maximum of eight bytes of data in one shot. In general, the mathematical prediction ATP performs best in terms of transmission interval, but the shortened time interval will increase the overall energy consumption, and the result is a lower capacitor voltage level for many occurrences.
The third subplot in Figure 9 shows the result of the modified threshold-based ATP. Similar to the other versions, the node keeps functioning under intermittent power supply. Since the voltage detector does not consume much power compared to the ADC, the saved energy enables a shorter transmission interval. In the case of frequent obstacle blockages, like the threshold-based ATP, the capacitor takes more time to reach the transmission voltage threshold; unlike the threshold-based ATP, the node only needs to buffer up to 20 bytes of data.
Table 9 lists the comparison of the empirical transmission performance of the ATPs, including the number of transmissions and the average transmission interval (in seconds). A small transmission interval may keep the capacitor voltage at a relatively low level. Furthermore, a low harvesting rate causes the voltage of the capacitor to remain close to the power-on threshold. Some cases maintain a relatively low capacitor voltage, which may result in a system that is less tolerant of sudden power source shutdowns.

3.3.4. Transmission Optimization

The energy per useful bit E b i t is calculated as follows:
E b i t = E t r a n s m i t 8 · PL ,
The energy saved by improving the energy efficiency of the transmission can be used for other tasks.
In this section, experiments are conducted on the wireless communication mechanism explored in Section 2.6 to determine whether it is beneficial to the batteryless sensor node. Since a sensor data item is only two bytes in this paper, it allows the sensor node to replace as many padding bytes in the message as possible to increase the amount of useful information. It is possible to improve energy efficiency by reducing the proportion of padding bytes in a transmission. This method is referred to as transmission optimization. In practice, the sensor node will check whether the transmission requirement is satisfied in each application cycle. Once the requirement is met, the node evaluates the need for transmission optimization. This experiment uses a constant harvesting rate of 12.5 mW. From the results, it can be seen that, for a 5 s period, only the mathematical prediction ATP shows a significant change in capacitor voltage after transmission optimization. This is because the optimization decreases the transmission performance and overall energy consumption, thereby increasing the average capacitor voltage level. As for the 5 s sensing period for the other two ATP approaches, the optimization has no significant effect on the capacitor voltage. Most of the energy saved by the optimization is used to enable the next transmission requirement to be met faster so that the energy of the capacitor does not obviously accumulate continuously. For the 10 s sensing period, the capacitor voltage level increases slightly for the three ATP approaches. This is because they all wait to send one more data item, which doubles the transmission interval and decreases the overall energy consumption. For the 30 s and 60 s periods, even though optimization can improve energy efficiency, the almost-full capacitor results in a small voltage increase for the ATP.
Transmission optimization aims to send more data with the same energy consumption. Although the optimization may lead to a longer transmission interval, it improves the energy efficiency of the transmission. The energy saved by transmission optimization is stored in the capacitor and can be used in the future. However, when the transmission requirement is not met, even if the sensor node can wait for more data to send, most of the energy saved is used to make the capacitor voltage reach the requirement faster for the next transmission. Therefore, the overall energy consumption does not decrease significantly.
Figure 10 shows a comparison of the energy consumed to send a useful bit, which is defined by Equation (11). The optimization results in a 50% improvement in transmission energy consumption for 10 s, 30 s, and 60 s sensing periods. This is because the optimization doubles the payload but the energy consumption of the transmission is the same. For the five-second sensing period, even if the energy per useful bit becomes lower, the transmission optimization brings only a slight improvement. As the period decreases, because there is not enough charging time for the capacitor voltage to meet the transmission requirement, the sensor node needs to store more data to send at once. Due to the small rise in time on air with the payload size in SF7, the transmission energy calculated by Equation (A1) does not increase significantly if the other parameters remain constant. Based on this analysis, an increase in the payload size in Equation (11) will result in a decrease in the energy consumed per useful bit. It can be found that, the smaller the period, the longer the transmission interval may be; the more data are transmitted at once, the less energy is consumed per useful bit. Furthermore, as the denominator (i.e., payload) in Equation (11) gradually increases, the degree of reduction in energy per useful bit will decrease.
From the results in Figure 10, it can be seen that the transmission optimization brings a better improvement for the mathematical prediction ATP. However, for the five-second period, its energy per useful bit is lost to the other two approaches. This is because the transmission requirement of the mathematical prediction ATP is less stringent compared to the other two, resulting in a smaller payload size for a transmission. From the results of the analysis in the previous paragraph, it is clear that a smaller payload size has more energy consumed per useful bit when the transmission energy consumption grows slowly. Furthermore, the mathematical prediction ATP requires more energy consumption when the total number of sensor data sent is the same for all three ATP approaches. This is the consideration that the mathematical prediction ATP has a higher performance in terms of transmission interval, which increases throughput. In contrast, a longer transmission interval may reduce the risk of sensor data being discarded due to power failure.

4. Discussion

There are four key messages from the results. First of all, the comparison between the baseline approach and the proposed ATP shows the benefit of using a higher-fidelity physical model. The ATP takes into account the non-linear charging and discharging time, and, therefore, it is able to meet the more stringent IoT sensing demand. Although the physical model in this work is still a simplified representation of the system, the use of Thévenin equivalent circuits nevertheless enables one to derive a working policy for the given sensing demand.
Secondly, the comparison of the threshold-based ATP and the mathematical prediction ATP shows the advantage of an adaptive design approach. In the mathematical prediction ATP, the transmission decision is driven by the payload size of the data, for the different payload size will need different lengths of the transmission time and will take different amounts of energy consumption. And to make such an adaptive approach work, one will need a physical model to help derive the calculation.
Thirdly, the feasibility test not only serves the purpose of measuring the feasibility of the design. It can also serve to aid application configuration. For example, given certain device constraints or environment constraints that impose restrictions on the harvesting rate, Figure 5 can also be used for deciding the possible application sensing period.
Finally, the presented result shows that transmission optimization can help improve energy efficiency. For example, in the case of LoRa transmissions, packing two data items into one transmission will not increase the transmission time. However, the downside of such an optimization could be an increase in the waiting time for each data item before transmission.

5. Conclusions

Batteryless IoT devices have brought innovations to the development of the Internet of Things. In sensing applications, batteryless sensor nodes collect environmental data while reducing the problems of environmental pollution and space occupation which occur with batteries. However, due to the unpredictability of the environmental conditions and the energy storage limitation of batteryless sensor nodes, ensuring that sufficient energy is available to execute the task is a challenge. In order to more accurately evaluate events in the environment over time, maintaining the sensing rate is a requirement. As for transmission, it is only necessary to send the data before they are overwritten due to lack of memory. Shortening the transmission interval could reduce the probability of overwriting sensor data but increase the risk of power failure.
This paper analyzes the voltage variation of the capacitor during task execution and presents a way to find the minimum harvesting rate required to maintain the sensing rate. To achieve this objective, an adaptive transmission strategy (ATP) is proposed which has threshold-based scheduling and mathematical prediction scheduling. The design of the ATP is mainly based on adjusting the transmission interval to reduce energy consumption. Furthermore, the ATP manages to improve the transmission performance while maintaining the sensing rate and the energy level of the capacitor. Based on the experiment results, the ATP performs well in maintaining sensing rates and increasing throughput at both constant and variable harvesting rates. As long as the minimum required harvesting rate is ensured, the batteryless IoT device can operate properly. In a comparison between the threshold-based ATP and mathematical prediction ATP, the latter has a better transmission performance. The result shows that dynamic transmission scheduling based on capacitor voltage will be more beneficial for sensing applications. In addition, batch processing is applied to the ATP through the modulation mechanism of a LoRa physical layer protocol to improve the transmission energy efficiency. With the support of transmission optimization, the ATP can achieve better robustness for batteryless sensor nodes.

Author Contributions

Conceptualization, C.-S.P. and C.W.; methodology, C.-S.P. and C.W.; software, C.-S.P.; validation, C.-S.P. and C.W.; formal analysis, C.-S.P. and C.W.; investigation, C.-S.P.; resources, C.W.; data curation, C.-S.P.; writing—original draft preparation, C.-S.P.; writing—review and editing, C.W.; visualization, C.-S.P.; supervision, C.W.; project administration, C.W.; funding acquisition, C.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by MOST grant number 109-2222-E-003-001-MY3.

Data Availability Statement

The data presented in this study are available on request from the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Abbreviations

The following abbreviations are used in this manuscript:
ATPAdaptive Transmission Policy
ADCAnalog-to-Digital Converter
IoTInternet of Things
MCUMicro-Controller Unit
SFSpreading Factor
WCETWorst-Case Execution Time

Appendix A

In Section 2.6, the payload duration T p a y l o a d is calculated according to the LoRa specification [39] using the following equations:
T p a y l o a d = n p a y l o a d · T s y m b o l n p a y l o a d = 8 + max 8 · PL 4 · SF + 28 + 16 · CRC 20 · HE 4 · ( SF 2 · DE ) ( CR + 4 ) , 0 ,
where n p a y l o a d is the number of symbols in a payload; PL is the payload size in bytes; HE is equal to one when the header is disabled; DE is equal to one when data rate optimization is enabled; CR is the coding rate, which is the proportion of transmitted bits that actually carry information; and CRC is the cyclic redundancy check used to determine whether all bytes in the message are received correctly. The symbol duration T s y m b o l can be calculated as follows:
T s y m b o l = 2 SF BW ,
where BW is the bandwidth. Making the bandwidth two times wider allows the node to send two times more bytes in the same time. After the derivation of the above equations, the total energy consumption of the transmission is approximately linearly related to the payload size, provided that other parameters are fixed.

Appendix B

Following Section 3.3.1, with the analysis of the minimum harvesting rate required for maintaining the sensing rate, the behavior of the device in terms of data delivery rate and sensing rate was subsequently evaluated using a mathematical model. The purpose of this experiment was to further evaluate the feasibility of maintaining the sensing rate and the ability of transmission under different environmental conditions. Figure A1 shows the results for the ATP, which was experimented with for six different periods. In the experiment, each period corresponding to different harvesting rates (markers in Figure A1) was executed for 1000 application cycles. In each application cycle, the device wakes up to determine whether to execute sensing and transmission tasks. The sensing ratio is defined as the proportion of sensing executed during these 1000 application cycles, while the data delivery ratio is the proportion of the total sensor data that is actually sent.
Figure A1. The sensing ratio and data delivery ratio for each sensing period.
Figure A1. The sensing ratio and data delivery ratio for each sensing period.
Iot 05 00017 g0a1
As can be seen from the left half of Figure A1, the sensing ratio of the ATP gradually increases to 100% as the harvesting rate increases for different sensing periods. The harvesting rate required to reach 100% is the minimum to maintain the sensing rate corresponding to the results in Figure 5. In the case that the minimum harvesting rate cannot be met, the three ATP approaches can have the ability to maintain a few sensing tasks until the sensing ratio drops to 0%. Figure A1 also shows that the performance of the threshold-based ATP and mathematical predicted ATP in terms of sensing ratio is the same. This is due to the scheduling condition for the sensing task being the same, and the worst-case energy consumption for executing sensing is assumed to be constant.
In the right half of Figure A1, it shows that all the collected sensor data can be sent when the data delivery ratio is 100%. The modified threshold-based ATP outperforms the other two ATP approaches in terms of the harvesting rate required to reach a 100% data delivery ratio. This is also the advantage of the modified threshold-based ATP, which disables the ADC to save energy. Finally, the reason that the mathematical prediction ATP is better than the threshold-based ATP is that the latter has a more stringent condition for transmission (a specific transmission threshold).

References

  1. Gubbi, J.; Buyya, R.; Marusic, S.; Palaniswami, M. Internet of Things (IoT): A vision, architectural elements, and future directions. Future Gener. Comput. Syst. 2013, 29, 1645–1660. [Google Scholar] [CrossRef]
  2. Lazarescu, M.T. Design of a WSN platform for long-term environmental monitoring for IoT applications. IEEE J. Emerg. Sel. Top. Circuits Syst. 2013, 3, 45–54. [Google Scholar] [CrossRef]
  3. Farooq, M.S.; Riaz, S.; Abid, A.; Umer, T.; Zikria, Y.B. Role of IoT Technology in Agriculture: A Systematic Literature Review. Electronics 2020, 9, 319. [Google Scholar] [CrossRef]
  4. Hammi, B.; Khatoun, R.; Zeadally, S.; Fayad, A.; Khoukhi, L. IoT technologies for smart cities. IET Networks 2018, 7, 1–13. [Google Scholar] [CrossRef]
  5. Shih, C.S.; Chou, J.J.; Reijers, N.; Kuo, T.W. Designing CPS/IoT applications for smart buildings and cities. IET Cyber-Phys. Syst. Theory Appl. 2016, 1, 3–12. [Google Scholar] [CrossRef]
  6. Haghi Kashani, M.; Madanipour, M.; Nikravan, M.; Asghari, P.; Mahdipour, E. A systematic review of IoT in healthcare: Applications, techniques, and trends. J. Netw. Comput. Appl. 2021, 192, 103164. [Google Scholar] [CrossRef]
  7. Industry IoT Consortium. Industrial Internet Reference Architecture (v1.10). 2022. Available online: https://www.iiconsortium.org/foundational-publications/ (accessed on 27 May 2024).
  8. Burhan, M.; Alam, H.; Arsalan, A.; Rehman, R.A.; Anwar, M.; Faheem, M.; Ashraf, M.W. A Comprehensive Survey on the Cooperation of Fog Computing Paradigm-Based IoT Applications: Layered Architecture, Real-Time Security Issues, and Solutions. IEEE Access 2023, 11, 73303–73329. [Google Scholar] [CrossRef]
  9. Mekki, K.; Bajic, E.; Chaxel, F.; Meyer, F. A comparative study of LPWAN technologies for large-scale IoT deployment. ICT Express 2019, 5, 1–7. [Google Scholar] [CrossRef]
  10. Semtech Corporation. LoRa and LoRaWAN: An Technical Overview. 2024. Available online: https://lora-developers.semtech.com/documentation/tech-papers-and-guides/lora-and-lorawan/ (accessed on 27 May 2024).
  11. Ahmed, S.; Islam, B.; Yildirim, K.S.; Zimmerling, M.; Pawełczak, P.; Alizai, M.H.; Lucia, B.; Mottola, L.; Sorber, J.; Hester, J. The Internet of Batteryless Things. Commun. ACM 2024, 67, 64–73. [Google Scholar] [CrossRef]
  12. Asenov, S.; Tokmakov, D. Battery Free Wireless LoRaWAN End Sensor Node for IoT Applications. In Proceedings of the 2020 28th National Conference with International Participation (TELECOM), Sofia, Bulgaria, 29–30 October 2020; pp. 121–124. [Google Scholar] [CrossRef]
  13. Kamalinejad, P.; Mahapatra, C.; Sheng, Z.; Mirabbasi, S.M.; Leung, V.C.; Guan, Y.L. Wireless energy harvesting for the Internet of Things. IEEE Commun. Mag. 2015, 53, 102–108. [Google Scholar] [CrossRef]
  14. Deliang, W.; Zhongqiao, Z. Research on the application and maintenance of the temperature sensor in the vehicle. In Proceedings of the 2010 International Conference on Computer Application and System Modeling (ICCASM 2010), Taiyuan, China, 22–24 October 2010; Volume 5, pp. V5-690–V5-693. [Google Scholar] [CrossRef]
  15. Yoo, H.; Shim, M.; Kim, D. Dynamic duty-cycle scheduling schemes for energy-harvesting wireless sensor networks. IEEE Commun. Lett. 2011, 16, 202–204. [Google Scholar] [CrossRef]
  16. Hsu, J.; Zahedi, S.; Kansal, A.; Srivastava, M.; Raghunathan, V. Adaptive duty cycling for energy harvesting systems. In Proceedings of the 2006 International Symposium on Low Power Electronics and Design, Tegernsee, Germany, 4–6 October 2006; pp. 180–185. [Google Scholar]
  17. Shi, J.; Wan, J.; Yan, H.; Suo, H. A survey of Cyber-Physical Systems. In Proceedings of the 2011 International Conference on Wireless Communications and Signal Processing (WCSP), Nanjing, China, 9–11 November 2011; pp. 1–6. [Google Scholar] [CrossRef]
  18. Hande, A.; Polk, T.; Walker, W.P.; Bhatia, D.K. Indoor solar energy harvesting for sensor network router nodes. Microprocess. Microsyst. 2007, 31, 420–432. [Google Scholar] [CrossRef]
  19. Magno, M.; Aoudia, F.A.; Gautier, M.; Berder, O.; Benini, L. WULoRa: An energy efficient IoT end-node for energy harvesting and heterogeneous communication. In Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE), Lausanne, Switzerland, 27–31 March 2017; pp. 1528–1533. [Google Scholar] [CrossRef]
  20. Wan, Z.; Tan, Y.; Yuen, C. Review on energy harvesting and energy management for sustainable wireless sensor networks. In Proceedings of the 2011 IEEE 13th International Conference on Communication Technology, Jinan, China, 25–28 September 2011; pp. 362–367. [Google Scholar] [CrossRef]
  21. Xiang, T.; Chi, Z.; Li, F.; Luo, J.; Tang, L.; Zhao, L.; Yang, Y. Powering Indoor Sensing with Airflows: A Trinity of Energy Harvesting, Synchronous Duty-Cycling, and Sensing. In Proceedings of the SenSys 2013—Proceedings of the 11th ACM Conference on Embedded Networked Sensor Systems, Roma, Italy, 11–15 November 2013. [Google Scholar] [CrossRef]
  22. Kwon, K.; Yang, J.; Yoo, Y. Adaptive Control of the Packet Transmission Period with Solar Energy Harvesting Prediction in Wireless Sensor Networks. Sensors 2015, 15, 9741–9755. [Google Scholar] [CrossRef]
  23. 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]
  24. Loubet, G.; Takacs, A.; Gardner, E.; De Luca, A.; Udrea, F.; Dragomirescu, D. LoRaWAN Battery-Free Wireless Sensors Network Designed for Structural Health Monitoring in the Construction Domain. Sensors 2019, 19, 1510. [Google Scholar] [CrossRef]
  25. Wu, F.; Redouté, J.M.; Yuce, M.R. WE-Safe: A Self-Powered Wearable IoT Sensor Network for Safety Applications Based on LoRa. IEEE Access 2018, 6, 40846–40853. [Google Scholar] [CrossRef]
  26. Lucia, B.; Balaji, V.; Colin, A.; Maeng, K.; Ruppel, E. Intermittent Computing: Challenges and Opportunities. In Proceedings of the 2nd Summit on Advances in Programming Languages (SNAPL 2017), Asilomar, CA, USA, 7–10 May 2017; Volume 71, pp. 8:1–8:14. [Google Scholar] [CrossRef]
  27. Ransford, B.; Sorber, J.; Fu, K. Mementos: System Support for Long-Running Computation on RFID-Scale Devices. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems, Newport Beach, CA, USA, 5–11 March 2011; ASPLOS XVI. pp. 159–170. [Google Scholar] [CrossRef]
  28. Daulby, T.; Savanth, A.; Weddell, A.S.; Merrett, G.V. Comparing NVM Technologies through the Lens of Intermittent Computation. In Proceedings of the 8th International Workshop on Energy Harvesting and Energy-Neutral Sensing Systems, Virtual Event, 16 November 2020; ENSsys ’20. pp. 77–78. [Google Scholar]
  29. Delgado, C.; Sanz, J.M.; Blondia, C.; Famaey, J. Batteryless LoRaWAN Communications Using Energy Harvesting: Modeling and Characterization. IEEE Internet Things J. 2021, 8, 2694–2711. [Google Scholar] [CrossRef]
  30. Sabovic, A.; Delgado, C.; Subotic, D.; Jooris, B.; De Poorter, E.; Famaey, J. Energy-Aware Sensing on Battery-Less LoRaWAN Devices with Energy Harvesting. Electronics 2020, 9, 904. [Google Scholar] [CrossRef]
  31. Chamanian, S.; Uluşan, H.; Özge, Z.; Baghaee, S.; Uysal-Biyikoglu, E.; Külah, H. Wearable battery-less wireless sensor network with electromagnetic energy harvesting system. Sens. Actuators A Phys. 2016, 249, 77–84. [Google Scholar] [CrossRef]
  32. Majid, A.Y.; Donne, C.D.; Maeng, K.; Colin, A.; Yildirim, K.S.; Lucia, B.; Pawełczak, P. Dynamic Task-Based Intermittent Execution for Energy-Harvesting Devices. ACM Trans. Sen. Netw. 2020, 16. [Google Scholar] [CrossRef]
  33. Karimi, M.; Kim, H. Energy Scheduling for Task Execution on Intermittently-Powered Devices. SIGBED Rev. 2020, 17, 36–41. [Google Scholar] [CrossRef]
  34. Buttazzo, G.C. Hard Real-Time Computing Systems, 3rd ed.; Springer: New York, NY, USA; London, UK, 2011. [Google Scholar] [CrossRef]
  35. Kenyeres, M.; Kenyeres, J. Distributed Mechanism for Detecting Average Consensus with Maximum-Degree Weights in Bipartite Regular Graphs. Mathematics 2021, 9, 3020. [Google Scholar] [CrossRef]
  36. Asano, M.; Miyoshi, T.; Yamazaki, T. Internet-of-Things Traffic Analysis and Device Identification Based on Two-Stage Clustering in Smart Home Environments. Future Internet 2024, 16, 17. [Google Scholar] [CrossRef]
  37. Faheem, M.; Al-Khasawneh, M.A. Multilayer cyberattacks identification and classification using machine learning in internet of blockchain (IoBC)-based energy networks. Data Brief 2024, 54, 110461. [Google Scholar] [CrossRef]
  38. Agarwal, A.; Lang, J. Foundations of Analog and Digital Electronic Circuits; Elsevier: Amsterdam, The Netherlands, 2005. [Google Scholar]
  39. Semtech Corporation. AN1200.13 and AN1200.17: LoRa Modem Design. 2019. Available online: https://www.semtech.com/design-support/development-support-documents/ (accessed on 27 May 2024).
Figure 1. The capacitor voltage varies due to task execution. (a) Enough energy harvested, the ideal case; (b) the energy harvested is less than the energy consumed.
Figure 1. The capacitor voltage varies due to task execution. (a) Enough energy harvested, the ideal case; (b) the energy harvested is less than the energy consumed.
Iot 05 00017 g001
Figure 2. The circuit model and its equivalence. (a) Model for a batteryless IoT device; (b) Thévenin equivalent circuit.
Figure 2. The circuit model and its equivalence. (a) Model for a batteryless IoT device; (b) Thévenin equivalent circuit.
Iot 05 00017 g002
Figure 3. The relationship between time on air and payload size at Spreading Factor 7, 8, and 9.
Figure 3. The relationship between time on air and payload size at Spreading Factor 7, 8, and 9.
Iot 05 00017 g003
Figure 4. The implementation of the batteryless IoT device.
Figure 4. The implementation of the batteryless IoT device.
Iot 05 00017 g004
Figure 5. The required energy harvesting rate for each sensing period configuration.
Figure 5. The required energy harvesting rate for each sensing period configuration.
Iot 05 00017 g005
Figure 6. Harvester component emulation.
Figure 6. Harvester component emulation.
Iot 05 00017 g006
Figure 7. Time series of capacitor voltage (60 s sensing period).
Figure 7. Time series of capacitor voltage (60 s sensing period).
Iot 05 00017 g007
Figure 8. Time series of capacitor voltage with varied sensing period. (a) Period = 30 s; (b) period = 10 s; (c) period = 5 s.
Figure 8. Time series of capacitor voltage with varied sensing period. (a) Period = 30 s; (b) period = 10 s; (c) period = 5 s.
Iot 05 00017 g008
Figure 9. Performance under intermittent energy harvesting (five-second sensing period).
Figure 9. Performance under intermittent energy harvesting (five-second sensing period).
Iot 05 00017 g009
Figure 10. Comparison of energy consumption per useful bit.
Figure 10. Comparison of energy consumption per useful bit.
Iot 05 00017 g010
Table 1. Comparison of IoT sensing/transmission strategy.
Table 1. Comparison of IoT sensing/transmission strategy.
Task Configuration
MetricDynamic Duty CyclePeriodic SensingPeriodic TransmissionPeriodic Sensing and Tx *
- Adaptive to renewable energy?HighHighMiddle
(a transmission task needs much more energy than a sensing task)
Low
- Service lifeLongLongShortShort
- Throughput during lifetimeLowMiddleHighHigh
- Data freshness post-deliveryLowMiddle
(because data may be temporarily buffered at the device due to insufficient energy for transmission)
HighHigh
- Sensing data distribution over 24 hUnevenEvenUnevenUneven
- Example applicationMotion detectionEnvironment monitoringEmergency notificationIdeal if there is sufficient energy
* Tx: transmission.
Table 2. Definition of parameters.
Table 2. Definition of parameters.
ParameterDefinition
V c a p voltage across the capacitor
V o n voltage level for supplying power to the devices
V o f f voltage level at which the power failure occurs
V s t a r t voltage threshold to start the device initialization process
V s e n s e voltage threshold to start the sensing task
V T X voltage threshold to start the sensing and transmission task
Table 3. Device characteristics.
Table 3. Device characteristics.
Task/ModeWCET (s)Current (mA)Load (Ohm)Power (mW)
sensing0.5012452.55930312898.442
transmission (2 bytes)0.05744767.56372449223.677
transmission (64 bytes)0.14448787.09538288.25
active-0.22614,6010.745
sleep-0.17119,3530.565
ADC sampling0.124560.97575833823.22
Table 4. Implementation specification.
Table 4. Implementation specification.
ComponentSpecification
RegulatorHT7333
Voltage detectorHT70XXA-1
Energy storage16.5 mF capacitor
MCUMSP430G2553
SensorDHT11
TransceiverRa-01H LoRa module
Switch2N7000 power MOSFET
Table 5. Current consumption of the MSP430G2553 in different operating modes.
Table 5. Current consumption of the MSP430G2553 in different operating modes.
ModeActiveLPM0LPM1LPM2LPM3LPM4
Current230 μ A56 μ A22 μ A0.7 μ A0.5 μ A0.1 μ A
Table 6. Transmission parameter setting in the implementation.
Table 6. Transmission parameter setting in the implementation.
ParameterRF FrequencyBWSFCRTX PowerPreamble Length
Value923 MHz125 kHz74/5+11 dBm6
Table 7. The parameters of the baseline (harvesting rate = 12.5 mW).
Table 7. The parameters of the baseline (harvesting rate = 12.5 mW).
ParameterRateExecution Time
m a 5.0 mV/s-
m p for sensing131.6 mV/s0.501245 s
m p for TX3155.6 mV/s0.057447 s
Table 8. The performance for different periods (harvesting rate = 12.5 mW).
Table 8. The performance for different periods (harvesting rate = 12.5 mW).
Period (s)1∼1314∼4950∼1∼1314∼4950∼
ApproachPeriodic SensingPeriodic Sending
Baselinexxx
Threshold-based ATP
Mathematical prediction ATP
Modified threshold-based ATP
Table 9. Transmission performance within 300 s.
Table 9. Transmission performance within 300 s.
Period (s)51030605103060
ApproachNumber of TXsAvg. TX Interval (s)
Baseline0005---60
Threshold-based ATP10291053010.343060
Mathematical prediction ATP33301059.09103060
Modified threshold-based ATP153010520103060
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

Peng, C.-S.; Wang, C. Adaptive Transmissions for Batteryless Periodic Sensing. IoT 2024, 5, 332-355. https://doi.org/10.3390/iot5020017

AMA Style

Peng C-S, Wang C. Adaptive Transmissions for Batteryless Periodic Sensing. IoT. 2024; 5(2):332-355. https://doi.org/10.3390/iot5020017

Chicago/Turabian Style

Peng, Cheng-Sheng, and Chao Wang. 2024. "Adaptive Transmissions for Batteryless Periodic Sensing" IoT 5, no. 2: 332-355. https://doi.org/10.3390/iot5020017

Article Metrics

Back to TopTop