The Yocto-0-10V-Rx device lets you read via USB the instant value returned by any industrial sensor following the 0-10V standard, as well as record the measures on its internal flash for later retrieval when connected again by USB. The device can automatically map the current reading to a physical measure by applying a proportional rule. The module features two inputs, to connect two independent sensors. The Yocto-0-10V-Rx can provide up to 80mA to power sensors that do not require too much power. The supply voltage is regulated 23V, isolated from the USB bus but common to both inputs.
This device can be connected directly to an Ethernet network using a YoctoHub-Ethernet, to a WiFi network using a YoctoHub-Wireless-n and to a GSM network using a YoctoHub-GSM.
USB cables and enclosures to be ordered separately.
I thought it would be straightforward to connect to the device via python (which I use for plotting etc), however, cannot appear to get helloworld.py to function? The device works fine in VirtualHub.
@rab wilson: Well, it is supposed to be straightforward. I suggest that you read that article first: www.yoctopuce.com/EN/article/about-programming-examples then contact Yoctopuce support directly.
We have about 10 of these and they work well for us, however we recently started trying to read at a higher rate and there appears to be a significant amount of latency on the values. I'm using a very simple loop to read the sensor. I appear to get some buffering or values that are trailing the output of the device that sensor is reading. Is there a buffering of values? Does get_currentValue actually read the sensor and pause until the sensor value is read or does it return the value which was measured in a loop - if so, what is the loop timing? Just trying to figure out where the latency is showing up - we are sometimes seeing the same value from the sensor for 100ms or more, even though we have can measure that the device we are measuring is very clearly fluctuating during that time. Any comment are great appreciated I'm using C++ code on Jetson NX Ubuntu 18.04. while (s1->isOnline()) { raw_value_vlt = s1->get_currentValue(); ... usleep( 10 * 1000); }
@rickyhoughton: don't assume the calls to get_currentValue() and the sensor samplings are synchronous, because they are not. The sensor performs continuous sampling at its own pace and a get_currentValue() call only returns the last sampling value. So trying to get data faster than the sensor internal sampling frequency is somewhat counterproductive. BTW the Yocto-0-10V-Ry sampling frequency is 50Hz. Actually get_currentValue() calls are quite slow, that's why the API has a cache for all device values. If you want to achieve high speed measurements you should definitely use callback-based programming instead of polling. Here are some inspirational readings: www.yoctopuce.com/EN/article/polling-vs-callback www.yoctopuce.com/EN/article/optimizing-communications-with-yoctopuce-devices www.yoctopuce.com/EN/article/api-update-and-new-performance-measures