[ 
https://issues.apache.org/jira/browse/MINIFI-219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15990936#comment-15990936
 ] 

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: https://issues.apache.org/jira/browse/MINIFI-219
>             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
(v6.3.15#6346)

Reply via email to