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

def start(self, blocking=False):
        """
        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
        """
        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)