Nanogenerators and piezotronics