面向新一代扩展现实(XR)应用的物联网框架
中文标题: 面向新一代扩展现实(XR)应用的物联网框架
英文标题: Towards an IoT Framework for the New Generation of XR Applications
作者信息
-
João A. Dias,UNIDCOM - IADE,欧洲大学,里斯本,葡萄牙,邮箱:joao.alfredo.dias@universidadeeuropeia.pt
-
Nathan P. Campos,IADE,欧洲大学,里斯本,葡萄牙
-
Miguel Boavida,IADE,欧洲大学,里斯本,葡萄牙
论文出处
本文发表于《IEEE Access》,DOI: 10.1109/ACCESS.2024.0429000。
摘要
近年来,扩展现实(XR)技术在工业和学术界引起了广泛关注,尤其是在开发创意和沉浸式应用方面。然而,许多XR应用仍然依赖于传统的输入设备(如鼠标、触摸屏或游戏控制器)和输出设备(如屏幕或投影仪)。随着物联网(IoT)解决方案的普及,将这些设备集成到新一代创意应用中成为可能。然而,这种集成通常成本高昂且需要大量定制开发。本文旨在填补这一空白,提出一个框架,使开发者能够利用IoT设备创建数字孪生或作为应用的输入和输出设备,从而为软件开发开辟新的可能性。研究中提出了一个框架,用于将任何IoT设备集成到新一代XR应用中,并详细设计了一种IoT设备配对方案,使其能够自动与客户端可靠匹配。通过使用行业标准的IoT通信协议MQTT进行性能研究,证明了该框架在为无线输入设备提供低延迟通信方面的可行性。
引言
扩展现实(XR)技术涵盖了虚拟现实(VR)、增强现实(AR)和混合现实(MR),通过计算机生成的环境让用户同时与虚拟和现实世界互动。尽管XR技术取得了显著进展,但仍然面临一些挑战,例如设备重量、视野限制和硬件限制等问题。物联网(IoT)设备和网络的集成可以解决这些问题,通过实时数据交换增强XR体验。然而,目前这种集成通常是逐案进行的,通常涉及云解决方案作为中介,缺乏标准化的框架。本文提出了一个框架,支持新一代XR应用,利用过去几十年的创新和IoT设备集成带来的可能性,弥合虚拟和物理世界之间的联系。
背景与相关工作
扩展现实
扩展现实(XR)是一个涵盖多种技术的术语,旨在扩展物理现实,例如通过在物理空间上叠加虚拟对象或完全替换它们。近年来,XR技术在创意应用领域取得了快速发展,尤其是在VR和AR眼镜方面。这些技术的发展推动了相关硬件、配件和新方法的研究,以扩展这些设备的能力。
-
增强现实(AR):AR技术允许用户在现实世界中与虚拟对象互动,通过智能手机等设备的传感器和算法实现。AR技术的一个重要应用是通过移动设备在现实场景中叠加虚拟3D对象,广泛应用于广告、视频制作等领域。
-
虚拟现实(VR):VR技术通过头戴式显示器(HMD)让用户完全沉浸在虚拟环境中,与周围环境隔离。VR技术的发展使得开发者可以更简单地开发体验,因为不需要依赖外部输入,只需依赖头显中的运动传感器和控制器。
-
混合现实(MR):MR技术结合了VR和AR的特点,允许用户在虚拟和现实内容之间无缝切换,同时感知物理空间。
物联网(IoT)
IoT是一个由传感器、嵌入式软件和执行器组成的物理设备网络,能够通过互联网连接和交换数据。IoT的主要目标是通过实时数据收集和自动化控制优化流程,提高效率和用户体验。IoT技术为创意技术中的艺术和设计表达提供了新的可能性,使开发者能够创建模糊数字和物理世界边界的交互式装置和环境。
-
IoT协议:IoT领域有许多通信协议,包括HTTP、MQTT和CoAP。其中,MQTT是一种轻量级协议,专为IoT应用设计,广泛用于资源受限的设备。CoAP是一种现代轻量级协议,旨在填补HTTP和资源受限应用之间的差距。
混合方法
研究人员已经开发出多种方法,将XR和IoT技术结合起来,创造更沉浸式的体验。例如,通过将IoT设备与XR应用集成,可以实现更自然的交互和更丰富的用户体验。然而,这种集成通常需要定制开发,增加了开发成本和复杂性。
提出的框架
本文提出的框架旨在为XR和IoT的集成提供标准化解决方案,使开发者能够轻松地将IoT设备集成到XR应用中。框架的核心组件包括:
-
应用:开发者编写的XR应用,使用高级语言和网络通信库。
-
客户端:运行XR应用的设备,如计算机、VR头显或移动设备。
-
个性:IoT设备上的可测量值或可操作值,如传感器数据或执行器状态。
-
节点:作为输入、输出或两者的IoT模块。
-
中介:负责动态分配MQTT主题,使节点和客户端能够自动配对。
-
代理:MQTT代理,负责在客户端和节点之间中继信息。
系统架构
框架的架构设计旨在最大化扩展性和灵活性,支持多种设备和场景。图7展示了系统架构,包括单个节点和客户端之间的交互。框架使用HTTP进行初始设置和配对,使用MQTT进行运行时通信。为了减少延迟,嵌入式设备的固件应保持简洁,将复杂处理任务交给客户端。

通信和配对机制
由于MQTT协议不支持客户端之间的主题协商,框架引入了中介来动态分配主题。中介允许节点在启动时发现服务器地址,并自动与客户端配对。配对过程类似于无线游戏控制器的配对,确保节点和客户端能够自动匹配,无需预配置信息。
框架性能评估
框架的性能评估主要关注MQTT协议在分布式环境中的表现,特别是在低延迟和高吞吐量方面。评估的目标是确定框架是否适用于需要低延迟输入设备的XR应用。
测试方法
测试使用了Python脚本作为发布者,Unity 3D应用作为订阅者,通过MQTT协议进行通信。测试环境包括模拟场景(虚拟机和主机)和真实场景(IoT设备和VR头显)。测试指标包括延迟(往返时间)和TCP吞吐量。
测试结果
-
模拟环境:
-
在模拟环境中,使用ping和netperf工具测量了网络的基线性能,结果显示平均往返延迟为0.416毫秒,TCP吞吐量为2591次/秒。
-
在无延迟的单发布者测试中,Unity在高频率更新UI时变得无响应,但后台处理消息时表现正常。测试结果显示,MQTT协议在无延迟情况下能够实现极低的延迟(约1毫秒),适合用作游戏控制器。
-
在使用不同QoS级别时,延迟和吞吐量的变化表明,QoS级别越高,延迟越大,但吞吐量仍能满足XR应用的需求。
-
-
真实环境:
-
在真实环境中,使用ESP32-S2-Saola-1开发板作为IoT设备,Meta Quest 2 VR头显作为客户端,测试了MQTT协议在不同网络条件下的表现。
-
在最坏情况下(公共WiFi网络),平均往返延迟为18.78毫秒,QoS级别为1时延迟为24.98毫秒,QoS级别为2时延迟为36.29毫秒。这些延迟值仍低于人类感知的阈值(约10毫秒),证明MQTT协议在高延迟网络中仍能提供可接受的性能。
-
在理想情况下(专用WiFi网络),延迟显著降低,QoS级别为0时平均延迟为6.25毫秒,QoS级别为1时为8.27毫秒,QoS级别为2时为13.92毫秒。这些结果表明,MQTT协议在低延迟网络中表现优异,适合用于需要高响应性的XR应用。
-
结论与未来工作
本文提出的框架通过使用MQTT协议,成功地将IoT设备与XR应用集成,解决了现有解决方案中的许多问题。框架在低延迟和高吞吐量方面表现出色,适用于需要低延迟输入设备的XR应用。未来的工作将包括更多用户测试,验证框架在实际游戏和应用中的表现,以及探索框架在工业自动化和智能家居等领域的应用。此外,还需要进一步研究MQTT和CoAP协议的性能比较,以及在更复杂的网络环境中的表现。
相关文章:
面向新一代扩展现实(XR)应用的物联网框架
中文标题: 面向新一代扩展现实(XR)应用的物联网框架 英文标题: Towards an IoT Framework for the New Generation of XR Applications 作者信息 Joo A. Dias,UNIDCOM - IADE,欧洲大学,里斯本&…...
pcl各模块
参考资料: https://github.com/Ewenwan/MVision/blob/master/PCL_APP/1_%E7%82%B9%E4%BA%91%E6%BB%A4%E6%B3%A2filter.md 点云库PCL各模块学习 语雀 各模块依赖关系: 模块: common pcl_common中主要是包含了PCL库常用的公共数据结构和方…...
Oracle Recovery Tools修复ORA-600 6101/kdxlin:psno out of range故障
数据库异常断电,然后启动异常,我接手该库,尝试recover恢复 SQL> recover database; ORA-10562: Error occurred while applying redo to data block (file# 2, block# 63710) ORA-10564: tablespace SYSAUX ORA-01110: ???????? 2: H:\TEMP\GDLISNET\SYSAUX01.DBF O…...
Python网络编程从入门到精通:Socket核心技术+TCP/UDP实战详解
引言 网络编程是构建现代分布式系统的核心能力,而Socket作为通信的基石,其重要性不言而喻。本文将从零开始,通过清晰的代码示例、原理剖析和对比分析,带你彻底掌握Python中的Socket编程技术,涵盖TCP可靠连接、UDP高效…...
2025MathorcupC题 音频文件的高质量读写与去噪优化 保姆级教程讲解|模型讲解
2025Mathorcup数学建模挑战赛(妈妈杯)C题保姆级分析完整思路代码数据教学 C题:音频文件的高质量读写与去噪优化 随着数字媒体技术的迅速发展,音频处理成为信息时代的关键技术之一。在日常生活中,从录音设备捕捉的原始…...
.net core web api 数据验证(DataAnnotations)
目录 一、什么是 DataAnnotations? 二、扩展验证逻辑(自定义验证器) 一、什么是 DataAnnotations? DataAnnotations 是一组特性(Attributes),用于在模型类上定义验证规则。主要用于属性级别的…...
【工具-Krillin AI】视频翻译、配音、语音克隆于一体的一站式视频多语言转换工具~
Krillin AI 是全能型音视频本地化与增强解决工具。这款简约而强大的工具,集音视频翻译、配音、语音克隆于一身,支持横竖屏格式输出,确保在所有主流平台(哔哩哔哩,小红书,抖音,视频号,…...
ICPR-2025 | 让机器人在未知环境中 “听懂” 指令精准导航!VLTNet:基于视觉语言推理的零样本目标导航
作者:Congcong Wen, Yisiyuan Huang, Hao Huang ,Yanjia Huang, Shuaihang Yuan, YuHao, HuiLin and Yi Fang 单位:纽约大学阿布扎比分校具身人工智能与机器人实验室,纽约大学阿布扎比分校人工智能与机器人中心,纽约大学坦登工程…...
Shiro-550 动调分析与密钥正确性判断
一、Shiro 简介 Apache Shiro是一个开源安全框架,用于构建 Java 应用程序,提供身份验证、授权、加密和会话管理等功能。 二、Shiro-550(CVE-2016-4437) 1、漏洞原理 Shiro 在用户登陆时提供可选项 RememberMe,若勾选…...
Python制作简易PDF查看工具PDFViewerV1.0查找功能优化
原文说明 为不破坏原文结构,因此功能优化不在原文中维护了。关于这款工具原文请通过下面链接访问。Python制作简易PDF查看工具PDFViewerV1.0 这款小工具基本功能已经可以作为一款文档浏览器使用,但还有一些美中不足的地方,本文将介绍对文本查…...
20250419将405的机芯由4LANE的LVDS OUT配置为8LANE的步骤
20250419将405的机芯由4LANE的LVDS OUT配置为8LANE的步骤 2025/4/19 15:38 查询格式YUV/RGB 81 09 04 24 60 FF 90 50 00 00 FF 查询辨率帧率 81 09 04 24 72 FF 90 50 01 03 FF 查询LVDS mode : Singel output/Dual output 81 09 04 24 74 FF 90 50 00 00 FF 配置405的机…...
从0开发一个unibest+vue3项目,使用vscode编辑器开发,总结vue2升vue3项目开始,小白前期遇到的问题
开头运行可看官网 链接: unibest官网 一:vscode中vue3代码显示报错标红波浪线 去查看扩展商店发现一些插件都弃用了,例如h5的插件以及vue老插件 解决办法:下载Vue - Official插件(注意:横杠两边是要加空格的ÿ…...
Jinja2模板引擎SSTI漏洞
1. 引入 再研究大模型相关应用的漏洞CVE-2025-25362时(参考1),看到作者给了比较详细的分析(参考2)。下面对这个漏洞做个介绍。 2. 漏洞类型 这个漏洞属于CWE-1336,它主要关注在使用模板引擎进行脚本化处…...
HTML5好看的水果蔬菜在线商城网站源码系列模板4
文章目录 1.设计来源1.1 主界面1.2 关于我们1.3 商品信息1.4 新闻资讯1.5 联系我们1.5 登录注册 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/147264262 HTML5好看的水果…...
Python语法系列博客 · 第6期[特殊字符] 文件读写与文本处理基础
上一期小练习解答(第5期回顾) ✅ 练习1:字符串反转模块 string_tools.py # string_tools.py def reverse_string(s):return s[::-1]调用: import string_tools print(string_tools.reverse_string("Hello")) # 输出…...
多人五子棋联机对战平台 测试报告
目录 项目介绍 测试用例设计 部分功能测试示例 自动化测试 测试范围 排除范围 自动化测试目录编辑 执行全部自动化测试用例 性能说明 总结 性能测试 结果分析 测试总结 项目介绍 该项目基于WebSocket实现实时通信,采用SSM框架构建在线五子棋多人联机…...
docker基本使用命令
一、镜像 1、拉取镜像 docker pull busybox docker pull nginx:1.26-alpine 2、查看本地镜像 [rootRocky-1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 4e1b6bae1e48 18 hours ago 192MB busybox lates…...
欣佰特携数十款机器人相关前沿产品,亮相第二届人形机器人和具身智能行业盛会
2025年4月15日至16日,备受关注的第二届中国人形机器人与具身智能产业大会已在北京成功举行。作为国内前沿科技及产品服务领域的重要参与者,欣佰特科技携众多前沿产品精彩亮相,全方位展示了其在人形机器人与具身智能领域的创新产品。 在本次大…...
windows安装hadoop-3.3.5(图文教程)
本章教程,记录在Windows操作系统上安装hadoop-3.3.5的整个过程。 一、基础环境准备 JDK版本:java version “1.8.0_431” ,并且配置JAVA_HOME系统环境变量 hadoop版本:3.3.5,配置HADOOP_HOME系统环境变量。 下载地址:https://archive.apache.org/dist/hadoop/common/hado…...
【eNSP实验】OSPF单区域配置
简介 OSPF(开放最短路径优先)是一种基于链路状态算法的内部网关协议(IGP),用于自治系统内部动态路由。其核心机制为:各路由器通过泛洪链路状态通告(LSA)同步网络拓扑,构…...
从 SQL2API 到 Text2API:开启数据应用开发的新征程
在技术革新浪潮的席卷下,数据应用开发领域正经历着深刻变革。曾经,构建数据 API 需要开发者具备扎实的数据库知识和编程技能,手动编写复杂的 SQL 查询与 API 代码,这一过程不仅耗时费力,还将众多非技术人员阻挡在数据应…...
4月18日日记(补)
昨天玩的太疯狂了最后也没来得及写日记,补上() 正常的早八微积分,英语,下午的思政课非常的疯狂啊,因为是代课老师,她给我们很多机会强大加分,大家都知道这是一个追分的好机会&#x…...
手撕 简易HashMap
put()、get()、remove() 方法 计算存储数组位置和k-vNode节点 public int indexOf(K key){return key.hashCode() & (table.length - 1);}static class Node<K, V>{K key;V value;Node<K, V> next;public Node(K key, V value){this.key key;this.value val…...
【技术派后端篇】ElasticSearch 实战指南:环境搭建、API 操作与集成实践
1 ES介绍及基本概念 ElasticSearch是一个基于Lucene 的分布式、高扩展、高实时的基于RESTful 风格API的搜索与数据分析引擎。 RESTful 风格API的特点: 接受HTTP协议的请求,返回HTTP响应;请求的参数是JSON,返回响应的内容也是JSON…...
鸿蒙语言基础
准备工作 去鸿蒙官网下载开发环境 点击右侧预浏览,刷新和插销按钮,插销表示热更新,常用按钮。 基础语法 string number boolean const常量 数组 let s : string "1111"; console.log("string", s);let n : number …...
在 Amazon Graviton 上运行大语言模型:CPU 推理性能实测与调优指南
引言 在生成式 AI 浪潮中,GPU 常被视为大模型推理的唯一选择。然而,随着 ARM 架构的崛起和量化技术的成熟,CPU 推理的性价比逐渐凸显。本文基于 Amazon Graviton 系列实例与 llama.cpp 工具链,实测了 Llama 3、DeepSeek 等模型的…...
每日定投40刀BTC(14)20250409 - 20250419
定投 坚持 《磨剑篇》浮生多坎壈,志业久盘桓。松柏凌霜易,骅骝涉险难。砺锋临刃缺,淬火取金残。但使精魂在,重开万象端。...
详解反射型 XSS 的后续利用方式:从基础窃取到高级组合拳攻击链
在网络安全领域,反射型跨站脚本攻击(Reflected Cross-Site Scripting,简称反射型 XSS)因其短暂的生命周期和临时性,常被视为“低危”漏洞,威胁性不如存储型或 DOM 型 XSS。然而,这种看法低估了它…...
服务治理-服务注册
一个服务在真实项目部署的时候,如果压力较大,会做多实例部署。 在IDEA里面做多实例部署的话,只需要配置多个启动项。...
NestJS——多环境配置方案(dotenv、config、@nestjs/config、joi配置校验)
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...
