code: def start(self, blocking=False):
          
          try:
              self._init_listen_socket()
          except:
              self.exception(u"Failed to init listen socket ({}:{})".format(
                  self._listen_ip, self._listen_port
              ))
              self._shutdown_listen_socket()
              raise SensorStartException("Listen socket init failed")
          self.info(u"Listening on {}:{}".format(
              self._listen_ip, self._listen_port
          ))
  
          super(Sensor, self).start(False)
          try:
              a_thread = threading.Thread(
                  target=self._thread_wrapper,
                  args=(self._receiving,)
              )
              a_thread.daemon = True
              a_thread.start()
          except:
              self.exception("Failed to run receive loop")
              raise SensorStartException("Packet loop failed")
          super(Sensor, self).start(blocking)
docs: Start the interface
  
          :param blocking: Should the call block until stop() is called
              (default: False)
          :type blocking: bool
          :rtype: None
          :raises SensorStartException: Failed to start