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的局限性,我觉得是 ...
随机推荐
- HC32L110(六) AS06-VTB07H V5.0测试板AT指令固件
目录 HC32L110(一) HC32L110芯片介绍和Win10下的烧录 HC32L110(二) HC32L110在Ubuntu下的烧录 HC32L110(三) HC32L110的GCC工具链和VS ...
- mysql-8.4.0解压版安装记录
MySQL 8.4.0解压版安装记录 这几天,安装最新版mysql 8.4的时候,遇到了不少问题,网上的教程大多数都是旧版本的,也安装不成功. 参考了大量教程后,经过自己的摸索终于装好了,这里记录一下 ...
- asp.net core api 3.1 dynamic 入参转json对象
比如接口 public object GetList(dynamic obj){ //var jElement=(JsonElement)obj;//使用system.text.json处理 var ...
- 利用 Helm 在各类 Kubernetes 中安装 Rainbond
利用 Helm 安装 Rainbond 好雨科技技术团队一直致力于让用户更方便的安装 Rainbond 这款产品. 不久前,我们刚刚推出了在一个容器中部署 Rainbond 的快速安装方式,这种方式覆 ...
- mysql忘记密码找回的方法
mysql忘记密码找回的方法: 在找回之前需要对 --skip-networking 参数进行了解 --skip-grant-tables: 关闭mysql验证模块 同时还需要关闭远程连接(避免他人连 ...
- 鸿蒙HarmonyOS实战-Web组件(请求响应和页面调试)
前言 请求响应是指客户端发送请求给服务器,服务器接收到请求后返回的响应.响应包含了服务器处理请求的结果,并将结果返回给客户端. 页面调试是指在开发过程中,通过调试工具分析页面的运行状况,查找问题和修复 ...
- 解决使用`npm install`或`npm i`命令之后报`Unexpected token in JSON at position`错误的问题
网上大多数的教程都是以下几个步骤挨个试一遍,包括 stackoverflow 上也是这么说的 删除node_modules文件夹 删除package-lock.json文件 强制清除npm缓存 npm ...
- Scrapy框架(七)--中间件及Selenium应用
中间件 下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件. 作用:批量拦截到整个工程中所有的请求和响应 - 拦截请求: - UA伪装:proces ...
- Vue学习:3.V标签综合3
接上一篇... V标签综合使用:记事本案例 功能: 在实现列表渲染和删除功能的基础上,增加了数据添加以及数据统计,同时要求底部统计和清空区域在事件数目为0时不显示. 思路: 整体架构分为三部分:头部使 ...
- MAPJOIN中无法使用UDF
今天在写SQL时,遇到了一个异常,提示semantic exception generate map join error unable to find class,udf编写的没毛病,其他SQL也有 ...