Excel HID-USB电子秤程序设计

Excel HID-USB电子秤程序设计,excel,usb,hid,Excel,Usb,Hid,我正在寻找一个程序,可以读取重量的USB规模,即Pelouze 10磅USB便携式规模。我原以为它会有一个虚拟COM端口驱动程序,但它使用的是HID驱动程序。我花了整整一个月的时间在寻找一个程序,它可以帮助我将电子秤的读数转换成微软的Excel。有人能帮我解决问题或给我指出正确的方向吗?我完全不懂编程。非常感谢您提供的任何帮助。我假设USB HID设备的输出在USB主机上的显示方式与输入在键盘上的输入方式完全相同,即在天平稳定时,重量将通过USB发送。这是大多数USB条形码扫描仪的工作方式 如果

我正在寻找一个程序,可以读取重量的USB规模,即Pelouze 10磅USB便携式规模。我原以为它会有一个虚拟COM端口驱动程序,但它使用的是HID驱动程序。我花了整整一个月的时间在寻找一个程序,它可以帮助我将电子秤的读数转换成微软的Excel。有人能帮我解决问题或给我指出正确的方向吗?我完全不懂编程。非常感谢您提供的任何帮助。

我假设USB HID设备的输出在USB主机上的显示方式与输入在键盘上的输入方式完全相同,即在天平稳定时,重量将通过USB发送。这是大多数USB条形码扫描仪的工作方式

如果是这种情况,则天平应在砝码上点火,并在任何激活的应用程序中显示;Excel,如果您希望输入在那里结束


然而,我已经查看了规格和手册,了解了您指定的比例,除非我看的是错误的型号,尽管它是由USB供电的,但我没有看到任何关于它也通过USB进行通信的内容。您有URL或零件号吗?

您需要回答的第一个问题是HID的确切用途。USB描述了一系列广泛的相关协议。USB HID是一个子集,但它仍然涵盖了大量设备。HID规范定义了一个32位“使用”标识符,支持多达40亿种不同类型的HID设备,尽管到目前为止只分配了其中的一小部分


您可能需要的Windows API是。不幸的是,这不是编程文盲的接口

我可以提供一些有用的链接

电子秤使用“HID销售点”USB规范,我在下面提到的博客文章的评论部分可以找到一个链接。我想直接链接,但垃圾邮件预防机制阻止了我

这里有一篇关于C#25磅体重秤的博文:

这篇文章上的评论很有帮助——这就是你找到的地方,还有一条评论显示了如何在不使用完整的HID库的情况下获取数据


祝你的项目好运

对于O/S不直接支持的USB设备,您需要成为程序员,或者需要设备供应商提供的程序。在这种情况下,由于听起来您不是程序员,您应该联系制造商,看看他们是否可以提供任何诊断或测试程序,用于读取和捕获刻度数据。如果幸运的话,这样的程序可以“批处理”并重定向输出,或者类似的东西。祝你好运。

Elane销售一系列USB HID电子秤,并且有一个Windows程序来读取重量。不幸的是,由于Stamps.com,该程序不再免费。价格为15.50美元,我不一定想盲目尝试,但这是:

我编写了一些代码,用Python从Dymo USB刻度盘读取数据。它需要libusb和PyUSB

这个代码非常通用;它应适用于任何只有一种配置的HID设备:

import usb.core
import usb.util

VENDOR_ID = 0x0922
PRODUCT_ID = 0x8003

# find the USB device
device = usb.core.find(idVendor=VENDOR_ID,
                       idProduct=PRODUCT_ID)

# use the first/default configuration
device.set_configuration()
# first endpoint
endpoint = device[0][(0,0)][0]

# read a data packet
attempts = 10
data = None
while data is None and attempts > 0:
    try:
        data = device.read(endpoint.bEndpointAddress,
                           endpoint.wMaxPacketSize)
    except usb.core.USBError as e:
        data = None
        if e.args == ('Operation timed out',):
            attempts -= 1
            continue

print data
对于我使用的DYMO M10标尺,数据包是一个6元素数组,如下所示
数组('B',[3,2,11,255,0,0])

最后两个元素用于计算重量

在千克模式下,克=数据[4]+(256*数据[5]),在磅/盎司模式下,盎司=0.1*(数据[4]+(256*数据[5])


更多信息。

如果你想扮演侦探,这家伙的建议可能会有所帮助:

我自己刚订购了一个动态量表,所以我会发布调查结果

对于C#和使用HidLibrary的动态比例尺来说,这是一段非常好的代码

只需更改供应商ID以匹配您的电子秤

您可以在几分钟内启动并运行


我将它与Dymo S400一起使用。

我编写了我的nodejs版本,并在上分享了代码


它仅在Windows 10中测试。此外,它还内置了一个简单的web套接字服务器模式,以便任何网页都可以连接到它来读取数据

那肯定不是真的。鼠标也是一种隐藏设备,当然不是键盘。非常正确。我习惯于处理扫描仪等问题,并假设天平会跟随键盘设备配置文件,因为它不断发出波动的读数没有多大意义;问题是当电脑需要时,电子秤应该产生读数。键盘和条形扫描仪在事件发生时将事件推送到电脑上。这是假设比例稳定。只要把一个人放在上面,就可以看到一个清晰的例子。这是一个邮件秤,当读数稳定时,它会有一个指示器来显示。我们的Pitney Bowes设备在设备感应到稳定负载时自动打印标签,只需移除物品并放置另一个即可获得下一个标签。我假设一个简单得多的USB设备也会以类似的方式工作。你确定该设备支持USB通信,而不仅仅是电源吗?这是指向电子秤产品页面的链接我很确定它确实通过USB通信,因为它附带了Stamps.com软件。我试过了,它确实在电脑上显示了重量,但我无法将重量导出到Excel。此外,我还使用了SimpleHIDWrite.exe,发现它可以识别刻度,并以十六进制数字的形式显示重量。这篇博客文章非常有用,而且写得很好。不幸的是,博客中的链接已经失效。尽管如此,这个博客还是值得的。看起来博客中使用的HID USB代码已经移动到:链接断开了。如果你有机会在这里分享那篇文章的内容,我在Ubuntu和Mac上测试了它的规模。默认情况下,它不会被识别为HID设备。所以代码在这两个操作系统中不起作用。不确定是否有办法将其强制作为HID设备。也许是一些司机。