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 updatesudo 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进行托管布署。

=========================

有任何问题欢迎交流:

labview嵌入c代码_Raspberry pi 4B+LabVIEW_2020amp;NXG部署WebApp相关推荐

  1. labview嵌入c代码_LabVIEW与myRIO嵌入式系统开发入门

    一.概述 NI myRIO是NI公司推出的一款嵌入式系统开发平台,内嵌Xilinx Zynq芯片,可以利用双核ARM Cortex-A9的实时性能以及Xilinx FPGA可定制化I/O进行嵌入式系统 ...

  2. labview嵌入c代码_LabVIEW是什么?与其他组态软件有何分别?

    今天咱们说的是LabVIEW,有些人可能觉得很陌生,但其实在:测试仪器.数据采集.工业控制以及"乐高积木"等多方面,都离不开LabVIEW,并且LabVIEW的代码不需任何修改,就 ...

  3. Raspberry Pi 4B 同步控制两个舵机 实现颜色跟踪

    组件: Raspberry Pi 4B 2G 5V TS90A 舵机 2个 转动角度:0°~180° 工作电压:4.8V-5V 控制信号:PWM 50HZ/0.5-2.5MS 摄像头 环境 Pytho ...

  4. Raspberry Pi 4B 开机自动运行Python文件

    组件: Raspberry Pi 4B 环境: Python 3.7.3 1.写自启动脚本 我先在Desktop下创建一个shell脚本 创建格式: sudo nano XXX.sh 我的脚本: su ...

  5. 树莓派>Raspberry Pi 4b OLED显示

    Raspberry Pi 树莓派>Raspberry Pi 4b OLED显示 硬件设备 接线 开启树莓派I2c 安装i2c通信工具和python3 驱动oled显示 **方案1 采用 luma ...

  6. 【树莓派】快速上手Raspberry Pi 4B——组装硬件烧录系统

    目录 一.树莓派简介 二.购置硬件 必备硬件 推荐硬件 主板 电源 Micro SD卡 显示屏 外壳.风扇.散热片 三.烧录系统 Raspbian Windows 烧录后操作 启动分区精简(可选) 超 ...

  7. 实验四:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

    贺邦+原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的: 使用库函数 ...

  8. html中看到php代码_如何在HTML中嵌入PHP代码

    如何在HTML中嵌入PHP代码 对于一个有经验的 PHP Web 开发者,在HTML中嵌入PHP代码是一件非常容易的事情.但是对于刚开始接触 PHP 编程语言的新手这就是一个问题.下面是小编为大家带来 ...

  9. Raspberry Pi 4B 循迹模块

    组件: Raspberry Pi 4B 8G 环境: Python:3.7.3 四路巡线模块连接的树莓派引脚是11, 7, 13, 15. #-*- coding:UTF-8 -*- # 导入GPIO ...

最新文章

  1. Angular 2 Output
  2. jsp java el_jsp之EL表达式
  3. MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
  4. 玄惭 mysql_阿里云数据库专家玄惭的“武功”全记录之最佳实践、双十一特别篇...
  5. KubeVela + KEDA:为应用带来“与生俱来”的弹性伸缩能力
  6. VS2010小Bug:找不到System.Web.Extensions.dll引用
  7. MySQL中的binlog日志
  8. 击溃音乐服务器第一人!周杰伦新歌首发,QQ音乐服务器一度崩溃
  9. 数据结构 关键路径的个人理解
  10. PhotoScissors for Mac破解版(抠图软件)
  11. 豆瓣上评分最高的9本必读书
  12. 【实习日报】2019年3月 前端开发实习工作日报汇总
  13. matlab倒立摆模型,线性倒立摆模型(LIP)Matlab建模.PDF
  14. 编程语言:C语言网络资源
  15. java志愿者活动招募申请报名系统springbootboot
  16. 自适应尺寸变化的meanshift跟踪
  17. UGUI优化(三)Hierarchy层级关系导致DrawCall升高
  18. C语言 变量的指针和指向变量的指针变量
  19. 进程的状态和转换 三态模型和五态模型
  20. 【算法练习】80.字符串轮转——奇淫技巧

热门文章

  1. Yii的Url::toRoute
  2. PHP的JSON封装
  3. Wordpress插件
  4. swiper用loop不出图片_swiper实现双向控制
  5. java编写教师类输出_Java类和对象的区别和联系,超简单易懂!
  6. 程序员离职原因的最佳回答_程序员面试被问离职原因,如实回答不适应996,面试官答复尴尬了...
  7. java创建具体时间点_java单例饿汉模式对象创建时间点疑问
  8. 世界公认最好的记忆方法_毕业清单日签 I 世界公认最好的学习方法,没有之一。...
  9. 【linux】 redhat中设置时区
  10. 虚拟化服务器故障切换,虚拟机故障转移