| 1 | usb-relay-hid |
| 2 | ============= |
| 3 | |
| 4 | The goal of this project is to provide open-source API for Chinese low-cost USB HID relays |
| 5 | (search on eBay for "5V USB Relay Programmable Computer Control For Smart Home"). |
| 6 | |
| 7 | ![](http://vusb.wdfiles.com/local--files/project:driver-less-usb-relays-hid-interface/relay2.jpg) |
| 8 | |
| 9 | The big advantage of HID-based interface is that no kernel drivers and no simulated COM-ports are needed. It is easy to detect and address the connected devices. |
| 10 | |
| 11 | Unfortunatey, the vendors currently offer only API library for Windows, and only in binary form. |
| 12 | |
| 13 | The main project web page is on the [V-USB wiki](http://vusb.wikidot.com/project:driver-less-usb-relays-hid-interface "driver-less-usb-relays-hid-interface"). This is because the firmware of the device is based on [V-USB](http://www.obdev.at/products/vusb/index.html). V-USB enables amazingly simple and low-cost USB hardware solutions. This repository, however, contains only the host side software. |
| 14 | |
| 15 | License |
| 16 | ------- |
| 17 | |
| 18 | We are not associated with the manufacturer(s) of these devices or author(s) of the original software offered by eBay sellers. |
| 19 | |
| 20 | Our intent is to make this software free; free even from restrictions associated with the GPL. Currently we reuse some code from other V-USB projects, which is dual-licensed: GPL + commercial. Until we remove this code, we cannot set any other license. |
| 21 | |
| 22 | We could not find any copyright information in the software package offered by the eBay sellers. No source code was reused from this package, besides of the C API declaration (the .h file). |
| 23 | |
| 24 | Current state |
| 25 | ------------- |
| 26 | |
| 27 | A simple command-line utility for Linux (x86 or x64) and Windows. |
| 28 | This is enough for our own usage. |
| 29 | |
| 30 | - Windows version builds with VC++ and WDK 7.1 |
| 31 | - Linux version builds with gcc and libusb v. 0.9. Tested on RH and Ubuntu. |
| 32 | |
| 33 | |
| 34 | |
| 35 | To do: |
| 36 | ------- |
| 37 | |
| 38 | * Reconstruct the API library, which will be binary compatible with the original software package. |
| 39 | * Move the Linux variant to modern libusb (1.x) |
| 40 | * Make bindings for Python and Java |
| 41 | * Maybe, reconstruct the GUI utility |