Modern Embedded Computing: Designing Connected, Pervasive, Media-Rich Systems