testUsb.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // import { getDeviceList } from 'usb';
  2. const { WebUSB } = require('usb')
  3. // const devices = getDeviceList();
  4. // console.log(666,devices);
  5. const customWebUSB = new WebUSB({
  6. // Bypass checking for authorised devices
  7. allowAllDevices: true
  8. });
  9. customWebUSB.getDevices().then(res => {
  10. for (const device of res) {
  11. if (device.productName.includes('G923')) {
  12. device.open()
  13. // console.log(1,device);
  14. // device.selectConfiguration(1).then(red=>{
  15. // console.log(5,red);
  16. // })
  17. const interface = device.device.interfaces[2];
  18. interface.claim();
  19. console.log(2,interface);
  20. // console.log(6, interface); // WebUSB device
  21. const endpointIn = interface.endpoints.find((ep) => ep.direction === 'in');
  22. endpointIn.on('data', (data) => {
  23. console.log('Received data:', data);
  24. });
  25. endpointIn.on('error', (err) => {
  26. console.error('USB endpoint error:', err);
  27. device.close()
  28. });
  29. console.log(3,endpointIn.startPoll);
  30. endpointIn.startPoll(500); // 调整间隔时间以适应设备通信速率
  31. }
  32. }
  33. })