Skip to content

Latest commit

 

History

History
65 lines (56 loc) · 1.98 KB

README.md

File metadata and controls

65 lines (56 loc) · 1.98 KB

jusbrelay

Multiplatform Java library for USB relay control

Device examples

5v 2 Channel USB Relay Module
5v 1 Channel USB Relay Module

Supported platforms

  • Windows (using vendors API library)
  • Linux (need libusb to be installed)
  • Apple OS X (with pre-installed Xcode and plain IOKit libraries)
    Also Python (CPython) library is available for testing purposes.

How to use?

Add in your pom.xml repository part:

<repository>
   <id>jusbrelay-mvn-repo</id>
   <url>https://raw.github.com/creepid/jusbrelay/mvn-repo/</url>
   <snapshots>
       <enabled>true</enabled>
       <updatePolicy>always</updatePolicy>
   </snapshots>
</repository>

And dependency:

<dependency>
   <groupId>by.creepid</groupId>
   <artifactId>jusbrelay</artifactId>
   <version>0.1</version>
</dependency>

Code examples

UsbRelayManager manager = NativeUsbRelayManager.getInstance();

try {
   //init manager
   manager.relayInit();
   //enumerate devices 
   UsbRelayDeviceInfo[] devices = manager.deviceEnumerate();

   for (int i = 0; i < devices.length; i++) {
      UsbRelayDeviceInfo usbRelayDeviceInfo = devices[i];
      //retrieve device handler            
      UsbRelayDeviceHandler handler = manager.deviceOpen(usbRelayDeviceInfo.getSerialNumber());
      //change relay status
      //turning on the relay, index - channel number
      //Get device status
      UsbRelayStatus[] statuses = manager.getStatus(usbRelayDeviceInfo.getSerialNumber(), handler);
      //close relay
      manager.closeRelay(handler);
   }
} catch (UsbRelayException ex) {
      //catch exceptions
} finally {
      //close manager
      manager.relayExit();
}