IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux下使用Pyvisa连接GPIB设备【Linux】【pyvisa】 -> 正文阅读

[系统运维]Linux下使用Pyvisa连接GPIB设备【Linux】【pyvisa】

前言

作为一个刚刚开始接触硬件的萌新,所以希望能够通过自己的踩坑记录,让后来者能够减少踩坑的次数。有讲的不对的,或者有其他建议的,希望大佬们不吝赐教。

快速开始

安装

安装keysight I/O suite。

pyvisa依赖I/O库来跟硬件设备进行通信,所以我们需要一个visa库来进行命令的转发

1.安装链接:https://www.keysight.com.cn/cn/zh/lib/software-detail/computer-software/io-libraries-suite-downloads-2175637.html。
2.只需要安装IOLS即可,另外一个驱动提供了其他的功能,不在本次的讨论范围。(关于安装的话,没有特别需要注意的,安装的位置默认是在/opt/keysight下)
None

安装pyvisa

因为在linux上,所以为了不影响其他用户,这里使用-U进行非全局安装。

pip install -U pyvisa

Demo

获取已连接设备

import pyvisa as visa

# 显示所有的已连接设备,方便后续连接
rm= visa.ResourceManager()
list_instr = rm.list_rrsources()
print(list_instr)

这里有一个坑,就是在rm= visa.ResourceManager(),这里如果不传入参数,pyvisa会自行寻找存在的visa库,进行连接,但是我自己在安装完成之后,环境变量没有自动设置,所以就会报错。报错内容是:ValueError: No class registered for InterfaceType.gpib, INSTR
这时候就需要手动去指定我们需要使用的visa库,这里安装的keysight visa库的路径默认是/opt/keysight/iolibs/libktvisa32.so

  1. 第一种办法是在rm= visa.ResourceManager(visa_path) 在创建rm对象的时候手动传入

    rm= visa.ResourceManager('/opt/keysight/iolibs/libktvisa32.so')
    
  2. 第二种就是设置环境变量,因为pyvisa在扫描的时候,实际上会首先扫描PYVISA_LIBRARY这个环境变量是否存在,有的话,就会使用这个环境变量指定的visa库进行后续工作。

    export PYVISA_LIBRARY = /opt/keysight/iolibs/libktvisa32.so
    

最后我这边的结果如图所示:
在这里插入图片描述

连接在上一步查询到的设备

# 理论上通过visa库是可以连接很多中串口的设备的,具体的因为我这边没有做过测试,不做延伸。
fgen = rm.open_resource('GPIB0::1::INSTR')
# 使用这个命令就可以测试是否连接成功,成功的话就可以打印设备的一些信息。
print(fgen.query('*IDN?'))

补充

如果没有真实设备的话,实际上可以安装pyvisa-sim,这个是跟pyvisa同一个团队开发的提供simulator功能的python库。

自此,一个简单的Demo就完成了。
感谢观看。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 17:01:55  更:2022-07-17 17:03:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 16:43:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码