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

原标题:如何让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的软件,这个软件安装成功,才有后面的事,不然,会像前面那个小伙伴一样,折腾一星期或者更久。

8036a17a05c4e0c8e11aef7e5e2d0fe6.png

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

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

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

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

b2465c254f7a07d9ebfa7c4773aa1cd7.png

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

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

73a678ad0e8510f51bae45ea5e49e830.png

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

1ecfc8794b183033bf8370e5b7a3eadd.png

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

1eb8e4ac971f819df6a48a2603b1e767.png

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

d023168b596c373ab489c1a0da4426bc.png

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

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

8a2497a35b0ee8bf56ccc4e13344b4b0.png

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

5b8dd20e990c864c9f4d6ab66314e817.gif

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

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

1fe56228b2f6643cb2f1e52149fae7fe.png

c71b3cf4e1cf4dbf91e8852a88daf4ce.png

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

0f10af4312b54bb07b2afd9cc4ed94bc.gif

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

7d5d067e1e26b0b28f6d11b5ec85122f.gif

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

f2d3daf2be1e71f24dfcac84d2e57551.gif

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

36635349ddc54c236884a3959c903c77.gif

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

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

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

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

018a593691e2e203fd75c0d6c1396db0.png

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

540f303b668c208b73db43f61948a650.png

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

e92216d693530c8792e9c721e2aca177.gif

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

afa5c5a2b5f7be6e571c609b4fb85ade.png

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

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

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

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

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

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

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

责任编辑:

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值