Невозможно получить полный адрес VISA с серийным номером - PullRequest
0 голосов
/ 10 сентября 2018

У меня нет опыта работы с Python, и я пытался узнать, могу ли я запросить информацию с устройства с адресом USB VISA. Я использую Raspbian GNU / Linux 9 (растяжку) с оболочкой Python 3.5.3. Пакеты VISA для python были установлены с использованием 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',)

Вот информация VISA о питоне:

$ 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, оно выдаст еще одну ошибку.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

@ Арун Кумар работал для меня (Linux-4.15.0-34-generic-x86_64-with-Ubuntu-18.04-bionic).Я просто хотел добавить к ответу, что для того, чтобы это работало, мне нужно было создать группу "usbusers":

sudo groupadd usbusers

и добавить себя в группу:

sudo usermod -a -G usbusers USERNAME

Наконец-то перезагрузка ...

0 голосов
/ 10 сентября 2018

Я нашел ответ на свою проблему после обращения к файлу NI-VISA 17.0 read me. Устройства USB не доступны VISA из-за доступа только для чтения. Решение о том, как и какой файл редактировать, было найдено на LinuxQuestions.org и GitHub . Я предпринял следующие шаги:

Чтобы стать пользователем root в системе Linux, в терминале введите команду

sudo -i

и введите пароль для входа в систему, когда его попросят. Затем дайте команду, как указано выше. Пожалуйста, проверьте правильность написания / копирования, прежде чем нажать

В то время как здесь, чтобы редактировать файл разрешений USB, вам нужно дать следующие команды в терминале: Стать пользователем root (как указано выше). Обратите внимание, как изменилась подсказка вашего терминала. Резервное копирование исходного файла:

cp  /etc/udev/rules.d/99-com.rules  /etc/udev/rules.d/99-com.rules.BAK

Откройте файл с помощью редактора nano:

nano  /etc/udev/rules.d/99-com.rules

Отредактируйте файл, добавив следующее:

SUBSYSTEM=="usb", MODE="0666", GROUP="usbusers"

Сохраните изменения с помощью «WriteOut», то есть нажмите Enter, чтобы подтвердить имя файла и местоположение. Затем «Выход», который Вам нужно будет перезапустить udev, чтобы изменения были замечены:

/etc/init.d/udev  restart

Закрыть терминал.

...