使用Python访问USB硬件(带有本机C++ API的压力传感器矩阵)

2024-05-16 19:13:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个有USB接口的压力感应床垫。制造商为Windows提供USB设备驱动程序,以及用C++编写的API,具有请求数据和设置参数的功能。在

目前,我不能使用这个传感器直接测试一些Python数据可视化脚本,不得不让我的同事为我编写一个文本记录器,然后我用Python离线阅读这些信息。在

另外,我根本不能在传感器上使用Linux,因为没有Linux的驱动程序,我不知道从哪里开始“破解”传感器,这就是为什么我要问:

“如果我尝试直接用Python或者Linux从这个传感器读取数据,我应该先做什么,还是先读取?”在

编辑:设备有一个FTDI驱动程序(FTD2二十、 动态链接库)如果有帮助的话。在

任何帮助都是非常欢迎的


Tags: 数据功能脚本api参数linuxwindows可视化
2条回答

FTDI芯片有一个linux驱动程序。只需登陆FTDI网站下载即可。驱动程序创建一个虚拟串行端口。您可以使用PySerial与它进行接口。在

可惜我没早点看到帖子!在

这是一个HID设备的可能性相当大,在这种情况下,您可能可以开始使用libhid为其编写用户空间linux驱动程序。首先,要列举一个树,该树为您提供有关其功能的信息。(lsusb -vvvExample

如果你不能在linux上使用libusb来编写一个用户空间驱动程序。您需要使用something like usbsnoopreal hardware equivalent来查看官方驱动程序在与设备对话时做了什么,并从那里模拟它。在

从Python方面,您可以使用相对较弱的努力,使用现有的C++ API生成一个象形的包装器,特别是相对于开发一个完全定制的驱动程序。在

更新:

如果它是一个FTDI设备,那么使用它可能会简单得多。根据供应商和产品标识显示的内容,它可能会自动与Linux中的FTDI驱动程序一起工作,并提供USB串行端口。如果没有模块-vendorproduct的参数,我相信您可以使用这些参数使它声明除了它已经知道的pid/vid组合之外的其他设备。从那里你可以尝试用不同的设置打开串行端口设备。幸运的是,它可能已经定期发送州信息了。在

如果它不是你想尝试和发现什么官方软件发送,使它开始播放。你又回到了嗅探的领域,但我认为有可能是在串行层而不是在windows的USB层(尽管我不能说出任何东西)上做这件事。你也可以通过尝试让他们的库使用软件模拟的串行端口而不是FTDI设备来了解它写了什么。在

相关问题 更多 >