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的局限性,我觉得是 ...
随机推荐
- Angular的管道
Angular的管道可以看作成是一个数据格式化展示的工具.管道可以将数据格式化显示,而不改变源数据.获取数据可能简单到创建一个局部变量就行,也可能复杂到从WebSocket中获取数据流.一旦取到数据, ...
- java学习之旅(day.21)
HTML 初识HTML HTML: Hyper Text Markup Language(超文本标记语言) 超文本包括文字.图片.音频.视频.动画等 W3C标准 W3C :World Wide Web ...
- kubernetes 之dashboard
部署 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recomme ...
- Python:用tqdm模块绘制进度条
在计算密集型迭代计算中,我们常常需要知道当前的迭代轮次,最传统的方法就是打印当前迭代计数器的轮数.那有没有更好的方法呢?我们可以使用tqdm模块(非py内置,需要单独按照)来在控制台绘制进度条,这样更 ...
- Sublime快速在当前目录下新建文件(advanceNewfile插件)
1.ctrl+shift+p,输入pci,选择第一个,回车 2.输入 advanceNewfile 安装 3.ctrl+alt+n 新建文件自动保存在当前目录下
- B站login-极验逆向
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 https:// ...
- 剑指Offer-52.正则表达式匹配(C++/Java)
题目: 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式. ...
- WIN10 WIN11 12代 13代 大小核 电源选项
WIN10 WIN11 12代 13代 大小核;性能核:电源选项:P-core,E-core; 说明: WIN10 也是能正常用 12,13代大小核的. 方法: 1.右键开始菜单,选择"Wi ...
- C#.NET rabbit mq 持久化时报错 durable
The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=406, text='PRECONDITI ...
- 容器docker技术
我们先看看很久很久以前,服务器是怎么部署应用的! 由于物理机的诸多问题,后来出现了虚拟机. 但是虚拟化也是有局限性的,每一个虚拟机都是一个完整的操作系统,要分配系统资源,虚拟机多道一定程度时,操作系统 ...