Raspberry pi 4B+LabVIEW_2020&NXG部署WebApp

<简介>

Raspberry pi4B具有较强的处理能力,具有丰富的硬件外设接口,非常适合作为服务端布署,搭建WebApp的解决方案。本文章结合实际应用案例介绍如何使用LabVIEW_2020与LabVIEW_NXG搭建WebAPP。

LabVIEW_2020社区版本携带LINX工具包发布,LINX工具包是将LabVIEW引擎植入嵌入式设备,比如Raspberry pi 4B,前面文章有介绍如何搭建环境,有读者不清楚可以翻阅前面文章。

<1. 基于LabVIEW_2020开发复杂功能程序>

新建一个工程,然后右击工程–>>New–>>Targets and Devices

图片

点击“Raspberrypi 2 B”此时在工程栏会增加一个终端。

图片

右击,选择“Properties”,填写Raspberry端的IP地址,比如192.168.1.30,点击OK!

图片

此时完成终端工程建立,在终端下面开发LabVIEW代码,这些终端下面的代码是要布署在终端设备的。

图片

<2. 采用WebSockect进行数据通信>

WebSockect使得浏览器具有双向通信能力,使用TCP通信协议,并复用HTTP的握手通道。LabVIEW_NXG web模块自带WebSockect函数。布署Raspberry pi 4B的代码同样需要进行WebSockect通信,英国有个小哥开发基于LabVIEW TCP协议的WebSockect通信API,我们可以直接下载使用https://github.com/MediaMongrels-Ltd/LabVIEW-WebSockets-API。

启动VI框架:

图片

程序启动后,动态加载数据采集循环和WebSockect侦听循环。

侦听线程:

图片

侦听到访问者就动态加载一个通讯线程,这样使程序具有并行通信能力,也就具有了支持多客户端访问的能力了。

<3. 建立开机自启的程序>

要建立开机自启程序,我们首先想到的是采用WebService技术进行部署,不仅可以具有开机自启功能,也可以通过建立公共文件夹搭建网站,在windows下面基本是这样部署的。但是在Raspberry pi 4B终端,可以进行调试,但是真正部署的时候会报错,没法真正的部署。

 右击“BuildSpecifications”选择Real-Time Application,和我们普通的打包可执行程序类似,打包完成后,右击My Real-Time Application选择run as startup,这样就会部署到Raspberry pi 4B终端,并支持开机自启。

图片

<4. LabVIEW_NXG开发WebAPP>

图片

使用WebApplication Project进行Web App开发。

图片

开发过程与LabVIEW开发类似。我们使用WebSockect实时显示Raspberry pi 4B采集的数据。

图片

开发完成后,打包生成JavaScript与HTML。

图片

<5. 在Raspberrypi 4B终端部署WebApp>

在LabVIEW环境下,我们通常是通过WebService进行布署,但是Raspberry pi 4B在真正布署时会出现错误,最终采用Apache2进行托管。

我们采用apt-get在线源安装方式,所以我们建议把树莓派的源信息进行更新,这样可以安装最新版的APACHE服务版本。其中更新源信息命令如下;
sudo apt-get update
sudo apt-get dist-upgrade
完成树莓派安装源信息的更新后就可以使用命令来在线安装APACHE了,安装命令如下;
sudo apt-get install apache2
完成APACHE的在线安装我们可以尝试采用默认配置来启动下APACHE服务,以便查看是否安装正常。重启APACH服务的命令如下;启动:sudo /etc/init.d/apache2 start重启:sudo /etc/init.d/apache2restart关闭:sudo /etc/init.d/apache2 stop通过上面的更新和安装APACHE服务就基本安装完成了。

将LabVIEW_NXG生成的网站文件,复制到/var/www/下面,采用命令的方式复制(手动复制会受限制)sudo cp -r/home/pi/原始路径 目标路径。

完成复制后,我们可以通过浏览器输入Http://192.168.1.30直接访问,此时完成WebAPP的布署。

<总结>

1)采用LabVIEW_2020社区版本进行Raspberry pi 4B终端采集、处理、分析、存储、通信等核心功能开发,并布署为开机自启程序。

2)使用LabVIEW_NXG进行WebAPP开发,并使用Apache2进行托管布署。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/221840.html

(0)
联系我们
联系我们
分享本页
返回顶部