Smart bottle