打印

HID上位机开发笔记

[复制链接]
854|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaoyang9992006|  楼主 | 2022-11-4 14:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近参与做了一个扫码设备的上位机软件。
扫码器扫码后读取到数据提交给服务器写入数据库。
那么HID上位机的服务软件该如何写呢?
这里使用Python实现。
相关的资料链接
https://pypi.org/project/hidapi
https://trezor.github.io/cython-hidapi/api.html#device-class
https://trezor.github.io/cython-hidapi/genindex.html
通过PIP的安装方式
pip install hidapi
示例
功能:查找设备,列出所有设备的所有信息

import hid

for device_dict in hid.enumerate():
    keys = list(device_dict.keys())
    keys.sort()
    for key in keys:
        print("%s : %s" % (key, device_dict[key]))
    print()
示例
功能:链接设备、读写操作
try:
    print("Opening the device")

    h = hid.device()
    h.open(0x534C, 0x0001)  # TREZOR VendorID/ProductID

    print("Manufacturer: %s" % h.get_manufacturer_string())
    print("Product: %s" % h.get_product_string())
    print("Serial No: %s" % h.get_serial_number_string())

    # enable non-blocking mode
    h.set_nonblocking(1)

    # write some data to the device
    print("Write the data")
    h.write([0, 63, 35, 35] + [0] * 61)

    # wait
    time.sleep(0.05)

    # read back the answer
    print("Read the data")
    while True:
        d = h.read(64)
        if d:
            print(d)
        else:
            break

    print("Closing the device")
    h.close()

except IOError as ex:
    print(ex)
    print("You probably don't have the hard-coded device.")
    print("Update the h.open() line in this script with the one")
    print("from the enumeration list output above and try again.")

print("Done")




使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

1984

主题

16025

帖子

211

粉丝