我有一个电动的XY显微镜台,目前由操纵杆控制,操纵杆信号被转换成数据并通过电缆( db15 )发送到XY显微镜阶段的马达。我需要用电脑上的命令来移动它,替换操纵杆。
我还有一个USB到DB15转换器"USB游戏端口适配器Rockfire RM-203“,我从这里获得了http://www.rockfire.com.tw/en/products/accessory/usb-accessory/7-rm-203-usb-nest-converter.html,它在人机界面设备中创建了一个符合HID的游戏控制器和一个新的USB输入设备。
我在发送命令时遇到一些问题(比如将电机从X轴的位置0移动到100位置),从我的笔记本电脑到XY显微镜台,我不知道如何将命令从Python3.4发送到电机。
由于我有这个HID,我可以使用pywinusb0.4.1从这里https://pypi.python.org/pypi/pywinusb/,Docs这里https://github.com/rene-aguirre/pywinusb,但我看不出如何发送一个文件到HID
我想我必须识别并打开HID端口,然后编写命令并发送出去,这样马达就会移动,就像我用串行端口代替HID的COM端口一样,它比这个简单得多。
有谁能帮我谢谢
编辑
我在网上查过了一些信息,但很少或根本没有相关的例子。下面是我尝试过的一种方法,How to send hid data to device using python / pywinusb?,但是它不起作用,所以我分成了几个部分,并尝试了这个
from pywinusb import hid
filter = hid.HidDeviceFilter()
print (filter)
hid_device = filter.get_devices()
print (hid_device)
if hid_device:
print("Found %d matching hid devices" + str(len(all_devices)))
else:
print("no hid devices")
hid_device.open()我拿到了这个
<pywinusb.hid.core.HidDeviceFilter object at 0x0000000003FC0240>
{}
no hid devices
Traceback (most recent call last):
File "C:/Users/me/Desktop/other.py", line 15, in <module>
hid_device.open()
AttributeError: 'dict' object has no attribute 'open'因此,可悲的是,尽管键盘、鼠标和USB到DB15电缆是连接的,而且我可以看到它们是在设备管理器上连接的,但这个程序并不识别它们。
这里还有其他例子
https://stackoverflow.com/search?page=1&tab=relevance&q=pywinusb
https://stackoverflow.com/questions/12802401/simple-reading-writing-from-to-a-usb-hid-device-in-python
http://cooder.org/questions/18709253
https://github.com/jrowberg/pywinusb/commit/8a0c7ac0aca6ac66eb944520a2b5e4c538f06a8c
http://www.developerfusion.com/project/31693/pywinusb/
http://nullege.com/codes/show/src@p@y@pywinusb-0.3.3@examples@pnp_qt.py
http://www.developerfusion.com/project/31693/pywinusb/
https://developer.mbed.org/cookbook/USBHID-bindings-不过,我甚至不知道如何识别Python3.4中的电缆
请帮帮忙
发布于 2016-06-03 00:25:29
不过,我试图用这个链接控制MAC5000,我给制造商发了电子邮件,他们说,在做了这么多测试之后,我必须使用设备的“控制盒”,而不是直接从db15端口控制它。虽然这样的db端口有15个引脚,但我不能分别使用USB到GPIB或USB到DB15适配器、python数据包pyvisa和pywinusb。这个控制框有一个串行端口,所以我将使用pyserial发送命令,并从MAC5000获得回复消息。
https://stackoverflow.com/questions/36441417
复制相似问题