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 (
), processing (
), and waiting (
), 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:
where
is the charging period,
is the processing discharging rate, and
is the Worst-Case Execution Time (WCET). In particular,
is the worst-case voltage accumulation rate of the capacitor for fixed power generated by the harvester, which is calculated as follows:
where
and
are the charging time and charging period of a power source, respectively.
is the charging rate from the power-on threshold to the maximum voltage the capacitor can reach, and
is the worst-case discharging rate (max
). 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
(equivalent resistor viewed from the port to the storage component). The storage component can be modeled as a capacitor
, 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
(representing the IoT device and the linear regulator) and a switch
S (representing whether the IoT device is powered on). The value of
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].
The energy-harvesting rate
P is defined as the output power of the harvester component in
Figure 2a.
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
can be calculated using the following equation:
where
is the equivalent independent voltage source in Volts (
V),
is the equivalent resistance in Ohms (
), and
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
. If the initial voltage of the capacitor is
, and the voltage at time
t is
, the charging time
t can be calculated from Equation (
5) as follows:
When is fixed, the larger the , the longer the charging time. Comparatively, when is fixed, the larger the , the longer the charging time.
2.3. Worst-Case Voltage after Task Execution
In this paper, the power-on threshold () 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, 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 () 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, will be slightly lower than due to the hysteresis characteristic. Even though, between and , 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, should be always higher than . 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
drops over time. If the initial capacitor voltage is
, then the voltage across the capacitor at time
t is discharged as follows:
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
is greater than
during execution. The required operating voltage for each task is called the task voltage threshold. It is assumed that, if
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
. Let
be the voltage threshold for sensing tasks, and let
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:
where
corresponds to
in Equation (
7),
is the expected sensing time,
is the expected transmission time, and
and
correspond to
in Equation (
7) for sensing purposes and sensing and transmission purposes, respectively. Since the value of
is set based on the maximum payload size, to avoid the capacitor taking a long charging time to reach
, 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
. In order to find out the minimum harvesting rate to support periodic sensing, the fully charged capacitor voltage needs to be greater than
. For each sensing period, it is necessary to ensure that
can be recharged to
during the sleep state. Based on these requirements, the following condition of the harvesting rate
P can be derived from Equations (
4) and (
5):
where
T is the sensing period, and
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
can be calculated as follows:
where
is the total consumed power which is related to the radio transmission power,
is the preamble duration, and
is the payload duration, also known as the time on air.
is the worst-case energy consumption when the device is in the wake-up stage, and
is the worst-case energy consumption when the device is idle. The calculation for
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 (
) of 4/5 and bandwidth (
) 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 is reached, and sensing is executed only when is reached. Typically, is larger than because sensing will consume less energy and have a better opportunity to be executed than transmission. 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 is higher than . 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
is higher than
, the device will execute sensing and store the data in the buffer. Then, when
is higher than
, 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: |
3: if then | ▹ start a new cycle, MCU is active |
4: | ▹ reset timer |
5: |
6: if then |
7: |
8: | ▹ store data in the buffer |
9: if then |
10: |
11: |
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
, the power-on threshold voltage. The operation is described in Algorithm 2. The worst-case voltage estimation is performed via function
, 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: |
3: if then | ▹ start a new cycle |
4: | ▹ reset timer |
5: |
6: | ▹ calculate the volt after sensing |
7: if then |
8: |
9: | ▹ store data in the buffer |
10: | ▹ calculate the execution time |
11: | ▹ find the average power for transmission |
12: | ▹ calculate the voltage after transmission |
13: if then |
14: |
15: |
16: |
17: function () | ▹ V is initial voltage; P, operating power; t, execution time |
18: |
19: |
20: | ▹ wort-case voltage after task execution; C is capacitance |
21: return | ▹ wort-case voltage after task execution |
22: |
23: function () | ▹ t is airtime |
24: | ▹ the transmission energy; PTX is worst-case transmission power |
25: | ▹ the total energy; Ewakeup and Eidle is constant |
26: |
27: return | ▹ operating power for transmission |
At the beginning of each cycle, the MCU reads the capacitor voltage via the ADC as the initial capacitor voltage . Then, the (line 6) takes , 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 (line 7), for that implies that there will be no power failure after sensing. After the sensing task completes, the 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
to estimate the worst-case capacitor voltage after the transmission, the device needs to know both the execution time for the pending transmission task
(line 10) and the average operating power
(line 11).
is the sum of
(a constant) and the airtime (for LoRa it can be calculated using Equation (
A1) in
Appendix A). Inside the function
, first the equivalent resistance
of the MCU is inferenced by the power law (line 18). Then, the equivalent resistance
of the total load considers the parallel connection of the voltage detector and the MCU.
is the equivalent resistance of the voltage detector.
Finally, function
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 and , respectively. When a voltage detector detects that the capacitor voltage is higher than , 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 , the sensing flag will be set to false. The TX flag is also set by comparing 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
reaches
. 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
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,
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).
is set to 3.468 V, and
for the 64-byte payload size is set to 4.048 V. The capacitance is 16.5 mF, and
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
reaching
, 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, must be at least 3.39 V, which is referred to as the power-on threshold. The power-on threshold () is the voltage level at which the power management unit turns on the switch to power the MCU. When is above , 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, could momentarily fall below the power-off threshold (). A solution is to delay device initialization until is above .
Instead of calculating the waiting time for charging to
, 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.
is then monitored by the voltage detector, which will raise an external interrupt to wake up the MCU after
. 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 then | ▹ check for the pending interrupt |
3: |
4: |
5: | ▹ reset timer and start periodic tasks |
6: | ▹ exit the handler |
7: | ▹ 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
, for the value of
corresponds to
in Equation (
4).
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,
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
is calculated as follows:
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.