web项目与usb设备无焦点通信
Usb2WebSocketService
WebSocket libusb-win32 QT service
最近工作中遇到web项目使用扫码枪的需求,普通的USB接口扫码枪和COM口扫码枪与web通信需要web界面选中焦点才能输出内容。失去焦点后扫码会出现失败的情况。
通过在本机启动websocket服务将usb/com下位机发送信息传输到websocket端口上,web项目通过连接websocket服务获取数据,最终实现无焦点输入。
COM口设备可以直接通过QT的原生类支持实现
USB口设备需要支持HID通用协议,通过libusb-win32驱动拦截USB设备的输入信息,转发到websocket端口上,web项目可以通过连接websocket服务获取USB输入信息
websocket默认端口为9009
libusb-win32安装配置借鉴该文章
https://blog.csdn.net/weijory/article/details/80943950
websocket服务采用qtservice 项目地址
https://github.com/tubaluga/qtservice
安装编译:
本项目为QT项目,在QT 5.14.2 MinGW 7.3.0 32-bit 下编译运行正常
clone项目后用QT打开ConsoleService.pro
选择MinGW 7.3.0 32-bit编译器
编译项目