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: 用户数据报协议 特点ÿ…...
【数据库】三、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 合并单元格
参考文章: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 作为高性能的内存数据库,广泛应用于缓存场景。然而,在实际使用中,可能会遇到三大经典问题:缓存穿透、缓存击穿 和 缓存雪崩。这些问题如果不加以解决,可能会导致系统性能下降甚至崩溃。 1. 缓存穿透 问题描述 …...
常用字符串处理函数
常用字符串处理函数 strcspn函数原型参数说明返回值使用示例注意事项 strpbrk函数原型参数说明返回值使用示例 strcasecmp函数原型参数说明返回值使用示例注意事项 strcspn strcspn 是一个 C 和 C 标准库函数,用于计算一个字符串中不包含任何指定字符的最长前缀的长…...
Pathview包:整合表达谱数据可视化KEGG通路
Pathview是一个用于整合表达谱数据并用于可视化KEGG通路的一个R包,其会先下载KEGG官网上的通路图,然后整合输入数据对通路图进行再次渲染,从而对KEGG通路图进行一定程度上的个性化处理,并且丰富其信息展示。(KEGG在线数…...
seleniun 自动化程序,python编程 我监控 chrome debug数据后 ,怎么获取控制台的信息呢
python 好的,使用 Python 来监控 Chrome 的调试数据并获取控制台信息,可以使用 websocket-client 库来连接 Chrome 的 WebSocket 接口。以下是一个详细的示例: 1. 安装必要的库 首先,你需要安装 websocket-client 库。可以使用…...
SQL中的数据库对象
视图:VIEW 概念 ① 虚拟表,本身不存储数据,可以看做是存储起来的SELECT语句 ② 视图中SELECT语句中涉及到的表,称为基表 ③ 针对视图做DML操作,对影响到基表中的数据,反之亦然 ④ 创建、删除视图本身&#…...
DeepSeek:性能强劲的开源模型
deepseek 全新系列模型 DeepSeek-V3 首个版本上线并同步开源。登录官网 chat.deepseek.com 即可与最新版 V3 模型对话。 性能对齐海外领军闭源模型 DeepSeek-V3 为自研 MoE 模型,671B 参数,激活 37B,在 14.8T token 上进行了预训练。 论…...
医疗可视化大屏 UI 设计新风向
智能化交互 借助人工智能与机器学习技术,实现更智能的交互功能。如通过语音指令或手势控制来操作大屏,医护人员无需手动输入,可更便捷地获取和处理信息。同时,系统能根据用户的操作习惯和数据分析,自动推荐相关的医疗…...
从企业级 RAG 到 AI Assistant , Elasticsearch AI 搜索技术实践
文章目录 01 AI 搜索落地的挑战02 Elasticsearch 向量性能 5 倍提升03 Elasticsearch 企业版 AI 能力全面解读04 阿里云 Elasticsearch 将准确率提升至 95%05 AI Assistant 集成通义千问大模型实现 AI Ops01 AI 搜索落地的挑战 在过去一年中,基座大模型技术的快速迭代推动了 …...
TypeScript语言的并发编程
TypeScript语言的并发编程 引言 随着现代应用程序的复杂性不断增加,性能和用户体验的重要性显得尤为突出。在这种背景下,并发编程应运而生,成为提升应用程序效率的重要手段。在JavaScript及其超集TypeScript中,尽管语言本身是单…...
benchANT 性能榜单技术解读 Part 1:写入吞吐
近期,国际权威数据库性能测试榜单 benchANT 更新了 Time Series: Devops(时序数据库)场景排名,KaiwuDB 数据库在 xsmall 和 small 两类规格下的时序数据写入吞吐、查询吞吐、查询延迟、成本效益等多项指标刷新榜单原有数据纪录。在…...
30分钟搞定黑苹果:OpCore Simplify如何让Hackintosh配置从专业难题变成简单操作
30分钟搞定黑苹果: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环境配置:从零构建高性能梯度提升库 【免费下载链接】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焊盘设计避坑指南:从SMD到通孔的关键层设置解析 当一块PCB板从设计文件变成实体电路板时,最令人崩溃的莫过于发现焊盘设计不当导致整批产品无法使用。作为使用Cadence Allegro进行PCB设计的工程师,Padstack Editor中的每个参数…...
为OpenClaw工作流配置Taotoken作为统一模型供应商
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为OpenClaw工作流配置Taotoken作为统一模型供应商 如果你正在使用OpenClaw构建复杂的Agent工作流,管理多个Agent的模型…...
如何用Vibe coding一周做三个成果?(附完整prompt) 【新手友好】
最近AI圈刮起了一阵"Vibe coding"旋风,很多朋友私信问我:到底什么是Vibe coding?零基础真的能学会吗?一周真的能做出好几个可以用的成果吗?作为亲身体验了一把的人,我可以明确告诉大家࿱…...
从“收音机”到“手机芯片”:聊聊CMOS单级放大器在真实产品里的那些事儿
从“收音机”到“手机芯片”:CMOS单级放大器的工业进化史 上世纪60年代,当第一台全晶体管收音机问世时,工程师们或许不会想到,那些分立元件组成的放大器电路,有朝一日会以纳米级尺寸被集成在指甲盖大小的芯片里。CMOS单…...
SoM嵌入式开发实战:从选型到量产的全流程解析
1. 项目概述:为什么SoM正在重塑嵌入式开发 在嵌入式系统开发这个行当里干了十几年,我亲眼见证了开发模式从“一切从零开始”到“模块化集成”的巨大转变。早期做一个项目,从选型MCU、画原理图、设计PCB、焊接调试,再到底层驱动移植…...
8B模型榨出极限战力!本地LLM胜率狂飙86%
今天我们要讲的是一个工程方法,通过这个Forge框架来增强本地运行的8B模型,让这个小模型可以在复杂的agent任务上面有更好的表现。Q:本地小模型在做这些复杂任务的时候,经常会出现哪些让人抓狂的问题? A:在本…...
燃油车的“催命符”还是环保的“里程碑”?2026年Euro 7标准下的汽车变局
如果你正打算换车,或者对汽车行业的未来走向充满好奇,那么“Euro 7”(欧7排放标准)绝对是你绕不开的一个关键词。这项被业内称为“史上最严”的排放法规,将于2026年11月29日正式对新车型实施强制认证。它不仅给内燃机戴…...
UNet迁移实战:如何用Labelme标注自己的数据,并快速替换官方数据集进行训练
UNet迁移实战:从Labelme标注到自定义数据集训练全流程指南 当你在GitHub上成功运行了UNet的官方Demo后,下一步自然是想让这个强大的语义分割模型为你自己的项目服务——无论是分析医学影像中的病变区域,还是识别卫星图片中的特定地物。本文将…...
