The I2C Bus: From Theory to Practice