Added readme
[usb-relay-hid.git] / README.md
CommitLineData
3fef637d
P
1usb-relay-hid
2=============
3
e0716ab3 4The 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
9The 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
11Unfortunatey, the vendors currently offer only API library for Windows, and only in binary form.
12
13The 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
15License
16-------
17
18We are not associated with the manufacturer(s) of these devices or author(s) of the original software offered by eBay sellers.
19
20Our 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
22We 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
24Current state
25-------------
26
27A simple command-line utility for Linux (x86 or x64) and Windows.
28This 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
35To 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