Это может быть проблема, специфичная для Windows. Согласно документации pyvisa , я должен иметь возможность воспроизводить что-то вроде (скопированное непосредственно из docs:)
>>> import visa
>>> rm = visa.ResourceManager()
>>> rm.list_resources()
('ASRL1::INSTR', 'ASRL2::INSTR', 'GPIB0::14::INSTR')
В приведенном выше примере 2 последовательных порта обнаруживаются как ASRL1
и ASRL2
.
Однако на моем компьютере (Windows 7, Python 3.4.4, PyVisa 1.9.1) у меня нет последовательных портов:
>>> import visa
>>> rm = visa.ResourceManager()
>>> rm.list_resources()
('PXI10::0-0.0::INSTR', 'TCPIP0::localhost::hislip0::INSTR')
>>>
pyvisa правильно идентифицирует шасси PXI и HISPLIP TCPIPустройство. Но нет последовательных портов.
А вот вывод консоли от python -m visa info
Machine Details:
Platform ID: Windows-7-6.1.7601-SP1
Processor: Intel64 Family 6 Model 45 Stepping 7, GenuineIntel
Python:
Implementation: CPython
Executable: C:\Python34\python.exe
Version: 3.4.4
Compiler: MSC v.1600 32 bit (Intel)
Bits: 32bit
Build: Dec 20 2015 19:28:18 (#v3.4.4:737efcadf5a6)
Unicode: UCS4
PyVISA Version: 1.9.1
Backends:
ni:
Version: 1.9.1 (bundled with PyVISA)
#1: C:\Windows\system32\visa32.dll:
found by: auto
bitness: 32
Vendor: Keysight Technologies
Impl. Version: 1377151778
Spec. Version: 5244928
py:
Version: 0.3.1
ASRL INSTR: Available via PySerial (3.4)
TCPIP SOCKET: Available
USB INSTR:
Please install PyUSB to use this resource type.
No module named 'usb'
GPIB INSTR:
Please install linux-gpib to use this resource type.
No module named 'gpib'
TCPIP INSTR: Available
USB RAW:
Please install PyUSB to use this resource type.
No module named 'usb'
Если я использую прямые команды pyserial, я могу найти последовательные порты:
>>> import serial.tools.list_ports
>>> ports = list(serial.tools.list_ports.comports())
>>> for p in ports:
... print(p[1])
...
Arduino Mega 2560 (COM5)
Communications Port (COM1)