Tag: hid

node-hid不显示所有的USB设备

我正在用这个调用使用node-hid : HID.devices() 并且我应该列出指南中列出的所有连接的USB设备。 结果我得到这个设备列表: [ { vendorId: 1452, productId: 33346, path: 'USB_05ac_8242_6500000', serialNumber: '', manufacturer: 'Apple Computer, Inc.', product: 'Apple IR', release: 22, interface: -1 }, { vendorId: 1452, productId: 567, path: 'USB_05ac_0237_6300000', serialNumber: '', manufacturer: 'Apple Inc.', product: 'Apple Internal Keyboard / Trackpad', release: 144, interface: -1 }, { vendorId: 1452, productId: 567, […]

NodeJS从后台进程读取stdin

我有一个在Ubuntu 12.04 LTS下作为服务运行的节点进程(在/ etc / init下有一个configuration文件)。 该系统运行在一个条形码阅读器连接到的无头x86路由器上。 我需要做的是能够读取来自条形码阅读器的input(就像所有的意图和目的,它的行为就像一个USB键盘),以便它可以发送到远程节点处理,但我想避免parsing原始HIDinput。 现在我正在使用node-hid但解决scheme是暂时的,因为我不知道如何parsing传入的数据缓冲区 – 我已经能够识别模式并将其映射到散列表中,以便当我收到时, 02 00 00 00 00 00 00 00 02 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 我知道我已经从Code39条码读了一个“C”,但这不是可移植的,坦率地说,它太脏了,我几乎感到羞愧。 但是,我所知道的是,操作系统完全能够解码从条形码阅读器接收到的input:我可以使用它在进程处于前台时提供标准stdininput,使用 process.stdin.resume(); process.stdin.setEncoding('utf8'); process.stdin.on('data', function(input) { … }); 我可以高兴地阅读任何来自条码阅读器。 当然,这个过程在后台运行时不起作用,所以我的问题是:是否有办法捕获stdin缓冲区,以便从后台运行的NodeJS进程中读取? 奖金的问题:如果我问的是不可能的,有人可以指点我一个合理的参考/文件,可以让我破译我收到的HIDinput( node-hid只提供数据缓冲区),以便我可以至less写一个便携式的,通用的函数来解码呢? 我相信它已经完成了,我想避免重新发现热水:)

在Windows中获取node-hid工作

我试图让node-hid( https://github.com/node-hid/node-hid )模块在Windows 7上工作。我可以打开一个设备并写入,但是没有数据到达。 我已经validation设备正在发送数据。 我已经挖掘了节点隐藏代码(HID.cc),并尝试了几件事情来实现它: 修改HID :: recvAsync函数在循环中使用hid_read_timeout来查看是否会返回任何内容。 设置阻塞和非阻塞。 改变了缓冲区大小以准确地适应设备发送的内容。 在Windows 8上,使用hid_read_timeout调用更改,这一切工作正常。 我不确定两个系统之间可能发生了什么变化,但是我打算在Windows XP上使用它,所以我不能把它称为好的。 我很难想出如何debugging这个问题的更多想法。 有没有人成功地做到这一点? 有没有更好的select来使用Node.js与HID设备?