Energy Harvesting for Structural Health Monitoring Systems: State of art and recent developments