当前位置: 首页 > news >正文

LabVIEW部署Web服务

目录

  • LabVIEW部署Web服务
    • 1、创建项目
    • 2、创建Web服务
    • 3、新建WebVI
      • 3.1、使用GET方法
      • 3.2、使用POST方法
    • 4、 部署和对应URL
      • 4.1、应用程序:8080
      • 4.2、本地调试:8009
      • 4.3、NI Web服务器:9090(禁用)
    • 5、测试
      • 5.1、测试GET方法
      • 5.2、测试POST方法
    • 6、实际应用
    • 7、浏览器测试
    • 8、HTTP测试软件

LabVIEW部署Web服务

1、创建项目

在这里插入图片描述

2、创建Web服务

在这里插入图片描述
可以修改名称,此处修改为test
在这里插入图片描述

3、新建WebVI

右键Web资源→选择"新建VI",一个VI对应一个方法
在这里插入图片描述

3.1、使用GET方法

①新建VI后,命名为plus,前面板添加三个数值控件,命名必须是英文,如果是中文,在测试的时候会报错,并且要修改接线端子
在这里插入图片描述
②右键plus→选择"GET"(默认为GET)
在这里插入图片描述

③右键test→选择"属性"
在这里插入图片描述
④选择"HTTP方法VI设置"→选中"plus"→选择"输出类型"→选择"接线端"和输出格式选择"JSON"

  • 这个也是方法默认的设置
    在这里插入图片描述

3.2、使用POST方法

①新建VI后,命名为plus post,并修改程序框图
在这里插入图片描述
②右键plus post→选择"POST"
在这里插入图片描述
③选择"HTTP方法VI设置"→选中"plus"→选择"输出类型"→选择"数据流"
在这里插入图片描述

4、 部署和对应URL

①右键test→选择"应用程序Web服务器"→选择"开始(调试服务器)”→等待开始完成
在这里插入图片描述
②查看对应的URL
右键其中一个方法,此处是plus→选择"显示方法URL…"

  • 如果方法里面存在中文字符,选择显示方法URL后可能会闪退URL页面
    在这里插入图片描述
    ③里面会存在三种端口,要看方法是部署到哪个服务器的
    应用程序:8080
    本地调试:8009
    NI Web服务器:9090
  • 由于端口很多,所以要注意哪个服务器在启用
    在这里插入图片描述

4.1、应用程序:8080

右键test→选择"应用程序Web服务器"→选择"发布"→等待发布完成
在这里插入图片描述

4.2、本地调试:8009

右键test→选择应用程序Web服务器→选择开始(调试服务器)
在这里插入图片描述

4.3、NI Web服务器:9090(禁用)

右键test→选择"开始"
在这里插入图片描述
但是由于未知原因,一直连接不上服务器,因此不再使用
在这里插入图片描述

5、测试

5.1、测试GET方法

使用"本地调试:8009"
①右键"我的电脑"→选择"新建"→选择"VI"→命名为test_get
在这里插入图片描述
②修改VI如下→执行→返回{“c”:3}在这里插入图片描述

5.2、测试POST方法

①右键"我的电脑"→选择"新建"→选择"VI"→命名为test_post
②修改VI如下→执行→返回“3.000000”
在这里插入图片描述

6、实际应用

程序在完成的情况下,需要生成应用程序,那么对应的URL里面的端口就不再是第5点的三个端口了,具体的端口在程序生成规范中设置。

  • 这个时候Web服务器就会部署在应用程序上,应用程序打开的时候,服务有效,如果应用程序关闭,则服务会无效
    ①新建VI,命名为main→简单一个循环结构,用于测试,程序框图如下
    在这里插入图片描述

②右键"程序生成规范"→选择"新建"→选择"应用程序(EXE)"
在这里插入图片描述
③选择Web服务→勾选"test"→选择"应用程序Web服务器"→HTTP端口设置为8002(默认也是8002)
在这里插入图片描述
④选择"源文件"→选中main→点击箭头,把main设置到启动VI中→点击生成
在这里插入图片描述
⑤执行生成的exe
在这里插入图片描述
⑥新建一个VI,命名为test_main→拷贝test_get和test_post程序框图里面的程序到test_main→只改动端口为8002(这个在第③步设置的)→执行→返回正常,说明可以正常调用
在这里插入图片描述

7、浏览器测试

  • Get方法
    在这里插入图片描述
  • post方法不能直接在浏览器中测试,会返回404
    在这里插入图片描述

8、HTTP测试软件

  • Get方法
    在这里插入图片描述
  • Post方法
    在这里插入图片描述

相关文章:

LabVIEW部署Web服务

目录 LabVIEW部署Web服务1、创建项目2、创建Web服务3、新建WebVI3.1、使用GET方法3.2、使用POST方法 4、 部署和对应URL4.1、应用程序:80804.2、本地调试:80094.3、NI Web服务器:9090(禁用) 5、测试5.1、测试GET方法5.2、测试POST方法 6、实际…...

进程件通信——网络通信——TCP

网络抓包工具:wireshark 抓取经过设备网卡的数据。 操作: 1. sudo wireshark 2. 选择要抓取的网卡----》any 3. 设置抓取的过滤条件 4. 进行网络通信 5. 分析数据 UDP: 用户数据报协议 UDP: 用户数据报协议 特点&#xff…...

【数据库】三、SQL语言

文章目录 三、SQL语言1 概述2 数据定义(DDL)2.1 定义数据库2.2 定义基本表2.3 修改基本表2.4 删除基本表 3 数据操作(DML)3.1 数据查询3.1.1 单表查询3.1.2 连接查询3.1.3 嵌套查询3.1.4 集合查询 3.2 数据更新3.2.1 插入数据3.2.2 修改数据3.2.3 删除数据 4 数据控制(DCL)5 视…...

Python对象的序列化和反序列化工具:Joblib与Pickle

在Python中,序列化是将内存中的对象转换为可存储或传输的格式的过程。常见的序列化格式有JSON、YAML、Pickle和Joblib等。其中,Pickle和Joblib是最常用的用于序列化和反序列化Python对象的工具。虽然这两者有很多相似之处,但它们在某些方面有…...

Spring Boot3 配合ProxySQL实现对 MySQL 主从同步的读写分离和负载均衡

将 ProxySQL 配合 Spring Boot 使用,主要的目的是在 Spring Boot 应用程序中实现对 MySQL 主从同步的读写分离和负载均衡。这样,你可以利用 ProxySQL 自动将写操作路由到主库,而将读操作路由到从库。 1. 准备工作 确保你的 MySQL 主从同步环…...

量子计算遇上人工智能:突破算力瓶颈的关键?

引言:量子计算遇上人工智能——突破算力瓶颈的关键? 在数字化时代的浪潮中,人工智能(AI)正以前所未有的速度改变着我们的生活,从语音助手到自动驾驶,从医学诊断到金融分析,无不彰显其…...

【Unity插件】解决移动端UI安全区问题 - Safe Area Helper

在移动端设计界面时,必须要考虑的就是UI的安全区。 Unity本身也提供了Safearea的API。 但在asset store时已经有人提供了免费的插件(Safe Area Helper),我们可以直接使用。 插件链接: https://assetstore.unity.com/p…...

JSON.stringify 实现深度克隆的缺陷

在前端开发中,深克隆(Deep Clone)和浅克隆(Shallow Clone)是常见的操作。浅克隆和深克隆的区别主要体现在对象内部嵌套对象的处理方式上。 1. 浅克隆(Shallow Clone) 浅克隆是指创建一个新对象…...

深度解析如何使用Linux中的git操作

1.如何理解版本控制 →Git&&gitee||github 多版本控制面对善变的甲方 版本控制是一种用于管理文件或代码变更的系统,帮助团队或个人追踪项目的历史记录,并支持多方协作开发。它在软件开发和文档管理中尤为重要,但也适用于其他需要追…...

el-table 合并单元格

参考文章&#xff1a;vue3.0 el-table 动态合并单元格 - flyComeOn - 博客园 <el-table :data"tableData" border empty-text"暂无数据" :header-cell-style"{ background: #f5f7fa }" class"parent-table" :span-method"obj…...

Redis 三大问题:缓存穿透、缓存击穿、缓存雪崩

Redis 作为高性能的内存数据库&#xff0c;广泛应用于缓存场景。然而&#xff0c;在实际使用中&#xff0c;可能会遇到三大经典问题&#xff1a;缓存穿透、缓存击穿 和 缓存雪崩。这些问题如果不加以解决&#xff0c;可能会导致系统性能下降甚至崩溃。 1. 缓存穿透 问题描述 …...

常用字符串处理函数

常用字符串处理函数 strcspn函数原型参数说明返回值使用示例注意事项 strpbrk函数原型参数说明返回值使用示例 strcasecmp函数原型参数说明返回值使用示例注意事项 strcspn strcspn 是一个 C 和 C 标准库函数&#xff0c;用于计算一个字符串中不包含任何指定字符的最长前缀的长…...

Pathview包:整合表达谱数据可视化KEGG通路

Pathview是一个用于整合表达谱数据并用于可视化KEGG通路的一个R包&#xff0c;其会先下载KEGG官网上的通路图&#xff0c;然后整合输入数据对通路图进行再次渲染&#xff0c;从而对KEGG通路图进行一定程度上的个性化处理&#xff0c;并且丰富其信息展示。&#xff08;KEGG在线数…...

seleniun 自动化程序,python编程 我监控 chrome debug数据后 ,怎么获取控制台的信息呢

python 好的&#xff0c;使用 Python 来监控 Chrome 的调试数据并获取控制台信息&#xff0c;可以使用 websocket-client 库来连接 Chrome 的 WebSocket 接口。以下是一个详细的示例&#xff1a; 1. 安装必要的库 首先&#xff0c;你需要安装 websocket-client 库。可以使用…...

SQL中的数据库对象

视图&#xff1a;VIEW 概念 ① 虚拟表&#xff0c;本身不存储数据&#xff0c;可以看做是存储起来的SELECT语句 ② 视图中SELECT语句中涉及到的表&#xff0c;称为基表 ③ 针对视图做DML操作&#xff0c;对影响到基表中的数据&#xff0c;反之亦然 ④ 创建、删除视图本身&#…...

DeepSeek:性能强劲的开源模型

deepseek 全新系列模型 DeepSeek-V3 首个版本上线并同步开源。登录官网 chat.deepseek.com 即可与最新版 V3 模型对话。 性能对齐海外领军闭源模型​ DeepSeek-V3 为自研 MoE 模型&#xff0c;671B 参数&#xff0c;激活 37B&#xff0c;在 14.8T token 上进行了预训练。 论…...

医疗可视化大屏 UI 设计新风向

智能化交互 借助人工智能与机器学习技术&#xff0c;实现更智能的交互功能。如通过语音指令或手势控制来操作大屏&#xff0c;医护人员无需手动输入&#xff0c;可更便捷地获取和处理信息。同时&#xff0c;系统能根据用户的操作习惯和数据分析&#xff0c;自动推荐相关的医疗…...

从企业级 RAG 到 AI Assistant , Elasticsearch AI 搜索技术实践

文章目录 01 AI 搜索落地的挑战02 Elasticsearch 向量性能 5 倍提升03 Elasticsearch 企业版 AI 能力全面解读04 阿里云 Elasticsearch 将准确率提升至 95%05 AI Assistant 集成通义千问大模型实现 AI Ops01 AI 搜索落地的挑战 在过去一年中,基座大模型技术的快速迭代推动了 …...

TypeScript语言的并发编程

TypeScript语言的并发编程 引言 随着现代应用程序的复杂性不断增加&#xff0c;性能和用户体验的重要性显得尤为突出。在这种背景下&#xff0c;并发编程应运而生&#xff0c;成为提升应用程序效率的重要手段。在JavaScript及其超集TypeScript中&#xff0c;尽管语言本身是单…...

benchANT 性能榜单技术解读 Part 1:写入吞吐

近期&#xff0c;国际权威数据库性能测试榜单 benchANT 更新了 Time Series: Devops&#xff08;时序数据库&#xff09;场景排名&#xff0c;KaiwuDB 数据库在 xsmall 和 small 两类规格下的时序数据写入吞吐、查询吞吐、查询延迟、成本效益等多项指标刷新榜单原有数据纪录。在…...

30分钟搞定黑苹果:OpCore Simplify如何让Hackintosh配置从专业难题变成简单操作

30分钟搞定黑苹果&#xff1a;OpCore Simplify如何让Hackintosh配置从专业难题变成简单操作 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂…...

深度解析XGBoost环境配置:从零构建高性能梯度提升库

深度解析XGBoost环境配置&#xff1a;从零构建高性能梯度提升库 【免费下载链接】xgboost Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C and more. Runs on single machine, Hadoop, Spark, Dask, Flink…...

Cadence Allegro焊盘设计避坑指南:从SMD到通孔,这些层设置错了板子就废了

Cadence Allegro焊盘设计避坑指南&#xff1a;从SMD到通孔的关键层设置解析 当一块PCB板从设计文件变成实体电路板时&#xff0c;最令人崩溃的莫过于发现焊盘设计不当导致整批产品无法使用。作为使用Cadence Allegro进行PCB设计的工程师&#xff0c;Padstack Editor中的每个参数…...

为OpenClaw工作流配置Taotoken作为统一模型供应商

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为OpenClaw工作流配置Taotoken作为统一模型供应商 如果你正在使用OpenClaw构建复杂的Agent工作流&#xff0c;管理多个Agent的模型…...

如何用Vibe coding一周做三个成果?(附完整prompt) 【新手友好】

最近AI圈刮起了一阵"Vibe coding"旋风&#xff0c;很多朋友私信问我&#xff1a;到底什么是Vibe coding&#xff1f;零基础真的能学会吗&#xff1f;一周真的能做出好几个可以用的成果吗&#xff1f;作为亲身体验了一把的人&#xff0c;我可以明确告诉大家&#xff1…...

从“收音机”到“手机芯片”:聊聊CMOS单级放大器在真实产品里的那些事儿

从“收音机”到“手机芯片”&#xff1a;CMOS单级放大器的工业进化史 上世纪60年代&#xff0c;当第一台全晶体管收音机问世时&#xff0c;工程师们或许不会想到&#xff0c;那些分立元件组成的放大器电路&#xff0c;有朝一日会以纳米级尺寸被集成在指甲盖大小的芯片里。CMOS单…...

SoM嵌入式开发实战:从选型到量产的全流程解析

1. 项目概述&#xff1a;为什么SoM正在重塑嵌入式开发 在嵌入式系统开发这个行当里干了十几年&#xff0c;我亲眼见证了开发模式从“一切从零开始”到“模块化集成”的巨大转变。早期做一个项目&#xff0c;从选型MCU、画原理图、设计PCB、焊接调试&#xff0c;再到底层驱动移植…...

8B模型榨出极限战力!本地LLM胜率狂飙86%

今天我们要讲的是一个工程方法&#xff0c;通过这个Forge框架来增强本地运行的8B模型&#xff0c;让这个小模型可以在复杂的agent任务上面有更好的表现。Q&#xff1a;本地小模型在做这些复杂任务的时候&#xff0c;经常会出现哪些让人抓狂的问题&#xff1f; A&#xff1a;在本…...

燃油车的“催命符”还是环保的“里程碑”?2026年Euro 7标准下的汽车变局

如果你正打算换车&#xff0c;或者对汽车行业的未来走向充满好奇&#xff0c;那么“Euro 7”&#xff08;欧7排放标准&#xff09;绝对是你绕不开的一个关键词。这项被业内称为“史上最严”的排放法规&#xff0c;将于2026年11月29日正式对新车型实施强制认证。它不仅给内燃机戴…...

UNet迁移实战:如何用Labelme标注自己的数据,并快速替换官方数据集进行训练

UNet迁移实战&#xff1a;从Labelme标注到自定义数据集训练全流程指南 当你在GitHub上成功运行了UNet的官方Demo后&#xff0c;下一步自然是想让这个强大的语义分割模型为你自己的项目服务——无论是分析医学影像中的病变区域&#xff0c;还是识别卫星图片中的特定地物。本文将…...