Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2017, 21:55   #1
Tsyklop
Пользователь
 
Аватар для Tsyklop
 
Регистрация: 25.08.2014
Сообщений: 11
По умолчанию Получение данных от USB устройств - Java SE, usb4java

Подскажите как реализовать или если есть, то пример реализации, получения данных от usb девайса.
пробовал usb4Java, но нормальных доков не нашел - не могу понять как подключится к устройству. VendorId и ProductID получил - но оно не подключается.
Получаю список устройств:

Bus 002, Device 002: Vendor 09da, Product 3e79
Bus 002, Device 001: Vendor 8086, Product 3b34
Bus 002, Device 003: Vendor 0c45, Product 8603
Bus 001, Device 001: Vendor 8086, Product 3b3c
Bus 002, Device 005: Vendor 1a86, Product 7523
Bus 002, Device 006: Vendor 0ac8, Product c40a
Bus 002, Device 004: Vendor 8087, Product 0020
Bus 002, Device 006: Vendor 0ac8, Product c40a
Bus 002, Device 002: Vendor 09da, Product 3e79
Bus 001, Device 002: Vendor 8087, Product 0020
Bus 002, Device 006: Vendor 0ac8, Product c40a
Bus 002, Device 003: Vendor 0c45, Product 8603
Bus 001, Device 003: Vendor 23a9, Product ef18



Как я понял моё устройство имеет данные:


Bus 002, Device 005: Vendor 1a86, Product 7523


Делаю так:


// Open test device (Samsung Galaxy Nexus)
DeviceHandle handle = LibUsb.openDeviceWithVidPid(null, VENDOR_ID,
PRODUCT_ID);
if (handle == null)
{
System.err.println("Test device not found.");
System.exit(1);
}

// Claim the ADB interface
int result = LibUsb.claimInterface(handle, INTERFACE);
if (result != LibUsb.SUCCESS)
{
throw new LibUsbException("Unable to claim interface", result);
}

// Send ADB CONNECT message
write(handle, CONNECT_HEADER);
write(handle, CONNECT_BODY);

// Receive the header of the ADB answer (Most likely an AUTH message)
ByteBuffer header = read(handle, 24);
header.position(12);
int dataSize = header.asIntBuffer().get();

// Receive the body of the ADB answer
@SuppressWarnings("unused")
ByteBuffer data = read(handle, dataSize);

// Release the ADB interface
result = LibUsb.releaseInterface(handle, INTERFACE);
if (result != LibUsb.SUCCESS)
{
throw new LibUsbException("Unable to release interface", result);
}

// Close the device
LibUsb.close(handle);

// Deinitialize the libusb context
LibUsb.exit(null);



Взято с примеров разраба.

но вылазит ошибка - не подключено.
Tsyklop вне форума Ответить с цитированием
Старый 19.06.2017, 13:39   #2
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Можете мою фиговину попробовать - когда-то давно делал в ООП стиле:

https://github.com/alexzk1/jlibusb


....а вообще, права на девайс у вас есть? У программы просто прав на открытие может не быть.
alexzk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничить подключения USB устройств. S_Yevgeniy Операционные системы общие вопросы 5 31.05.2017 16:17
Получение данных с USB порта на VBA motorway Microsoft Office Excel 2 31.03.2013 18:18
Считывание дескрипторов USB - устройств Dmitry_B Visual C++ 1 03.02.2013 11:44
получение данных от usb устройства перевести ? дмитрий12123 Помощь студентам 4 24.09.2012 14:16
Получение данных (Java, Spring MVC) zhenya.ya Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 2 12.03.2012 14:33