A distributed and self-organizing scheduling algorithm for energy-efficient data aggregation in wireless sensor networks