The nesC language: a holistic approach to networked embedded systems