Contiki is an open source, highly portable, multi-tasking operating system for memory-constrained networked embedded systems