  The Internet of Things (IoT) enables a wide variety of applications where
large sensor networks are deployed in remote areas without power grid access.
Thus, the sensor nodes often run on batteries, whose replacement and disposal
represent important economical and environmental costs. To realize more
sustainable IoT solutions, it is therefore desirable to adopt battery-less
energy-neutral devices that can harvest energy from renewable sources and store
it in super-capacitors, whose environmental impact is much lower than that of
batteries. To achieve the energetic self-sustainability of such nodes, however,
communication and computational processes must be optimized to make the best
use of the scarce and volatile energy available. In this work, we propose
different energy-aware packet scheduling algorithms for battery-less LoRaWAN
nodes, and compare them in various simulated scenarios, using actual
energy-harvesting measurements taken from a testbed. We show that an
energy-aware design can significantly increase the number of transmitted
packets, also lowering the mean time between packet transmissions, though (as
predictable) the gain strongly depends on the harvesting capabilities of the
nodes.
