In most of the examples of use for our modules which are published in this blog, a USB connection with a computer is required. It's logical for USB modules, but it's constraining. Laptops, even if they are small, take up some space. And it's difficult to devote a computer for each do-it-yourself idea that goes through our heads. Let's have a look at alternatives that exist or could exist...
Mini-computers
There is a whole range of mini-computers which can be used to pilot Yoctopuce modules. The most sumptuous version is certainly the Fit-PC which, except for its size, has all the characteristics of a computer... even it's price. At the other end of the range, the Raspberry Pi costs only $35, but it's less user-friendly, and a lot slower. Note that at the time of writing, even if the Yoctopuce library compiles without error on the Raspberry Pi, you cannot use it yet because some USB packets disappear somewhere between the USB controller and the Raspberry Pi kernel... but this issue should normally be resolved soon, Raspberry developers are working on it.
The Fit-PC2
The Raspberry Pi, with two modules
Open peripherals
Another solution is to reuse a processor available in a commercially standard peripheral and already always switched on, such as a router or a NAS disk. It is now possible to find such systems (like the QNAP) running under Linux, offering a shell access and the possibility to install personalized software. As the Yoctopuce libraries do not require any proprietary driver, you can compile them on this kind of platform and therefore avoid using a dedicated machine to pilot the Yoctopuce modules.
A QNAP network disk
Network-USB gateways
For an application using several modules scattered in a building and piloted by a single software, we would rather avoid putting a CPU close to each module. As the USB standard is not designed for distances above 5-10 meters, the ideal is to reuse an existing network infrastructure (Ethernet or WiFi). To do this, we can use small modules, commercially available, which encapsulate USB traffic on an IP network. In return for the installation of a driver in the central control computer, each of these little boxes appears on the host as a local USB hub, even if it is only connected over the network. Because Yoctopuce modules use a protocol based on the HID standard, there is normally no compatibility issue with this kind of gateways (all the gateways that we tested worked correctly).
A USB to IP gateway from Silex
The YoctoHub (beware: Vaporware!)
In the best imaginable world, there would be a solution better adapted to Yoctopuce modules than USB to IP gateway, a solution:
- more compact than commercially available network-USB gateways
- not requiring any driver installation and which could therefore be used from mobile phones
- using a protocol more efficient on the network than a simple encapsulation
- if possible, able to signal by HTTP the presence of predefined events (conditions on the connected sensors).
In fact, it would be the physical equivalent of the Virtual Hub: The Yoctopuce libraries could communicate with these hubs in the same way they communicate with remote Virtual Hubs.
The current situation: to access remote modules, we need a second computer and a virtual hub
With a YoctoHub, the second computer disappears but the code of the control software stays strictly identical.
We have been working on the YoctoHubs for a while, and we hope them to be available for sale in a few months. Here is a glimpse of what we are getting ready.
The YoctoHub-Ethernet, seen from above
The base size is a 5cm by 5.8 cm rectangle, so about the size of two standard Yoctopuce modules. We are developing a wireless version, the YoctoHub-Wireless, and a cabled version, the YoctoHub-Ethernet. The latter will be optionally equipped with a Power-over-Ethernet (PoE) module, enabling you to provide a power supply to the hub and to all of the connected modules directly through the network cable, using the 802.3af standard.
The YoctoHub-Wireless, seen from below
The YoctoHub-Wireless and the YoctoHub-Ethernet connected to the network will enable you to connect up to three Yoctopuce modules. You will be able to mount one or two modules directly on the hub, in a very compact manner. To use more modules, you will be able to chain one or more YoctoHub-Shield with the help of a ribbon cable connected to the side. Each YoctoHub-Shield will allow you to connect up to four additional Yoctopuce modules, two of which mounted directly on the shield.
Two modules can be fixed directly on the YoctoHub-Wireless
Obviously, the YoctoHubs are only prototypes so far, but they are progressing a little every week...