<简介>
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进行托管布署。
声明:文中观点不代表本站立场。本文传送门:http://eyangzhen.com/221840.html