上次转载了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+的LabVIEW程序就完成了。另外,树莓派里也可以使用TCP编程,这样,就可以替代我以前Python编写TCP服务端程序,全部用LabVIEW来编写了。

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

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

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

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

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

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

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

    原标题:如何让LabVIEW程序运行在树莓派3B(此处有坑) 上次转载了LabVIEW部署树莓派的文章后,很多小伙伴很兴趣,一个个都说要把压箱底的树莓派拿出来清下灰尘,也不知道到底拿出来没有. 放个之 ...

  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. gpio引脚介绍 树莓派3b_树莓派3bgpio引脚介绍

    第4章 GPIO接口 本章内容: ? GPIO接口时通用输入输出端口,通俗的说,就是 一些引脚,可以通过它们输出高低电平或者通过 它们读入引脚状态--是高电平还是低电平.... 更强的"盒子 ...

  4. gpio引脚介绍 树莓派3b_使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化...

    1.简介 使用微创联合M5S空气检测仪.树莓派3b+.prometheus.grafana实现空气质量持续监控告警WEB可视化 grafana dashboard效果: 2.背景 2.1 需求: 1. ...

  5. 树莓派开发笔记(五):GPIO引脚介绍和GPIO的输入输出使用(驱动LED灯、检测按键)

    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...

  6. gpio引脚介绍 树莓派3b_树莓派3B+ GPIO 入门

    GPIO 编号方式 GPIO (General Purpose Input/Output) 的意思就是通用型输入输出,有三种方法可以对 Raspberry Pi 上的 IO 引脚进行编号: BOARD ...

  7. gpio引脚介绍 树莓派3b_gpio引脚介绍 树莓派3b

    陈拓chentuo@ms.xab.ac.cn 2018.06.09/2018.06.10 从网上下载了几张精美的图片,感谢图片的制作者! 0. 概述 本文介绍树莓派 Zero W的GPIO控制,并用L ...

  8. 树莓派:GPIO/引脚/Pin 介绍

    注:本文翻译自respberry官方介绍文档 GPIO和40针头 Raspberry Pi的一个强大功能是沿着板的顶部边缘有一排GPIO(通用输入/输出)引脚.所有当前的Raspberry Pi板上都 ...

  9. NVIDIA Jetson Nano GPIO口和通信协议简单介绍及点亮第一个程序LED灯闪烁

    在前面的文章中,我已经想大家介绍了NVIDIA Jetson Nano这个板子.今天我将给大家介绍NVIDIA Jetson Nano最重要的一个接口–GPIO.Jetson Nano 和树莓派一样作 ...

最新文章

  1. python的函数的定义与调用
  2. python电路模型编程_14、python开发之路-并发编程之I/O模型
  3. 人大金仓数据库sql语句_人大金仓数据库总结(SQL和JDBC)
  4. Serverless 落地之痛怎么解?
  5. [渝粤教育] 中国地质大学 高层建筑施工 复习题
  6. 89. Gray Code - LeetCode
  7. 字段类型:mysql中int(3)与int(11)有什么区别吗?优化数据库字段占据磁盘的大小
  8. mssql mysql数据库大小_mssql查看数据库大小
  9. Redmi K30S更多细节曝光:骁龙865加持 提供多款配色
  10. Java 1.2.2 格式化输出
  11. 云栖大会上阿里巴巴没说的数字经济逻辑
  12. Leetcode106 由中序序列和后序序列构建二叉树
  13. warning C4996 sprintf This function or variable may be unsafe
  14. Java数据结构和算法---程序员常用10种算法
  15. 数据库连接_由浅入深搭建Mybatis框架
  16. 【实例间对比】ICE: Inter-instance Contrastive Encoding for Unsupervised Person Re-identification论文笔记
  17. 生物信息学:bedGraph文件、Bed文件转、BAM文件转化
  18. 配色网站第一期 50个配色网站随便挑
  19. mac 爱普生打印机驱动_epson lq630k mac驱动下载
  20. 数据集成的两种架构:ELT和ETL

热门文章

  1. BEP 7:CUDA外部内存管理插件(上)
  2. 端云一体人工智能开发平台整体架构
  3. 操作系统常用词典(三)
  4. 详解PHP实现定时任务的五种方法
  5. Java 对象和类 的理解
  6. 一位资深Java架构师的晋级心得
  7. 并发编程的那些事。(二)
  8. merge into使用方法
  9. 2022-2028年中国民用航空装备行业市场需求与投资规划分析报告
  10. MySQL-存储过程