Red de conocimiento informático - Aprendizaje de programación - ¿Existe alguna biblioteca o API en Java que transmita datos a través de USB, que requiera que un terminal envíe datos USB en un formato determinado para que el otro terminal pueda recibirlos?

¿Existe alguna biblioteca o API en Java que transmita datos a través de USB, que requiera que un terminal envíe datos USB en un formato determinado para que el otro terminal pueda recibirlos?

API de alto nivel (javax-usb)import?javax.usb.*;

import?java.util.List

public?class?TraverseUSB;

{

public?static?void?main(String?argv[])

 {

probar

{

//?Acceder?a?los?servicios?USB?del?sistema?,?y?acceder?a?la?raíz?

//hub.?Luego?recorrer ?a través?de?root?hub.

UsbServices?services?=?UsbHostManager.getUsbServices();

UsbHub?rootHub?=?services.getRootUsbHub();

traverse(rootHub);

}?catch?(Exception?e)?{}

 }

public?static?void?traverse (DispositivoUsb?dispositivo)

 {

if?(device.isUsbHub())

{?

 //?¿Esto? es?un?concentrador?USB?,?recorra?a través?el?concentrador.

List?attachedDevices?=?((UsbHub)?device).getAttachedUsbDevices();

para ?(int?i=0;?i

 {

 traverse((UsbDevice)?attachedDevices.get(i));

 }

}

else

{

//?Esta?es?una?función?USB?,?no?un?hub.

 //?Hacer?algo.

}

 }

público?estático?void?testIO(Dispositivo USB?dispositivo)

{

prueba

{

//?Acceder?a?la?configuración?activa?del?dispositivo?USB?,? obtener?

//?todas?las?interfaces?disponibles?en?esa?configuración.

UsbConfiguration?config?=?device.getActiveUsbConfiguration();

List?totalInterfaces?=?config.getUsbInterfaces();

//?Atravesar?todas?las?interfaces?y?acceder?a?los?puntos finales?

//?

disponible?para?esa?interfaz?para?E/S.

para?(int?i=0;?i

{

Interfaz USB?interf ?=?(UsbInterface)?totalInterfaces.get(i);

interf.claim();

Lista?totalEndpoints?=?interf.getUsbEndpoints();

 for?(int?j=0;?j

 {

  //?Acceder?al?punto?particular?,?determinar?la?dirección

//?de?su?flujo?de?datos?,?y?el?tipo?de?transferencia?de?datos?,?y?abrir?el?

///?canal?de?datos?para?I/ O.

 UsbEndpoint?ep?=?(UsbEndpoint)?totalEndpoints.get(i);

 int?direction?=?ep.getDirection();

 int?type?=?ep.getType();

UsbPipe?pipe?=?ep.getUsbPipe();

pipe.open();

//?Realice?E/S?a través?del?USB?pipe?aquí.

pipe.close();

}

interf.release();

}

}?catch?(¿Excepción?e)?{}?

}

}