前言
最近我在用NI USB-6351去收集一些电流电压的物理数据,但是鉴于我现在的工作机只有Linux, 所以打算直接在Linux上面装驱动开搞。
所需要的驱动是NI-DAQ™mx,用DAQ卡来收集电流电压数据。
顺便安装一个LabVIEW。
正文
0. NI设备 与 Linux 的兼容性
在所有东西进行之前,请大家一定要去NI Hardware and Software Operating System Compatibility,查一下自己的设备,到底在当前系统支不支持!!!
没错,我就是这个猪,我直到安装完了,开始测试了,才发现为什么我的设备一直被读取不到,直到我发现了下面这张图片... /(ㄒoㄒ)/~~
1. NI-DAXmax 安装
1.1 Static v.s. Stream
根据原文Installing NI Drivers and Software on Linux Desktop的介绍
- Static: Static repositories are updated only for critical patches. Use a static repository when you need to reproduce a specific software stack.
- Stream: Software in this repository is updated regularly with the latest versions of each driver package as it is released. Use a stream repository to keep all NI drivers and software up to date. Run an update command or an upgrade command on systems that have registered a stream repository to get the latest released version of NI packages.
我这里就太懒了,直接ChatGPT翻译了
- Static: 静态:静态仓库仅针对关键补丁进行更新。当您需要复现特定的软件堆栈时,请使用静态仓库。
- Stream:此仓库中的软件会定期更新,随着每个驱动包的最新版本发布而更新。使用流仓库以保持所有NI驱动程序和软件的最新状态。
因为没有必要对特定软件进行复现,直接Stream就可以,当然了,如果追求稳定性的话,可以考虑Static。我这里选择了Stream。
至于怎么在Ubuntu安装,其实我们主要参考的是这篇文章Installing NI Products (Ubuntu);
如果你是Installing NI Products (Red Hat Enterprise Linux)或者Installing NI Products (openSUSE),点击对应文章即可即可。
1.2 Ubuntu 安装 DAQmx
1. 检查更新
我这里其实并不知道为什么他们要用dist-upgrade
,但是既然用了,我们也用吧:
sudo apt update
sudo apt dist-upgrade
2. 重启系统
3. 下载 NI-DAQ™mx
检查一下MD5 md5sum <filename>
通过 1efd2e688460e9c39ac1a77e22b54051(MD5)
4. 安装NI仓库注册包
上面我们已经下载了.deb
文件,我们直接安装即可
sudo apt install ./filename.deb
或者也可以通过右键.deb
文件的properties
,然后勾选Allow executing file as program
,然后双击.
会弹出下面这个,一样安装即可。
5. 刷新Package list
sudo apt update
6. 安装对应驱动
我们首先去NI Driver Support for Linux Distributions看一下我们需要的驱动具体是怎么命名的.
由于我们想要DAQmx, 根据网站,我们的core package应该是 ni-daqmx
;然后就是一些optional的选项 ni-daqmx-labview-20xy-support
、 ni-daqmx-labview-support
、 libnidaqmx-devel
. Then install all。为了避免以后的麻烦,我这里全都给安装了。
sudo apt install ni-daqmx
sudo apt install ni-daqmx-labview-20xy-support
sudo apt install ni-daqmx-labview-support
sudo apt install libnidaqmx-devel
hmm,我是笨猪, 我一开始还在纳闷为什么ni-daqmx-labview-20xy-support
安装不了。 然后在输入了apt search ni-daqmx-labview
之后,发现 ni-daqmx-labview-20xy-support
,这里 20xy
应该是对应的年份... 比如, ni-daqmx-labview-2021-support
啥的。(笑
8. 安装Hardware Configuration Utility
NI建议安装的,估计是为了测试NI设备用。
sudo apt install ni-hwcfg-utility
9. 构建NI内核驱动程序
sudo dkms autoinstall
10. 重启系统
驱动安装完事儿。(●ˇ∀ˇ●)
2. LabVIEW 安装
2.0 NI-DAQmx 与 LabVIEW 的兼容性
与之前一样,先去NI-DAQmx and LabVIEW Compatibility检查DAWmx与LabVIEW的兼容性。
虽然没有列出2024Q1,但是根据规律,我们只要安装>2024Q1版本的LabVIEW即可。
2.1 Ubuntu 安装 LabVIEW
1. 下载 LabVIEW
这取决于我们的 NI-DAXmx版本,我们的是2024Q1,所以我们的LabVIEW版本也应该至少大于2024Q1, 然后挑选对应的LabVIEW下载。
跑命令md5sum
and sha256sum
检查文件完整性:9275c96123a6a968cd79dbcaeb56fdc4(MD5)
和 185828c4e3eab9c5a63bf6170bdb3545da3dad6bd963c46b645ae1c32d4f7dea(SHA256)
.
完整性没啥问题。
2. 安装LabVIEW仓库注册包
sudo apt install ./filename.deb
3. 刷新Package list
sudo apt update
4. 安装 LabVIEW
看了一下NI的网站Install LabVIEW on Linux Operating Systems, LabVIEW的命名格式如下: ni-labview-<version>-<edition>
搜索一下:
apt search ni-labview-
我也不知道选啥,好多乱七八糟的,直接安装默认的肯定是最对的好吧,直接安装默认的ni-labview
。
sudo apt install ni-labview
发现它自动帮我安装了 ni-labview-2024-core
、 ni-labview-2024-focal-community
、ni-labview-2024-jammy-community
。
5. 重启系统
LabVIEW安装完事儿!
5.5 瞎搞
Ctrl
+Alt
+T
打开terminal, 输入labview
看看。
发现么得。找不到我们的labview,这么奇怪,难道是因为path的问题。但是无论如何,先让我们锁定一下我们的labview文件夹到底在哪。一般会安装在 /usr/local
这个文件夹下,我们直接find
。
sudo find /usr/local -type d -name "*[Ll][Aa][Bb][Vv][Ii][Ee][We]*"
由结果可猜测,我们的labview文件夹是/usr/local/natinst/LabVIEW-2024-64
。
在sudo find /usr/local -type d -name "*[Bb][Ii][Nn]*"
扫了一圈之后,发现可能不是path的问题,因为根本就没找到bin这个文件夹。 他可能就没有提供命令行的功能。
所以它可能是什么执行文件啥的,那么我们直接去文件夹看看吧 /usr/local/natinst/LabVIEW-2024-64
,在这里我们发现了一个labview
和labviewcommunity
。
看看properties, 什么狗屎东西, owner root, group root,全是root权限,这权限控制也太粗糙了。同时,我们发现labview
是labviewcommunity
的快捷方式,这证明我们直接用labview
就可以了。
直接双击labview
,正常打开。
6. 添加.desktop文件给LabVIEW
---如果你没有看我的5.5 瞎搞,那么你可能需要知道如何查询我们的LabVIEW文件所在位置---
查询我们的LabVIEW文件所在位置
sudo find /usr/local -type d -name "*[Ll][Aa][Bb][Vv][Ii][Ee][We]*"
我们的位置是/usr/local/natinst/LabVIEW-2024-64
---如果你看完了我的5.5 瞎搞,可以从这里开始看---
为Labview添加.desktop
文件,通过vim创建一个名为labview.desktop
在文件夹~/.local/share/applications
下:
vim ~/.local/share/applications/labview.desktop
VIM中输入:
[Desktop Entry]
Type=Application
Name=LabVIEW 2024
Exec=/usr/local/natinst/LabVIEW-2024-64/labview
保存,:wq
。然后给labview.dekstop
运行权限:
chmod +x ~/.local/share/applications/labview.dekstop
结束,然后直接能通过桌面打开了。
3. 不相关但可能有用
在我头脑发胀,没有检查到兼容性问题之前,我找到了一些其他可能对于NI device编程有用的东西,这里列一下
- NI Manual NI Get Started
- 命令行工具 DAQmx for Desktop Linux Tools
- Python工具
总结
记录一下,同时有一个很重要的事情,请一定记住:
在做事情之前,永远检查,兼容性问题!
参考
[1] NI USB-6351
[2] NI-DAQ™mx
[3] LabVIEW
[4] NI Hardware and Software Operating System Compatibility
[5] Installing NI Drivers and Software on Linux Desktop
[6] Installing NI Products (Ubuntu)
[7] Installing NI Products (Red Hat Enterprise Linux)
[8] Installing NI Products (openSUSE)
[9] NI Driver Support for Linux Distributions
[10] NI-DAQmx and LabVIEW Compatibility
[11] Install LabVIEW on Linux Operating Systems
[12] NI Get Started
[13] DAQmx for Desktop Linux Tools
[14] How to use PyDAQmx
[15] nidaqmx-python
Q.E.D.