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

基于 oneM2M 标准的空气质量监测系统的互操作性

论文标题

英文标题: Interoperability of Air Quality Monitoring Systems through the oneM2M Standard
中文标题: 基于 oneM2M 标准的空气质量监测系统的互操作性

作者信息

Jonnar Danielle Diosana, Gabriel Angelo Limlingan, Danielle Bryan Sore, Marc Rosales, Isabel Austria, Jaybie de Guzman, John Richard Hizon
Electrical and Electronics Engineering Institute, University of the Philippines, Diliman Quezon City, Philippines
Email: {jonnar.danielle.diosana, gabriel.angelo.limlingan, danielle.bryan.sore, richard.hizon}@eee.upd.edu.ph

论文出处

2024 31st IEEE International Conference on Electronics, Circuits and Systems (ICECS)
DOI: 10.1109/ICECS61496.2024.10849089

摘要

本文探讨了通过 oneM2M 标准实现空气质量监测(AQM)系统的互操作性。通过在菲律宾大学城市环境空气研究中心(UP CARE)现有的 AQM 研究计划中引入 oneM2M 标准,实现了 Wi-Fi、LoRa 和 Zigbee 等不同无线协议设备的数据标准化和传输。该系统在服务器停机时实现了 0.14% 的平均重传率、356.8 毫秒的最大端到端延迟和 99.5% 的数据可靠性。

1. 引言

空气质量监测(AQM)系统在学术界、政府和公众的创新和决策过程中发挥着重要作用。现有的 AQM 系统通过部署多个传感器测量污染物浓度并将数据上传到服务器进行监测和分析。然而,随着全球机器到机器(M2M)通信标准的发展,AQM 系统需要更高的可扩展性和互操作性,以便整合局部数据点并生成更广泛的区域视图。oneM2M 标准旨在为 M2M 通信行业提供标准化和规范,以实现不同系统之间的互操作性。本文介绍了一个基于 oneM2M 标准的 AQM 系统,通过 Wi-Fi、LoRa 和 Zigbee 等无线协议将传感器数据标准化并传输到 oneM2M 服务器。

2. AQM 系统的互操作性解决方案

现有的 AQM 解决方案通过多种传感器测量环境参数(如二氧化碳、颗粒物、温度和湿度),并利用 Wi-Fi、LoRa 和 Zigbee 等无线通信协议实现可靠传输。这些协议在数据速率、传输范围、功耗和成本方面各有优缺点。例如,Wi-Fi 支持高数据速率但功耗高且范围有限;LoRa 适合定期监测传感器值;Zigbee 则因其低功耗和无缝连接而具有灵活性。此外,AQM 系统还面临消息协议固定配置的问题,如 MQTT 和 HTTP 的互操作性。oneM2M 标准通过水平协议栈(包括应用层、oneM2M 服务和网络层)解决了这些问题,为 AQM 系统提供了互操作性、可访问性和可扩展性。

3. 方法与实现

本文实现了一个基于 oneM2M 协议的 AQM 系统,包括传感器和路由器、本地网络、数据库管理系统以及用户界面。系统设计基于 oneM2M 功能架构,分为现场域(部署结构)和基础设施域(中央服务器)。

3.1 AQM 传感器
  • Wi-Fi 传感器:使用 ESP32 微控制器和 HC8 CO2 NDIR 传感器,通过 MQTT 协议将数据传输到代理服务器。

  • LoRa 传感器:使用 ESP32 微控制器和 SX1278 LoRa 收发器,数据以 JSON 格式发送并通过 Paho 集成到 MQTT。

  • Zigbee 传感器:使用 Raspberry Pi 和 Zigbee2MQTT,支持超过 3000 种设备,数据直接链接到 MQTT 服务。

3.2 Raspberry Pi 网关

网关负责数据管理和通信,接收来自不同无线技术传感器的数据,并将其转发到互操作代理实体(IPE)进行数据标准化。数据随后被上传到 oneM2M 服务器,并存储在本地 SQL 数据库中。

3.3 基于 oneM2M 的传感器网络

所有设备、网关和传感器数据在 oneM2M 系统中以资源形式表示。中央服务器作为基础设施节点(IN),包含开源的 IN-CSE(公共服务中心实体)。系统通过 IPE 实现不同无线技术设备的互操作性和数据标准化。

3.4 用户界面

用户界面通过 Grafana 实现,提供实时空气质量指标的趋势图和数据实例的描述信息。界面还支持设备注册、删除和网关传感器的概览等功能。

4. 结果与讨论

本节介绍了系统的功能和性能测试结果,包括互操作性和可靠的数据管理。

4.1 互操作性

通过协议堆叠技术,系统实现了不同无线技术的传感器网络的互操作性。所有传输到系统中的数据,无论使用何种无线技术,均以 oneM2M 资源的形式统一存储,确保了数据格式的一致性。

4.2 数据管理可靠性

系统通过网关的本地存储实现了数据存储的可靠性。即使在服务器中断期间,系统仍能实现 99.63% 的数据传输率(DDR)。总体而言,系统在最佳网络条件下实现了 99.5% 的数据可靠性。

4.3 网络性能

系统在三个地点部署,测试了网络的拥塞情况。每个网关的 TCP 重传率均低于 1%,表明系统具有较低的冗余传输。网络延迟通过从网关到服务器的 ping 测试和数据存储时间计算得出。由于扩展网络的需要,系统使用了虚拟专用网络(VPN),这增加了网关到中央服务器的额外跳数,从而影响了平均网络延迟。

5. 结论

本文开发了一个基于 oneM2M 架构的标准化空气质量监测网络,实现了互操作性、可扩展性和数据可靠性。系统通过多个网关和中央服务器存储不同位置的数据,展示了在不同网络条件下的高效数据管理能力。未来的工作将包括增加更多信息(如位置和语义)以增强从物理环境到数字世界的空气质量建模能力。

6. 致谢

作者感谢 UP CARE 的指导和建设性反馈,以及 DOST 的项目资助。同时感谢家人和朋友的支持。

相关文章:

基于 oneM2M 标准的空气质量监测系统的互操作性

论文标题 英文标题: Interoperability of Air Quality Monitoring Systems through the oneM2M Standard 中文标题: 基于 oneM2M 标准的空气质量监测系统的互操作性 作者信息 Jonnar Danielle Diosana, Gabriel Angelo Limlingan, Danielle Bryan Sor…...

春晚舞台上的人形机器人:科技与文化的奇妙融合

文章目录 人形机器人Unitree H1的“硬核”实力传统文化与现代科技的创新融合网友热议与文化共鸣未来展望:科技与文化的更多可能结语 2025 年央视春晚的舞台,无疑是全球华人目光聚焦的焦点。就在这个盛大的舞台上,一场名为《秧BOT》的创意融合…...

零基础学习书生.浦语大模型-入门岛

第一关:Linux基础知识 Cursor连接服务器 使用Remote - SSH插件即可 注:46561:服务器端口号 运行指令 python hello_world.py端口映射 ssh -p 46561 rootssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyCheckingno …...

Gurobi基础语法之 addConstr, addConstrs, addQConstr, addMQConstr

在新版本的 Gurobi 中,向 addConstr 这个方法中传入一个 TempConstr 对象,在模型中就会根据这个对象生成一个约束。更重要的是:TempConstr 对象可以传给所有addConstr系列方法,所以下面先介绍 TempConstr 对象 TempConstr TempC…...

数据结构---图的遍历

图的遍历(Travering Graph):从图的某一顶点出发,访遍图中的其余顶点,且每个顶点仅被访问一次,图的遍历算法是各种图的操作的基础。 复杂性:图的任意顶点可能和其余的顶点相邻接,可能在访问了某个顶点后,沿某条路径搜索…...

Qwen 模型自动构建知识图谱,生成病例 + 评价指标优化策略

关于数据库和检索方式的选择 AI Medical Consultant for Visual Question Answering (VQA) 系统:更适合在前端使用向量数据库(如FAISS)结合关系型数据库来实现图像和文本的检索与存储。因为在 VQA 场景中,你需要对患者上传的图像或…...

.Net Web API 访问权限限定

看到一个代码是这样的: c# webapi 上 [Route("api/admin/file-service"), AuthorizeAdmin] AuthorizeAdmin 的定义是这样的 public class AuthorizeAdminAttribute : AuthorizeAttribute {public AuthorizeAdminAttribute(){Roles "admin"…...

项目架构调整,切换版本并发布到中央仓库

文章目录 0.完成运维篇maven发布到中央仓库的部分1.配置server到settings.xml2.配置gpg 1.架构调整1.sunrays-dependencies(统一管理依赖和配置)1.作为单独的模块2.填写发布到中央仓库的配置1.基础属性2.基本配置3.插件配置 3.完整的pom.xml 2.sunrays-f…...

考试知识点位运算

深入理解位运算 在C编程的世界里,位运算作为一种直接对二进制位进行操作的运算方式,虽然不像加减乘除等算术运算那样广为人知,却在许多关键领域发挥着至关重要的作用。从底层系统开发到高效算法设计,位运算都展现出其独特的魅力与…...

matlab快速入门(2)-- 数据处理与可视化

MATLAB的数据处理 1. 数据导入与导出 (1) 从文件读取数据 Excel 文件:data readtable(data.xlsx); % 读取为表格(Table)CSV 文件:data readtable(data.csv); % 自动处理表头和分隔符文本文件:data load(data.t…...

Kafka中文文档

文章来源:https://kafka.cadn.net.cn 什么是事件流式处理? 事件流是人体中枢神经系统的数字等价物。它是 为“永远在线”的世界奠定技术基础,在这个世界里,企业越来越多地使用软件定义 和 automated,而软件的用户更…...

Python-列表

3.1 列表是什么 在Python中,列表是一种非常重要的数据结构,用于存储一系列有序的元素。列表中的每个元素都有一个索引,索引从0开始。列表可以包含任何类型的元素,包括其他列表。 # 创建一个列表my_list [1, 2, 3, four, 5.0]…...

51单片机开发:定时器中断

目标:利用定时器中断,每隔1s开启/熄灭LED1灯。 外部中断结构图如下图所示,要使用定时器中断T0,须开启TE0、ET0。: 系统中断号如下图所示:定时器0的中断号为1。 定时器0的工作方式1原理图如下图所示&#x…...

【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(二)

目录 1 -> HML语法 1.1 -> 页面结构 1.2 -> 数据绑定 1.3 -> 普通事件绑定 1.4 -> 冒泡事件绑定5 1.5 -> 捕获事件绑定5 1.6 -> 列表渲染 1.7 -> 条件渲染 1.8 -> 逻辑控制块 1.9 -> 模板引用 2 -> CSS语法 2.1 -> 尺寸单位 …...

算法【混合背包】

混合背包是指多种背包模型的组合与转化。 下面通过题目加深理解。 题目一 测试链接:1742 -- Coins 分析:这道题可以通过硬币的个数将其转化为01背包,完全背包和多重背包。如果硬币的个数是1个,则是01背包;如果硬币的…...

WordPress eventon-lite插件存在未授权信息泄露漏洞(CVE-2024-0235)

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...

基于微信小程序的医院预约挂号系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

C++初阶 -- 手撕string类(模拟实现string类)

目录 一、string类的成员变量 二、构造函数 2.1 无参版本 2.2 有参版本 2.3 缺省值版本 三、析构函数 四、拷贝构造函数 五、c_str函数 六、operator重载 七、size函数 八、迭代器iterator 8.1 正常版本 8.2 const版本 九、operator[] 9.1 正常版本 9.2 const版…...

【Postman接口测试】Postman的安装和使用

在软件测试领域,接口测试是保障软件质量的关键环节之一,而Postman作为一款功能强大且广受欢迎的接口测试工具,能够帮助测试人员高效地进行接口测试工作。本文将详细介绍Postman的安装和使用方法,让你快速上手这款工具。 一、Pos…...

miniconda学习笔记

文章主要内容:演示miniconda切换不同python环境,安装python库,使用pycharm配置不同的conda建的python环境 目录 一、miniconda 1. 是什么? 2.安装miniconda 3.基本操作 一、miniconda 1. 是什么? miniconda是一个anac…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...