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

news/2025/2/22 17:37:39

论文标题

**英文标题:**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.niftyadmin.cn/n/5862583.html

相关文章

深度学习笔记16-VGG-16算法-Pytorch实现人脸识别

目录 前言 一、 前期准备 1. 设置GPU 2. 导入数据 3. 划分数据集 二、调用官方的VGG-16模型 三、 训练模型 1. 编写训练函数 2. 编写测试函数 3. 设置动态学习率 4. 正式训练 四、 结果可视化 1. Loss与Accuracy图 2. 指定图片进行预测 3. 模型评估 五、总结 前言 &#x1f368…

什么是矩阵账号?如何高效运营tiktok矩阵账号

‍‌​​‌‌​‌​‍‌​​​‌‌​​‍‌​​​‌​‌​‍‌​​‌​​‌​‍‌​‌‌​‌‌‌‍‌​‌​‌​​​‍‌​​‌​‌‌​‍‌​​​​‌‌​‍‌​‌​​‌‌‌‍‌​​‌‌​‌​‍‌​‌​​‌‌‌‍‌​‌‌‌​​‌‍‌‌​​‌‌‌​‍‌‌​​‌‌​​‍‌…

SpringBoot有几种获取Request对象的方法

HttpServletRequest 简称 Request,它是一个 Servlet API 提供的对象,用于获取客户端发起的 HTTP 请求信息。例如:获取请求参数、获取请求头、获取 Session 会话信息、获取请求的 IP 地址等信息。 那么问题来了,在 Spring Boot 中…

网络安全域管理 网络安全管理体系

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 信息安全管理体系 1、这些基于产品、技术与管理层面的标准在某些领域得到了很好的应用,但从组织信息安全的各个角度和整个生命周期来考察&#xff0c…

企业知识管理平台重构数字时代知识体系与智能服务网络

内容概要 现代企业知识管理平台的演进呈现出全生命周期管理与智能服务网络构建的双重特征。通过四库体系(知识采集库、加工库、应用库、评估库)的协同运作,该系统实现了从知识沉淀、结构化处理到价值释放的完整闭环。其中,知识图…

vue3 文件类型传Form Data数据格式给后端

在 Vue 3 中,如果你想将文件(例如上传的 Excel 文件)以 FormData 格式发送到后端,可以通过以下步骤实现。这种方式通常用于处理文件上传,因为它可以将文件和其他数据一起发送到服务器。 首先,创建一个 Vue…

Python常见面试题的详解13

1. 以下X是什么类型 X (i for i in range(10)) 要点 在 Python 中,变量的类型取决于其赋值的对象。 下面代码中的 (i for i in range(10)) 是一个生成器表达式。生成器表达式是一种简洁的创建生成器的方式,它类似于列表推导式,但使用圆括号…

# 嵌入式基础学习|C语言——进程篇综合(含进阶)

进程与多任务编程 进程的概念 进程是进行中的程序,即程序的一次执行过程。它包含了程序在内存中的代码、数据以及CPU的执行状态。进程是程序的实例,是操作系统进行资源分配和调度的基本单位。 程序:静态的代码文件,存储在硬盘上…