nifi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Christianson (JIRA)" <>
Subject [jira] [Commented] (MINIFI-219) Create GetUSB processor for reading payloads from connected USB devices
Date Mon, 01 May 2017 15:12:04 GMT


Andrew Christianson commented on MINIFI-219:

Using something like Avro to standardize the data format/encoding makes sense. As for getting
the samples from sensors, maybe we could look into what the high-level categories of sensors
are, then looks for existing native libs that support large sets of devices behind a standard
interface. For instance, with camera sensors we could yield to v4l (video 4 linux) or opencv
to grab frames. For audio sensors, there are a host of libraries of similar nature. For very
specific kinds of sensors, we would probably have to add custom support by linking to their
userspace client drivers.

If we decide to standardize on Avro or similar, it would then probably make sense to have
a standard API to map a sensor to a data type. I.e. a mono audio sensor, a temperature sensor,
scale, or air pressure sensor could all be standardized as a stream of floating point values.
A camera could be standardized as a stream of 2D matrices. So, each time we need to support
a new device, we'd define a function that reads the device using device-specific code, then
outputs to a standardized API (series of N-dimensional matrices?) which is then serialized
to Avro.

Or roughly something like that.

> Create GetUSB processor for reading payloads from connected USB devices
> -----------------------------------------------------------------------
>                 Key: MINIFI-219
>                 URL:
>             Project: Apache NiFi MiNiFi
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Jeremy Dyer
>            Assignee: Jeremy Dyer
> LibUSB is a popular framework for interacting with USB devices on host machines. The
spirit of this processor will be the periodically pull data from USB devices connected to
the host running the minifi c++ instance. This processor is not intended to interact with
filesystem connected devices but rather more sensor focused devices like, scales, temperature,
etc where those values change periodically and have context around the time the values were
acquired. The processor will expose a general mechanism to format the messages received from
the USB device and introduce those messages to the nifi flowfile

This message was sent by Atlassian JIRA

View raw message