Dali: a communication-centric data abstraction layer for energy-constrained devices in mobile sensor networks