如何在没有JS SDK的情况下通过Web Client接口访问设备?

How to access device via Web Client interface without JS SDK?

我有一个带 USB 接口的指纹扫描仪设备。该设备还具有兼容的驱动程序,以及 C、C++、.NET 和 Java

中的 SDK

我想开发一个 Web 应用程序来提供用户界面而不是桌面应用程序。但是没有提供直接的 Javascript 接口 SDK。

那么下面的方法正确吗?

实现此目的的一种可能方法是使用 Node.js Addons

Scanner Device <--DRIVER--><--C++ SDK--><--Node.js server--><--Client side JS/HTML-->

谢谢!

是的,这种方法有一些有效的应用程序,例如使用 node.js 的 rc522 芯片组访问 RFID reader,请参阅 https://github.com/sbrinkmann/rc522-rfid/blob/master/src/rc522.c

您必须安装 node-gyp(node.js 本机插件构建工具)并在连接设备的机器上安装特定于设备的库(请参阅 [=49= 中的项目) ] 以上)

但是,也许有更简单、更通用的解决方案,不需要在目标机器上安装特定于设备的库。这取决于 指纹扫描仪实现的 USB 设备 class

  • 如果它实现了 USB HID 设备(常见的),您可以使用 npm 包访问它的输出 node-hid

  • 如果它实现了一个虚拟 COM 端口 (CDC ACM class) 你可以使用 npm 包 serialport 来访问它的数据

  • ...

您可以通过 lsusb -v | grep bDeviceClass(或 lsusb -v | grep bInterfaceClass 如果在界面级别定义)或图形工具 USBView 在 windows