基于云的物联网系统用于实时有害藻华监测:通过MQTT和REST API无缝集成ThingsBoard

论文标题

**英文标题:**Cloud-Based IoT System for Real-Time Harmful Algal Bloom Monitoring: Seamless ThingsBoard Integration via MQTT and REST API
**中文标题:**基于云的物联网系统用于实时有害藻华监测:通过MQTT和REST API无缝集成ThingsBoard

作者信息

  • Ammar Haziq Annas,国际伊斯兰大学马来西亚吉隆坡校区,计算机科学系,ammarannas02@gmail.com

  • Nik Nor Muhammad Saifudin Nik Mohd Kamal,国际伊斯兰大学马来西亚吉隆坡校区,计算机科学系,saifudinkamal11@gmail.com

  • Ahmad Anwar Zainuddin,国际伊斯兰大学马来西亚吉隆坡校区,计算机科学系,anwarzain@iium.edu.com

  • Normawaty Mohammad Noor,国际伊斯兰大学马来西亚关丹校区,海洋与海洋科学研究所,normahwaty@iium.edu.my

  • Amir ‘Aatief Amir Hussin,国际伊斯兰大学马来西亚吉隆坡校区,计算机科学系,amiraatieff@iium.edu.my

  • Roziawati Mohd Razali,马来西亚渔业研究所,roziawati@dof.gov.my

论文出处

2024 IEEE 22nd Student Conference on Research and Development (SCOReD),2024年12月19-20日
DOI: 10.1109/SCOReD64708.2024.10872705


摘要

本文提出了一种基于云的物联网(IoT)解决方案,用于实时监测水质,特别是针对有害藻华(HABs)的检测。该系统利用成本效益高的传感器,通过MQTT和REST API协议将传感器数据传输到托管在Microsoft Azure上的ThingsBoard平台,实现可靠、低延迟的数据传输和存储。通过数值和图形化仪表板,用户可以实时和历史数据监测,支持早期异常检测和快速响应。该系统具有成本效益高、灵活性强、易于扩展的特点,可应用于不同的监测环境,并有助于主动管理水资源和保护公共健康免受藻华威胁。


一、引言

有害藻华(HABs)是一种严重的环境问题,其快速生长的藻类可能释放有害毒素,对水生生态系统、饮用水供应和公共健康构成威胁。传统的水质监测方法成本高、复杂,限制了其广泛采用和连续监测的可扩展性。物联网(IoT)技术的发展使得利用非工业级传感器创建经济、灵活、可扩展的解决方案成为可能。结合云平台,这些传感器能够支持实时监测,为可持续的水管理提供数据驱动的决策支持。


二、组件与设计结构

A. 云托管环境

该系统的云基础设施托管在Azure虚拟机(VM)上,提供可扩展且安全的环境,支持实时数据流处理和仪表板渲染。通过IP白名单、防火墙规则和基于密钥的SSH认证,确保数据的安全性和完整性。

B. ThingsBoard平台概述

ThingsBoard因其强大的IoT数据管理和可视化功能而被选中,支持MQTT和REST API协议,能够无缝处理遥测数据。与Freeboard和Grafana相比,ThingsBoard提供了更全面的设备管理能力、内置数据存储和对多种IoT协议的支持。

C. 数据存储

ThingsBoard使用PostgreSQL存储元数据(如设备信息和用户角色),并使用类似Cassandra的嵌入式数据库处理遥测数据。这种组合非常适合IoT应用,因为Cassandra能够高效存储大量实时数据。

D. 数据可视化与仪表板

ThingsBoard提供可定制的仪表板,支持数值显示和基于图形的可视化。数值显示用于快速查看关键参数的实时值,而图形可视化用于监测历史趋势和模式,帮助早期检测水质异常。


三、方法论

该系统通过在Azure VM上托管的ThingsBoard平台集成IoT设备,创建设备、开发通信代码,并测试传感器与云平台的连接。系统架构包括IoT传感器与ESP32微控制器连接,通过MQTT或REST API协议将数据传输到ThingsBoard。用户可以通过ThingsBoard仪表板实时监控数据,并通过数值显示和图形分析获得行动洞察。


四、结果与讨论

A. 连接性和数据传输性能

MQTT和REST API的连接性测试确认了从传感器到ThingsBoard平台的稳定遥测数据传输。MQTT作为轻量级协议,表现出低延迟和持续数据流,适合实时监测;而REST API在处理偶发数据推送时表现出更高的延迟。通过调整MQTT的QoS设置和实现ESP32的自动重连机制,确保了系统的连续运行。

B. 仪表板功能与数据可视化

ThingsBoard仪表板提供了数值显示和基于图形的可视化,支持即时读取关键参数和监测历史趋势。这种双重可视化方式有助于用户快速了解当前状态,并分析长期变化或潜在问题。

C. 数据管理和存储性能

ThingsBoard的内置存储(PostgreSQL用于元数据,Cassandra用于时间序列数据)在测试中表现出色,能够可靠地存储和检索数据,无需外部数据库。

D. 系统可扩展性和灵活性

ThingsBoard平台能够轻松扩展,支持多个监测设备的注册和数据流的区分。新的设备或传感器可以轻松添加,仪表板会自动更新以反映新参数。

E. 面临的挑战及解决方案

系统在实际部署中面临网络断开导致的数据丢失问题,通过调整MQTT的QoS设置和启用ESP32的自动重连机制加以解决。此外,配置Azure VM防火墙规则以限制访问,确保数据的安全性和完整性。

F. 对水质监测的影响

该系统能够实时监测水质变化,帮助用户及时采取措施,避免长时间处于有害条件下。系统自动化数据采集减少了人工监测的需求,节省了时间和运营成本。


五、结论

本文提出了一种基于云的物联网架构,用于实时水质监测,特别是针对有害藻华的检测。该系统通过MQTT和REST API将遥测数据传输到ThingsBoard,提供可靠的数据存储和可视化,支持即时读取和趋势分析。尽管存在偶尔的网络中断,但通过调整MQTT的QoS设置和启用自动重连机制,系统能够保持连续的数据流。该模块化架构易于扩展,支持未来扩展,包括添加更多传感器和集成预测分析,以支持主动的环境管理。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建医疗Mini DeepSeek R1:用强化学习训练

构建 医疗迷你 DeepSeek R1:用强化学习训练 在当今快速发展的技术时代,大语言模型(LLMs)与医疗的结合带来了无限的机遇和独特的挑战。本文探索如何利用 Group Relative Policy Optimization(GRPO)——由 D…

在mfc中使用自定义三维向量类和计算多个三维向量的平均值

先添加一个普通类, Vector3.h, // Vector3.h: interface for the Vector3 class. // //#if !defined(AFX_VECTOR3_H__53D34D26_95FF_4377_BD54_57F4271918A4__INCLUDED_) #define AFX_VECTOR3_H__53D34D26_95FF_4377_BD54_57F4271918A4__INCLUDED_#if _MSC_VER > 1000 #p…

DeepSeek、微信、硅基流动、纳米搜索、秘塔搜索……十种不同方法实现DeepSeek使用自由

为了让大家实现 DeepSeek 使用自由,今天分享 10 个畅用 DeepSeek 的平台。 一、官方满血版:DeepSeek官网与APP 首推,肯定是 DeepSeek 的官网和 APP,可以使用满血版 R1 和 V3 模型,以及联网功能。 网址: htt…

Solon Cloud —— 介绍

说明 前面的章节,我们讲解了 Solon 的开发应用,接下来准备讲解 Solon Cloud 的的开发。Solon Cloud 是为微服务和云原生准备的分布式开发套件。 微服务 就像 MVC 一样,对于微服务的理解也是有不同的。微服务是一组协调工作的小而自治的服务…

python中的异常-模块-包

文章目录 异常异常的定义异常捕获语法捕获常规异常捕获指定异常捕获多个异常捕获所有异常异常else异常finally 异常传递总结 模块概念导入自定义模块及导入main方法all变量 总结 包自定义包定义pycharm中建包的基本步骤导入方式 第三方包 异常 异常的定义 当检测到一个错误时…

跟着柳叶刀数字健康,学习如何通过病理切片预测分子分类对预后的影响|项目复现

小罗碎碎念 项目复现 今天和大家分享一个非常具有参考价值的项目,手把手带着大家复现一篇发表在柳叶刀数字健康的文章。 花了六个小时才完成的这篇推送,信息量非常大,遇到了很多报错问题,但是解决以后的感觉是非常爽的,先给大家展示一下最终的成果——在同一张切片上,通…

Android Http-server 本地 web 服务

时间:2025年2月16日 地点:深圳.前海湾 需求 我们都知道 webview 可加载 URI,他有自己的协议 scheme: content:// 标识数据由 Content Provider 管理file:// 本地文件 http:// 网络资源 特别的,如果你想直接…

PyTorch 源码学习:阅读经验 代码结构

分享自己在学习 PyTorch 源码时阅读过的资料。本文重点关注阅读 PyTorch 源码的经验和 PyTorch 的代码结构。因为 PyTorch 不同版本的源码实现有所不同,所以笔者在整理资料时尽可能按版本号升序,版本号见标题前[]。最新版本的源码实现还请查看 PyTorch 仓…

Flowmix/Docx 多模态文档编辑器:新增【操作留痕】功能,让文档编辑有迹可循!...

hi, 大家好, 我是徐小夕. 最近 flowmix/docx 多模态文档编辑器新增了【操作留痕】功能: 体验地址: https://orange.turntip.cn/docx-react 在和大家分享更新功能之前,我简单介绍一下flowmix/docx 的【操作留痕】功能。 操作留痕功能就像是一位忠实的助手…

[每周一更]-(第135期):AI融合本地知识库(RAG),谁才是最强王者!

文章目录 简单看下DeepSeek满血版配置RAG是什么?**RAG 的核心原理**RAG的局限性**RAG 技术栈**技术实现 **RAG 的应用场景****RAG vs 传统 LLM****方法 1:配合 LangChain 加载知识库****方法 2:使用 Ollama****方法 3:结合 Anythi…

go orm GORM

官网:https://gorm.io/ docs:https://gorm.io/docs/ 博客:https://www.tizi365.com/archives/6.html import ("fmt""gorm.io/driver/mysql""gorm.io/gorm" )type Product struct {gorm.ModelCode stringPr…

毕业项目推荐:基于yolov8/yolo11的100种中药材检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示:功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出(xls格式)功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

基于Python CNN和词向量的句子相似性度量

毕业设计:基于CNN和词向量的句子相似性度量 注意:因为要计算WMD距离所以需要安装依赖库pyemd 开发环境 Anaconda Pycharm 项目说明 按照老师要求复现论文(论文提出了一个新概念相似元,通过相似元来计算两个句子的相似度‘),同…

CPU安装pytorch(别点进来)

终于! 深度学习环境配置5——windows下的torch-cpu1.2.0环境配置_requirement怎么写torch cu-CSDN博客

Django-Vue 学习-VUE

主组件中有多个Vue组件 是指在Vue.js框架中,主组件是一个父组件,它包含了多个子组件(Vue组件)。这种组件嵌套的方式可以用于构建复杂的前端应用程序,通过拆分功能和视图,使代码更加模块化、可复用和易于维…

MATLAB基础学习相关知识

MATLAB安装参考:抖音-记录美好生活 MATLAB基础知识学习参考:【1小时Matlab速成教程-哔哩哔哩】 https://b23.tv/CnvHtO3 第1部分:变量定义和基本运算 生成矩阵: % 生成矩阵% 直接法% ,表示行 ;表示列 a [1,2,3;4,5,6;7,8,9];%…

TypeScript - 数据类型 - 声明变量

TypeScript 是一种强类型的 JavaScript 超集,它引入了静态类型检查和类型注解。基础类型是 TypeScript 中最基本的类型,用于定义变量的类型。 一、数据类型 常用基本类型:boolean 、number 、string 常用,都是小写 1.布尔类型&…

有序任务规划的局限性

有序任务规划的局限性(Limitation of Ordered-Task Planning) 1. 任务前向分解(TFD)的限制 TFD(Task Forward Decomposition)是一种 基于完全有序方法(Totally Ordered Methods)的任…

MATLAB学习之旅:数据插值与曲线拟合

在MATLAB的奇妙世界里,我们已经走过了一段又一段的学习旅程。从基础的语法和数据处理,到如今,我们即将踏入数据插值与曲线拟合这片充满魅力的领域。这个领域就像是魔法中的艺术创作,能够让我们根据现有的数据点,构建出更加丰富的曲线和曲面,从而更好地理解和描述数据背后…

ASP.NET Core 下载文件

本文使用 ASP .NET Core,适用于 .NET Core 3.1、.NET 5、.NET 6和.NET 8。 另请参阅: 如何在将文件发送到浏览器后自动删除该文件。 如何将文件从浏览器上传到服务器。 如何在 ASP.NET Core 应用程序中从 URL/URI 下载文件。 如果使用.NET Framework&am…