Skip to content

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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();
}

About

Multi-platform library for USB relay devices management on Java

Topics

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages