Ubuntu下的LabVIEW开发
1 虚拟机的安装
我用的是Virtua Box 的虚拟机,当然也有其他的类似软件;下载虚拟机的网址:
https://www.virtualbox.org/wiki/Downloads
自行去下载合适的版本,如下我的版本;

安装步骤按提示一步步来安装即可;我在2年前安装的,忘了记录;
可以参考文档:
https://www.jb51.net/article/94065.htm
https://blog.csdn.net/u012732259/article/details/70172704

2 在虚拟机中安装Ubuntu系统
2.1下载Ubuntu的系统镜像:
官网:https://cn.ubuntu.com/download
注意:不建议下载最新的版本,由于我后面要配套LabVIEW的开发,所以采用Ubuntu2204+LabVIEW2022Q3的配置。这就是Linux系统要特别注意安装包的版本兼容问题。
下载得到:https://cn.ubuntu.com/download
2.2 虚拟机新建与安装

按提示一步步进行即可,注意的是新建虚拟硬盘的时候,不要设置太小,内存等也设置合适。否则后面引起不必要的问题。如下我的设置:


3 在Windows和Ubuntu系统间共享文件
3.1首先得保证windows和Ubuntu能互相Ping通:
设置虚拟机网卡是关键,关闭防火墙:

3.2设置共享文件夹:

3.3挂载文件夹:
(1)临时挂载:
Ubuntu系统按下ctrl+Alt+t进入终端,输入指令:
sudo mount -t vboxsf DataSets share
输入你的密码;
前提是你新建了一个在Home下面share文件家哈,且在home界面开启终端,忘了说了;
即可完成挂载,此时就可以看到windows这边共享的文件了。

(2)Ubuntu开机自动挂载:
点击Ubuntu系统:

进入路径,打开文件:Computer/etc/fstab编辑:

这里的- 1 , 2按自己的设置填写,1是Windows共享文件夹 , 2是Ubuntu要挂载的目的地
保存文件,重启就会发现开机自动挂载好了。
4 LabVIEW的安装
4.1去NI官网下载Linux版本的LabVIEW;
我这里下载2022 Q3社区版本,注意下载需要注册NI账号。

下载完成得到:
4.2将iso文件挂载出来
Ubuntu先建立一个空文件夹lv2022,然后终端使用指令,这两部都可以用指令来执行;
打开终端:

输入指令:
sudo mkdir lv2022 //新建一个文件夹
sudo mount -o loop 'iso的路径' '刚新建的那个路径' //这俩路径你可以手动输入,也可以鼠标拖拽。

说明:过程中可能会提示如我下图所示的一些错误提示,主要问题在于权限,这个在Linux系统下特别留意下。 我的解决思路,一般如下:
(1)重新把提示你没权限的文件夹或文件,复制一份到桌面,然后去操作;
(2)操作就是鼠标右键属性,修改:


当然,也可以通过指令设置权限,大家遇到自行去搜索。一个链接给大家参考:https://blog.csdn.net/s13227843385/article/details/80784881
4.3安装LabVIEW
下载下来的默认是.rpm格式文件,这个资料是用在Linux其他几个衍生版本的系统安装文件,比如Redhat,Debian等;现在是Ubuntu系统,毫无疑问,直接安装就会出错。这一章节,我们参考文档:
https://blog.csdn.net/qq_38486824/article/details/121055388
这个讲的比较详细,参考它一步步去安装。
4.4在桌面建立一个LabVIEW快捷方式
4.4.1进入如下路径找到这个LabVIEW的快捷方式文件

4.4.2复制该文件到桌面
4.4.3记事本来打开该文件,修改路径:

为

4.4.4保存(另存为)新的文件
4.4.5右击文件选择“Allow Launching”

图标变成彩色,即OK;
提几个要注意的点:``
(1)所以得rpm文件得全部转换成功,如果有一个出错变不正常。 我在2个不同的版本的Ubuntu系统转换过,有一次永远会有那么几个文件转化不成功。
最后我是从之前转化好的文件拷贝过来的。 当然我想应该这样可以解决:
解决apt-get安装中的E: Sub-process /usr/bin/dpkg returned an error code (1)问题
在用apt-get安装软件包的时候遇到E: Sub-process /usr/bin/dpkg returned an error code (1)问题,解决方法如下:
点击查看代码
cd /var/lib/dpkg/
sudo mv info/ info_bak # 现将info文件夹更名
sudo mkdir info # 再新建一个新的info文件夹
sudo apt-get update # 更新
sudo apt-get -f install # 修复
sudo mv info/* info_bak/ # 执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_bak文件夹下
sudo rm -rf info # 把自己新建的info文件夹删掉
sudo mv info_bak info # 把以前的info文件夹重新改回名
到此问题得以顺利解决。
参考:https://www.cnblogs.com/nkh222/p/8126455.html
(2)其实可以不用删除原来的.rpm文件,不影响后续的LabVIEW安装。
5 NI-VISA的安装
5.1下载VISA
这里要注意的是,VISA版本与Ubuntu版本的匹配问题,我的Ubuntu是2204,查阅资料,对应的比较合适的VISA2023Q3;
下载地址:https://www.ni.com/zh-cn/support/downloads/drivers/download.ni-visa.html#487486


5.2NI-VISA 安装与配置:
- 下载设备驱动程序安装包:下载NI Linux设备驱动程序 - NI ,这个安装包支持 Ubuntu 18.04 / 20.04,需要注意的,安装包支持的内核版本与你所使用的 Ubuntu 的内核版本必须相同,否则会安装失败,可以在下载页面上点击 “查看自述文件” 查看安装包支持的内核版本,如果内核版本不一致,可以在下载页面上选择其它版本的安装包;
查看 Ubuntu 内核版本:
uname -r
2. 安装 NI-VISA:解压下载的安装包,在解压后的路径下运行下面的命令:
sudo apt install ./ni-ubuntu1804firstlook-drivers-2021Q4.deb
sudo apt update
sudo apt install ni-visa
3. 如果你使用的操作系统是 Ubuntu 20.04 / 22.04,请执行下面这些命令,这样做的目的是让普通权限用户也能访问 USB 仪器,Ubuntu 18.04 用户请略过此步。
sudo mkdir /etc/udev/agents.d
sudo mkdir /etc/udev/agents.d/usb
sudo ln -s /usr/lib/x86_64-linux-gnu/ni-visa/usb/nivisa_usbraw /etc/udev/agents.d/usb/
sudo ln -s /usr/lib/x86_64-linux-gnu/ni-visa/usb/nivisa_usbtmc /etc/udev/agents.d/usb/
sudo ln -s /usr/lib/x86_64-linux-gnu/ni-visa/usb/nivisa_usbtmc.rules /etc/udev/rules.d/
4. 禁用 Ubuntu 系统原生的 usbtmc 模块,因为这个模块会独占仪器的 USB 资源,导致 NI-VISA 无法访问仪器,使用下面的命令禁止 usbtmc 模块加载:
$ sudo su
echo 'blacklist usbtmc' > /etc/modprobe.d/nousbtmc.conf
- 收藏或标记本文,然后重启 Ubuntu
reboot
上述的指令供参考,具体需要依据实际情况修改文件名,路径等。
5.3安装过程中可能会遇到的问题
某些步骤报错的解决方法:


最后安装成功:


5.4visa测试
这一章节可以参考小草的文档:https://www.sohu.com/a/257854802_712029
其中最后设计到的visa的串口用putty等工具可以通信,而lavbiew依然报错:

这个问题解决方法:参考文档https://blog.csdn.net/c417469898/article/details/117510172
1.问题描述
最近在Linux/ubuntu使用串口设备,发现无法通过串口给Tof相机启动程序,权限不足的问题。
假设串口设备是 /dev/ttyUSB0,那么可以在终端下输入
sudo chmod 666 /dev/ttyUSB0
1
但是每次重新插拔串口设备,或者重新启动电脑都要重新更改权限,很不方便,于是整合了了插入后自动设置权限的方法。
- 解决方法(一)
2.1 其中gedit用vim打开
sudo gedit /etc/udev/rules.d/70-ttyusb.rules
1
2.2 在该文件中添加如下一行(可能不存在此文件而创建一个新文件)
KERNEL==“ttyUSB[0-9]*”, MODE=“0666”
2.3 重启系统即可
这样ttyUSB0-ttyUSB9默认的权限都变成了666,普通用户也可以读写串口了。
- 解决方法(二)
另一种是将该用户添加至dialout用户组,因为tty设备是属于dialout用户组,所以将用户添加到dialout用户组,该用户就具备了访问tty设备的权限;
3.1 查看串口信息
$ ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 4, 64 Jun 2 18:39 /dev/ttyUSB0
1
2
3.2 查看当前用户名
$ whoami
1
3.3 当前用户加入到dialout用户组
sudo usermod -aG dialout username
1
3.4 最后重启系统即可

6 END
至此,Linux下的LabVIEW开发环境搭建完成;

感谢网上无私分享经验的同学,感谢群里讨论的同学,感谢身边一起讨论的同事。
知识在于传播,技术在于积累,沟通使得二者有无限可能。
与君共勉!

Ubuntu下的LabVIEW开发的更多相关文章
- Ubuntu下的PHP开发环境架设
Ubuntu下的PHP开发环境架设 今天重新装了ubuntu那么就吧过程记录下. 打开终端,也就是命令提示符. 我们先来最小化组建安装,按照自己的需求一步一步装其他扩展.命令提示符输入如下命令: ...
- ubuntu下安装 openssl 开发库
ubuntu下安装 openssl 开发库 检查是否已安装openssl: sudo apt-get install openssl 如果已安装执行以下操作:sudo apt-get install ...
- ubuntu下搭建JAVA开发环境【转】
转自:http://jingyan.baidu.com/article/86fae346b696633c49121a30.html JAVA开发环境是一种跨平台的程序设计语言,可以在windows.L ...
- 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)
. 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...
- ubuntu下安装stm32开发环境
在windowns下开发stm32刚开始学最烦的就是创建工程模板,都不知道为什么要那样设置,而且步骤繁多.现在我告诉大家一个好消息,在linux下配置stm32开发环境包括创建工程,使用JLink仿真 ...
- ubuntu下搭建android开发环境之超顺畅模拟器
如果说android系统的卡,像耳边蚊子让人抓狂,那么android模拟器的卡,那就像午睡时的苍蝇.大概就是一样的恶心~~ 那么,这样的问题对于开发者肯定忍无可忍,我也一样,虽然我还没有入门,但我也一 ...
- 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解
. 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...
- Fedora和Ubuntu下安装OpenGL开发环境配置
Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...
- Ubuntu下搭建java开发环境
JDK安装: 1. 在http://www.oracle.com/technetwork/java/javase/downloads/index.html上下载相应版本的JDK环境,这里我使用的是jd ...
- 在ubuntu下设置eclipse开发STM32等嵌入式设备
之前为了能够让ROS与底层能够顺利通讯,我采用可开源开发板arduino ,因为arduino有ROS的库,能够按照ROS wiki上所给的教程就可以顺利的开发,但由于arduino的局限性,我觉得是 ...
随机推荐
- CentOS7 升级 curl 到 HTTP2
目录 文章目录 目录 编译安装 YUM 升级 编译安装 安装编译环境: yum -y groupinstall "Development Tools" yum -y install ...
- Git 合并冲突
目录 文章目录 目录 合并冲突 合并分支 合并最近的两次提交 合并冲突 步骤: git status 找到冲突的文件 将冲突去除 将冲突文件重新加入临时区 git add egis/api/v1/ro ...
- Kubernetes:kubelet 源码分析之探针
0. 前言 kubernetes 提供三种探针,配置探针(Liveness),就绪探针(Readiness)和启动(Startup)探针判断容器健康状态.其中,存活探针确定什么时候重启容器,就绪探针确 ...
- MySQL 字段截取拼接
@ 目录 前言 需求: 拼接函数: 截取函数: 总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i. 提示:以下是本篇文章正文内容,下面案例可供参考 需求: 将数据库中的某一个字段的 ...
- P1746 离开中山路
传送锚点:https://www.luogu.com.cn/problem/P1746 题目背景 <爱与愁的故事第三弹·shopping>最终章. 题目描述 爱与愁大神买完东西后,打算坐车 ...
- [NOIP2004 普及组] 火星人
传送锚点:https://www.luogu.com.cn/problem/P1088 题目描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明 ...
- Java应用的优雅停机
一. 优雅停机的概念 优雅停机一直是一个非常严谨的话题,但由于其仅仅存在于重启.下线这样的部署阶段,导致很多人忽视了它的重要性,但没有它,你永远不能得到一个完整的应用生命周期,永远会对系统的健壮性持怀 ...
- WPF使用WPFMediaKit/AForge调用摄像头示例 .net core 8.0 也支持
调用摄像头使我们经常会用到的一个功能,可以根据摄像头捕捉到的图像进行分析处理来做很多的东西,比如电子档案.图像识别.AI分析等等. 本示例中主要介绍Nuget最常用的两个调用摄像头的轮子 WPFMed ...
- 微信小程序预约视频号直播
一.概述 微信小程序提供了可以唤起预约视频号直播弹窗的接口 reserveChannelsLive,该接口接收一个参数 noticeId,通过 getChannelsLiveNoticeInfo 接口 ...
- dom基本获取 标签文本操作
// 总结: // 1, 通过id属性值,获取标签对象 // document.getElementById() // 一个标签对象 ...