我之前没有任何 Python 经验,并试图查看是否可以从具有 USB VISA 地址的设备中查询信息。我正在运行带有 Python 3.5.3 Shell 的 Raspbian GNU/Linux 9 (stretch)。用于 python 的 VISA 包是使用 pip3 安装的:
$ sudo pip3 install pyvisa-py
由于我将设备与 USB 接口连接,因此我也安装了 python USB 包。
$ sudo pip3 install pyusb
当我根据PyVISA 网站使用通用命令时,我可以读取不带序列号的部分 VISA 地址,如下所示:
>>> import visa
>>> rm = visa.ResourceManager()
>>> print(rm.list_resources())
Found a device whose serial number cannot be read. The partial VISA resource name is: USB0::2391::11032::???::0::INSTR
('ASRL/dev/ttyAMA0::INSTR',)
这是python签证信息:
$ python3 -m visa info
Machine Details:
Platform ID: Linux-4.14.62-v7+-armv7l-with-debian-9.4
Processor:
Python:
Implementation: CPython
Executable: /usr/bin/python3
Version: 3.5.3
Compiler: GCC 6.3.0 20170124
Bits: 32bit
Build: Jan 19 2017 14:11:04 (#default)
Unicode: UCS4
PyVISA Version: 1.9.1
Backends:
ni:
Version: 1.9.1 (bundled with PyVISA)
Binary library: Not found
py:
Version: 0.3.0
TCPIP SOCKET: Available
GPIB INSTR:
Please install linux-gpib to use this resource type.
No module named 'gpib'
USB INSTR: Available via PyUSB (1.0.2). Backend: libusb1
ASRL INSTR: Available via PySerial (3.2.1)
USB RAW: Available via PyUSB (1.0.2). Backend: libusb1
TCPIP INSTR: Available
不知道我做错了什么。如何阅读完整的 VISA 资源名称?没有它,即使我尝试使用完整的 VISA 地址强制打开设备,它也会引发另一个错误。