如何将命令从 Python 3.4 发送到带 db15 输入插座的电动 XY 显微镜载物台
How to send commands from Python 3.4 to a Motorized XY Microscope Stage with db15 input socket
我有一个电动 XY 显微镜载物台,目前由操纵杆控制,操纵杆信号转换为数据并通过 db15 电缆发送到 XY 显微镜载物台中的电机。我需要用我电脑的命令来移动它,更换操纵杆。
我还有一个 USB 转 DB15 转换器 "USB Game Port Adapter Rockfire RM-203",我从这里得到的
http://www.rockfire.com.tw/en/products/accessory/usb-accessory/7-rm-203-usb-nest-converter.html
它在人机界面设备中创建了一个符合 HID 标准的游戏控制器和一个新的 USB 输入设备
我在从我的笔记本电脑向 XY 显微镜载物台发送命令(假设将电机从 X 轴的位置 0 移动到位置 100)时遇到一些问题,我不知道如何从 Python 3.4 到电机。
因为我有这个 HID,所以我可以从这里使用 pywinusb 0.4.1 https://pypi.python.org/pypi/pywinusb/, Docs here 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://whosebug.com/search?page=1&tab=relevance&q=pywinusb
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-
不过,我什至不知道如何识别 Python 3.4
中的电缆
请帮忙
没关系,我正试图通过这个 link 控制 MAC5000
http://ludl.com/?portfolio=mac-6000
我已经给制造商发了邮件,他们说可能在执行了所有测试之后我必须使用设备的 "control box" 而不是试图直接从 db15 端口控制它。虽然这样的数据库端口有 15 个引脚,但我不能使用 USB 到 GPIB 或 USB 到 DB15 适配器,python 分别将 pyvisa 和 pywinusb 包。这个控制盒有一个串行端口,所以我将使用 pyserial 发送命令并从 MAC5000 获取回复消息。
我有一个电动 XY 显微镜载物台,目前由操纵杆控制,操纵杆信号转换为数据并通过 db15 电缆发送到 XY 显微镜载物台中的电机。我需要用我电脑的命令来移动它,更换操纵杆。
我还有一个 USB 转 DB15 转换器 "USB Game Port Adapter Rockfire RM-203",我从这里得到的 http://www.rockfire.com.tw/en/products/accessory/usb-accessory/7-rm-203-usb-nest-converter.html 它在人机界面设备中创建了一个符合 HID 标准的游戏控制器和一个新的 USB 输入设备
我在从我的笔记本电脑向 XY 显微镜载物台发送命令(假设将电机从 X 轴的位置 0 移动到位置 100)时遇到一些问题,我不知道如何从 Python 3.4 到电机。
因为我有这个 HID,所以我可以从这里使用 pywinusb 0.4.1 https://pypi.python.org/pypi/pywinusb/, Docs here 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://whosebug.com/search?page=1&tab=relevance&q=pywinusb
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-
不过,我什至不知道如何识别 Python 3.4
中的电缆请帮忙
没关系,我正试图通过这个 link 控制 MAC5000 http://ludl.com/?portfolio=mac-6000 我已经给制造商发了邮件,他们说可能在执行了所有测试之后我必须使用设备的 "control box" 而不是试图直接从 db15 端口控制它。虽然这样的数据库端口有 15 个引脚,但我不能使用 USB 到 GPIB 或 USB 到 DB15 适配器,python 分别将 pyvisa 和 pywinusb 包。这个控制盒有一个串行端口,所以我将使用 pyserial 发送命令并从 MAC5000 获取回复消息。