Vibration-based energy harvesting