Energy harvesting for IoT applications