原标题:如何让LabVIEW程序运行在树莓派3B(此处有坑)

上次转载了LabVIEW部署树莓派的文章后,很多小伙伴很兴趣,一个个都说要把压箱底的树莓派拿出来清下灰尘,也不知道到底拿出来没有。

放个之前文章链接如下:

零基础上手树莓派+免费正版LabVIEW Community Edition

有小伙伴在留言区提问:

1,教程是4B的板子,那么能不能运行在3B板子上,毕竟4B刚出来,手里3B存货还想继续用。

2,程序能不能独立脱离PC运行?

还是先说答案:

1, 能运行在3B。

2,程序是 独立运行在树莓派上的。类似NI的的Crio和Myrio的RT系统。

正好,我手里有个3B+。如果经常关注我的文章,大家可以看到,很久以前我发过一个文章:

LabVIEW通过WIFI远程控制树莓派

上述文章中,我在 树莓派端用 python来写了个程序,控制LED的亮灭。 PC端用 LabVIEW的TCP网络连接树莓派进行远程控制。

那么,问题来了,学LabVIEW的人,还要单独学python语言给树莓派编程?

人生苦短,能用LabVIEW一种语言搞定的,就不要用2种语言。

但是,虽然有前人之路,但是果实也不是随便就能摘到自己手里,前进的道路是曲折的。

上次文章发布后,有小伙伴就留言了,说3B安装失败,过了一个星期后,才说留言说安装成功了。至于怎么安装成功的,他也 说不明白,可能是网速问题,也可能是删除了啥文件后才成功。

总之,这个安装使用过程很玄。这种感觉,很多学LabVIEW的人估计都有:忽然不知道怎么的,程序就不好使了;忽然又不知道怎么的,程序又好使了?对于这种情况,建议运行程序前 要烧柱香。

首先,参考之前的那篇文章,进入LINX这个配置界面,连接树莓派后,点击这个upgrade。这个是关键步骤,它会在树莓派里安装一个LabVIEW RT的软件,这个软件安装成功,才有后面的事,不然,会像前面那个小伙伴一样,折腾一星期或者更久。

我比较幸运,折腾了2天而已(就周末这两天),曾经也试图放弃。但是想想,这不是我的风格,我就是要实践出来。在LINX的Installation界面中,总是运行到install LabVIEW时候,提示failed,还提示让我到LINX论坛去查找原因,其实我去了论坛,然而并没有找到答案。

于是,通过查看树莓派的源,发现这个LINX软件,会在源里新增一个源地址。

http://feeds.labviewmakerhub.com/debian/ binary/

然后去这个地址去搜索,目录如下。

从这个目录可以看出,其实源里是自动下载了这个20.0.0-4。注意LINX那个Upgrade界面的版本,就是这个版本。

于是,我尝试把这个20.0.0-4版本,下载到树莓派中,使用命令行安装。

然而安装不上,提示我有个旧版本的lvrt14.1。忽然想起,在两年前,我尝试过LINX,然后失败了,但是这个lvrt14.1安装上了,虽然当时没运行成功。于是我用Remove命令删除了这个老版本,然后继续运行上述的命令,居然成功了。

回到Installation界面,点击Upgrade,等待了很久,提示Target rebooting,又等了2小时(其实我是睡了个午觉),依旧这个提示, 并没有按照之前教程提示的,在Installation Version出现 版本。

此时,我的心情是沮丧的,我又继续试了好多次,依旧是同样的情况?

难道 这个树莓派的人生就这样了?

我感觉还是可以拯救下,不应该是这样的,所以我点了下这个Upgrade右边的按钮Launch Example。

程序自动打开了一个Project文件,和一个vi文件。这个Project的分类,相信用过NI的Crio或者MyRIO或者其他类似嵌入式硬件的人,会很熟悉。

一般的,对于NI嵌入式设备,运行在My Computer目录下的vi是运行在PC,运行在Raspberry Pi(或者Crio)目录下的程序是运行在对应硬件的RT(今天不提FPGA),连接NI的CRIO时候,也可以有个类似的部署,界面和这个树莓派的一模一样。

恩,看结果,居然连接部署成功了,恩恩,此处应有掌声

于是我运行下范例。运行范例前,先按提示,在树莓派的Pin7上接一个LED,在界面上点击按钮,对应的LED会亮和灭。

大家可以通过电脑摄像头观察到,点击按钮时候,对应的 LED亮灭了。恩恩,但是如何证明程序是单独运行在树莓派上的?大家不要着急,继续往后看。

我们把按钮触发LED亮灭换成程序自动的亮灭,很简单,用移位寄存器布尔取反,间隔500循环一次。编程步骤如下所示。

如下图所示,我的树莓派是有线网络连接的,我现在 粗暴地拔掉网线。

拔掉网线后,led依旧闪烁。只是LabVIEW这边弹出提示,树莓派没响应,是否等待然后断开。

一般而言,当我们PC端程序关闭或者停止后,树莓派的程序也一样停止的。难道要用拔网线这种粗暴方式才能让树莓派程序一直运行?当然不是。

用过NI的RT设备的小伙伴都知道,RT设备可以设置上电自启动运行。也就是说,硬件一 上电,程序就会自动运行。那么如何在树莓派实现对应操作?也就是一上电,LED就闪烁,不需要我们在PC端的LabVIEW在执行连接部署工作。

接下来,要对vi生成exe应用程序。

然后,和电脑端生成exe一样,配置Source File,例如,下图把范例的vi添加到启动vi中。

然后,build后,会弹出和PC生成exe一样的进度窗口。如下图。

在生成的exe上右键,点击 Run as Startup,设置为上电就启动,这个操作和Crio等NI嵌入式设备等一样。

设置后,又有一堆下载的文字信息提示,然后提示重启。这样,我们给树莓派一上电,LED就会闪烁了。

这样, 一个简单的、独立地运行在 树莓派3B+的L abVIEW程序就完成了。另外,树莓派里也可以使用TCP编程,这样,就可以 替代我以前 Python编写的 TCP服务端程序,全部用LabVIEW来编写了。

在折腾过树莓派后,如果后续大家有机会接触NI的RT设备,基本就轻车熟路, 一模一样的操作。

最后,感谢常州的微信名叫小强的朋友,他给我发来一段用LabVIEW在树莓派部署网络服务器,并在 手机端网页控制树莓派LED的视频。我这个3B+板子的摸索,也是他测试成功我,我才来折腾的,虽然我们 遇到的坑不一样。

如今智能家居物联网是热门,使用LabVIEW在 树莓派建立网络服务器,比使用网上其他方法简单多了。其他语言使用Python或者php的居多,然后下载各种软件,但是LabVIEW不用。具体的方法后续有时间再写,虽然文章篇幅不长,但是已经写了 3个小时了...

总之,在树莓派3B+上运行LabVIEW,也是各种折腾了,终于可以使用了。

希望想玩树莓派的小伙伴,能少折腾吧,毕竟可能遇到的问题都不一样。这里只是分享我的折腾过程,感觉有帮助的,请点个赞。返回搜狐,查看更多

责任编辑:

树莓派3b写PHP代码可以吗,如何让LabVIEW程序运行在树莓派3B(此处有坑)相关推荐

  1. gpio引脚介绍 树莓派3b_如何让LabVIEW程序运行在树莓派3B(此处有坑)

    上次转载了LabVIEW部署树莓派的文章后,很多小伙伴很兴趣,一个个都说要把压箱底的树莓派拿出来清下灰尘,也不知道到底拿出来没有. 放个之前文章链接如下: 零基础上手树莓派+免费正版LabVIEW C ...

  2. 树莓派Java程序运行_树莓派上Java程序作为linux服务并开机自动启动

    http://www.iigrowing.cn/shu_mei_pai_shang_java_cheng_xu_zuo_wei_linux_fu_wu_bing_kai_ji_zi_dong_qi_d ...

  3. C#写的WebServices可运行于树莓派

    阅读目录 Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器 Raspkate项目 演示 回到目录 Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器 最近在业 ...

  4. Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器

    最近在业余时间玩玩树莓派,刚开始的时候在树莓派里写一些基于wiringPi库的C语言程序来控制树莓派的GPIO引脚,从而控制LED发光二极管的闪烁,后来觉得,是不是可以使用HTML5+jQuery等流 ...

  5. 朱晔的互联网架构实践心得S2E2:写业务代码最容易掉的8种坑

    我承认,本文的标题有一点标题党,特别是写业务代码,大家因为没有足够重视一些细节最容易调的坑(侧重Java,当然,本文说的这些点很多是不限制于语言的). 1.客户端的使用 我们在使用Redis.Elas ...

  6. 太赞了,使用应用魔方 AppCube,我没有写一行代码就开发出了一款投票微信小程序

    低代码开发近些年非常火热,所谓低代码开发就是无需写太多的代码甚至有些简单应用不用写代码就能构建出一款应用,低代码开发平台非常多,其中我比较熟悉的就是华为的应用魔方 AppCube,本文就带着大家用应用 ...

  7. LabVIEW程序代码更新缓慢

    LabVIEW程序代码更新缓慢 LabVIEW在加载大型VI时会导致响应缓慢.当在前面板或框图上移动一个控件或函数时,它会挂起一秒钟,或者移动得非常缓慢.偶尔,当已打开程序框图时,有些连线会显示不全, ...

  8. 树莓派IO口驱动代码的编写、微机总线地址、物理地址、虚拟地址、BCM2835芯片手册

    地址总线: 百度百科解释: 地址总线 (Address Bus:又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/ ...

  9. 手把手带你入坑树莓派(3B+)之第二篇,使用Putty与电脑VNC远程控制树莓派

    上一篇(https://blog.csdn.net/Smile_h_ahaha/article/details/84997205)说到如何从一个空的或者没有的SD卡安装树莓派的官方Rasbian系统. ...

最新文章

  1. hdu2236 无题II 最大匹配 + 二分搜索
  2. JavaScript奇技淫巧44招(2)
  3. 信息系统项目管理知识--项目成本管理
  4. 19-6/28作业:100以内偶数求和
  5. Angular JS 列表修改
  6. windows安装版mysql_windows下非安装版 mysql配置
  7. Kubernetes学习之路目录
  8. 贪心算法——数列极差
  9. Python 标准库 —— socket(网络编程)
  10. Process Explorer 进程管理及排错利器(上)
  11. 大数据信息安全问题有哪些
  12. mysql崩 数据同步_MySQL5.7 大大降低了半同步复制-数据丢失的风险
  13. 银行活期存取款业务处理系统的数据流图
  14. 携程、艺龙、酷讯演绎在线旅游三国志
  15. 张静君的“商脉通”和企业博客
  16. A Persona-Based Neural Conversation Model论文
  17. 安装hmc会依赖bios时间吗_Vmware 5.5下安装HMC7.3.2并安装Vmware tools
  18. Coda:从我们周围的结构中学习
  19. HP DL380G9服务器故障排除--post、F10
  20. json和字典之间的转换

热门文章

  1. Linux下如何判断服务器是虚拟机还是物理机?
  2. 开讲啦:Chap 10 对文件的输入输出
  3. 用户旅程图与服务蓝图:到底有什么区别?
  4. 呼叫中心话务量预测有哪些试用方法
  5. Selenium之PO设计思想
  6. python 文本相似度计算函数_一文讲述常见的文本相似度计算方法
  7. 我的世界1.8服务器修改皮肤,我的世界1.8皮肤怎么换 1.8皮肤替换教程
  8. 小精灵定时关机 官网
  9. 大数据架构详解:从数据获取到深度学习.pdf
  10. 计算机管理培训考试试题,计算机技能培训试题一