使用 Python 将数据写入 USB 扫描仪

Writing data to a USB scanner with Python

我正在利用 Python HID API 尝试将数据写入扫描仪。我想写的具体命令是“A1 04 00”(其中 A1 是 ID 04 是命令,00 是数据)目前我正在按照下面的特定命令格式写入扫描仪。

在代码中,这看起来像 data=[0x05,0x57,0xA1,0x04,0x00,0xFE,0xFF],我使用的是 device.write(data),但是我没有收到扫描仪的响应。我在将 HID 设备与 Python 连接方面没有太多经验,所以我确定我做错了什么,感谢您的帮助!

编辑:根据请求添加代码

import hid
data=[0x05,0x57,0xA1,0x04,0x00,0xFE,0xFF]
VENDOR_ID = 0x24ea
PRODUCT_ID = 0x0197

device = hid.device()
device.open(VENDOR_ID,PRODUCT_ID)
device.write(data)

每个扫描仪文档的校验和算法

0x10000 – [ Length] – [ Source] – [ExID] – [ExCMD] – [D1 + D2 +D3 +…..]

扫描仪数据通过 HID 键盘接口传送给您,但那只是输出。控制序列通过 USB 虚拟串行端口。您将需要使用 pyserial 之类的东西来访问它。找出哪个串行端口是扫描仪可能有点棘手;在你插入之前和之后做ls /dev/tty*来找到它。