基于 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…...

区块链项目孵化与包装设计:从概念到市场的全流程指南
区块链技术的快速发展催生了大量创新项目,但如何将一个区块链项目从概念孵化成市场认可的产品,是许多团队面临的挑战。本文将从孵化策略、包装设计和市场落地三个维度,为你解析区块链项目成功的关键步骤。 一、区块链项目孵化的核心要素 明确…...

JavaScript的基本组成
1、JavaScript的组成部分 JavaScript可以分为三个部分:ECMAScript标准、DOM、BOM。 ECMAScript标准 即JS的基本语法,JavaScript的核心,描述了语言的基本语法和数据类型,ECMAScript是一套标 准,定义了一种语言…...

[Linux]从零开始的STM32MP157 U-Boot移植
一、前言 在上一次教程中,我们了解了STM32MP157的启动流程与安全启动机制。我们还将FSBL的相关代码移植成功了。大家还记得FSBL的下一个步骤是什么吗?没错,就是SSBL,而且常见的我们将SSBL作为存放U-Boot的地方。所以本次教程&…...

【Unity3D】实现横版2D游戏——攀爬绳索(简易版)
目录 GeneRope.cs 场景绳索生成类 HeroColliderController.cs 控制角色与单向平台是否忽略碰撞 HeroClampController.cs 控制角色攀爬 OnTriggerEnter2D方法 OnTriggerStay2D方法 OnTriggerExit2D方法 Update方法 开始攀爬 结束攀爬 Sensor_HeroKnight.cs 角色触发器…...

【llm对话系统】大模型 Llama 源码分析之 LoRA 微调
1. 引言 微调 (Fine-tuning) 是将预训练大模型 (LLM) 应用于下游任务的常用方法。然而,直接微调大模型的所有参数通常需要大量的计算资源和内存。LoRA (Low-Rank Adaptation) 是一种高效的微调方法,它通过引入少量可训练参数,固定预训练模型…...

算法随笔_35: 每日温度
上一篇:算法随笔_34: 最后一个单词的长度-CSDN博客 题目描述如下: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升…...

嵌入式硬件篇---CPUGPUTPU
文章目录 第一部分:处理器CPU(中央处理器)1.通用性2.核心数3.缓存4.指令集5.功耗和发热 GPU(图形处理器)1.并行处理2.核心数量3.内存带宽4.专门的应用 TPU(张量处理单元)1.为深度学习定制2.低精…...

STM32 PWM驱动舵机
接线图: 这里将信号线连接到了开发板的PA1上 代码配置: 这里的PWM配置与呼吸灯一样,呼吸灯连接的是PA0引脚,输出比较单元用的是OC1通道,这里只需改为OC2通道即可。 完整代码: #include "servo.h&quo…...

设计心得——平衡和冗余
一、平衡 在前面分析了一些软件设计的基础和原则后,今天分析一下整体设计上的一些实践问题。首先分析一下设计上的平衡问题。平衡非常好理解,看到过天平或者标称的同学们应该都知道什么平衡。无论在哪个环境里,平衡都是稳定的基础。 既然说到…...

webrtc协议详细解释
### 一、概述与背景 WebRTC(Web Real-Time Communication)最早由 Google 在 2011 年开源,旨在为浏览器与移动端应用提供客户端直连(点对点)方式进行实时音视频及数据传输的能力。传统的网络应用在进行高实时性音视频通…...