Tiny batteryless Internet of Things (IoT) devices that depend on the harvested energy from their environment provide a promising alternative for a sustainable IoT vision. These devices use small capacitors… Click to show full abstract
Tiny batteryless Internet of Things (IoT) devices that depend on the harvested energy from their environment provide a promising alternative for a sustainable IoT vision. These devices use small capacitors as energy storage, which together with the unpredictable and dynamic harvesting environment results in intermittent on–off behavior of the device. The crucial issue to effectively use batteryless IoT devices is to find a way of enabling the successful execution of application tasks in face of this intermittency. As the conventional computing models cannot handle this behavior, in this article, we present an energy-aware task scheduler for batteryless IoT devices based on dependencies and priorities, which can intelligently schedule the application tasks avoiding power failures and maintaining forward progress. With the properly defined voltage thresholds for each application task, using our energy-aware task scheduler a safer execution can be ensured. We evaluate our approach based on emulated and real experiments and validate it using two types of power management units (PMUs) (environment emulator and intelligent PMU based on the AEM10941 chip). Our results show that the energy-aware task scheduler is able to react and adapt the execution to environmental changes, avoiding power failures. Comparing to the state-of-the-art scheduling approaches, which are mostly not aware of the energy, we show that our energy-aware task scheduler can keep the device on during the full time of the experiment, executing more tasks when a relatively small capacitor of 10 mF or less is used at harvesting currents as low as $40 ~\mu \text{A}$ .
               
Click one of the above tabs to view related content.