Nanogenerators: a new paradigm in blue energy harvesting