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

news2025/2/2 6:23:46

论文标题

英文标题: 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 的项目资助。同时感谢家人和朋友的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2289661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter常用Widget小部件

小部件Widget是一个类,按照继承方式,分为无状态的StatelessWidget和有状态的StatefulWidget。 这里先创建一个简单的无状态的Text小部件。 Text文本Widget 文件:lib/app/app.dart。 import package:flutter/material.dart;class App exte…

电路研究9.2.6——合宙Air780EP中HTTP——HTTP GET 相关命令使用方法研究

这个也是一种协议类型: 14.16 使用方法举例 根据之前多种类似的协议的相关信息: HTTP/HTTPS:超文本传输协议(HTTP)用于Web数据的传输,而HTTPS是HTTP的安全版本,使用SSL/TLS进行加密。与FTP相比&…

【力扣】283.移动零

AC截图 题目 思路 遍历nums数组,将0删除并计数,最后在nums数组尾部添加足量的零 有一个问题是,vector数组一旦erase某个元素,会导致迭代器失效。好在有解决办法,erase会返回下一个有效元素的新迭代器。 代码 class …

linux设置mysql远程连接

首先保证服务器开放了mysql的端口 然后输入 mysql -u root -p 输入密码后即可进入mysql 然后再 use mysql; select user,host from user; update user set host"%" where user"root"; flush privileges; 再执行 select user,host from user; 即可看到变…

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

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

【linux网络(4)】传输层协议详解(上)

目录 前言1. UDP协议报文详解2. TCP协议的报文格式3. TCP的确认应答机制4. TCP的连接管理机制1. TCP三次握手的过程2. TCP四次挥手的过程 5. 总结 前言 上一篇文章介绍了应用层中最重要的http协议,本篇文章将讲解传输层的两个协议: TCP和UDP. 由于UDP是一种简洁的协…

【esp32-uniapp】uniapp小程序篇02——引入组件库

一、引入组件库(可自行选择其他组件库) 接下来介绍colorUI、uview plus的安装,其他的安装可自行查找教程 1.colorUI weilanwl/coloruicss: 鲜亮的高饱和色彩,专注视觉的小程序组件库 下载之后解压,将\coloruicss-ma…

【机器学习】自定义数据集,使用scikit-learn 中K均值包 进行聚类

一、K 均值算法简介 K 均值算法的目标是将数据集划分为 K 个簇,使得每个数据点属于离它最近的簇中心(centroid)所代表的簇。 K均值聚类算法步骤 ① 初始化: 随机选择原始数据的K个数据点作为初始质心(聚类中心&…

进阶数据结构——高精度运算

目录 前言一、高精度运算的定义与背景二、高精度运算的实现方式三、高精度运算的算法实现四、高精度运算的应用场景五、代码模版(c)六、经典例题1.[高精度加法](https://www.lanqiao.cn/problems/1516/learning/?page1&first_category_id1&name…

设计模式Python版 原型模式

文章目录 前言一、原型模式二、原型模式示例三、原型管理器 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式:关注类和对…

用 JavaScript 打造交互式表格:添加与删除行功能

前言 在网页开发中,创建交互式表格是很常见的。今天我们通过一个示例,来展示如何使用 HTML、CSS 和 JavaScript 实现一个能够动态添加和删除行的表格,并详细解释其中 JavaScript 部分的代码逻辑。 功能展示 初始状态:页面加载后…

Linux02——Linux的基本命令

目录 ls 常用选项及功能 综合示例 注意事项 cd和pwd命令 cd命令 pwd命令 相对路径、绝对路径和特殊路径符 特殊路径符号 mkdir命令 1. 功能与基本用法 2. 示例 3. 语法与参数 4. -p选项 touch-cat-more命令 1. touch命令 2. cat命令 3. more命令 cp-mv-rm命…

服务器虚拟化实战:架构、技术与最佳实践

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 服务器虚拟化是现代 IT 基础设施的重要组成部分,通过虚拟化技术可以提高服务器资源利用率、降低硬件成本&am…

AI大模型开发原理篇-1:语言模型雏形之N-Gram模型

N-Gram模型概念 N-Gram模型是一种基于统计的语言模型,用于预测文本中某个词语的出现概率。它通过分析一个词语序列中前面N-1个词的出现频率来预测下一个词的出现。具体来说,N-Gram模型通过将文本切分为长度为N的词序列来进行建模。 注意:这…

Python从零构建macOS状态栏应用(仿ollama)并集成AI同款流式聊天 API 服务(含打包为独立应用)

在本教程中,我们将一步步构建一个 macOS 状态栏应用程序,并集成一个 Flask 服务器,提供流式响应的 API 服务。 如果你手中正好持有一台 MacBook Pro,又怀揣着搭建 AI 聊天服务的想法,却不知从何处迈出第一步,那么这篇文章绝对是你的及时雨。 最终,我们将实现以下功能: …

leetcode 2080. 区间内查询数字的频率

题目如下 数据范围 示例 这题十分有意思一开始我想对每个子数组排序二分结果超时了。 转换思路:我们可以提前把每个数字出现的位置先记录下来形成集合, 然后拿着left和right利用二分查找看看left和right是不是在集合里然后做一个相减就出答案了。通过…

深入了解 SSRF 漏洞:原理、条件、危害

目录 前言 SSRF 原理 漏洞产生原因 产生条件 使用协议 使用函数 漏洞影响 防御措施 结语 前言 本文将深入剖析 SSRF(服务端请求伪造)漏洞,从原理、产生原因、条件、影响,到防御措施,为你全面梳理相关知识&am…

11.QT控件:输入类控件

1. Line Edit(单行输入框) QLineEdit表示单行输入框,用来输入一段文本,但是不能换行。 核心属性: 核心信号: 2. Text Edit(多行输入框) QTextEdit表示多行输入框,也是一个富文本 & markdown编辑器。并且能在内容超…

Cesium+Vue3教程(011):打造数字城市

文章目录 Cesium打造数字城市创建项目加载地球设置底图设置摄像头查看具体位置和方向添加纽约建筑模型并设置样式添加纽约建筑模型设置样式划分城市区域并着色地图标记显示与实现实现飞机巡城完整项目下载Cesium打造数字城市 创建项目 使用vite创建vue3项目: pnpm create v…

Windows系统本地部署deepseek 更改目录

本地部署deepseek 无论是mac还是windows系统本地部署deepseek或者其他模型的命令和步骤是一样的。 可以看: 本地部署deepsek 无论是ollama还是部署LLM时候都默认是系统磁盘,对于Windows系统,我们一般不把应用放到系统盘(C:)而是…