物联网(IoT)支持的小型水处理厂实时硬件在环(HIL)仿真

news2024/9/22 0:30:27

这篇论文的标题是《Real-Time Hardware-In-The-Loop Simulation of IoT-Enabled Mini Water Treatment Plant》,作者是 Mohamad Taib Miskon 等人,发表在 2024 年 IEEE 自动控制与智能系统国际会议(I2CACIS)上。以下是该论文的主要内容概述:

  1. 研究背景

    • 论文讨论了在马来西亚沙巴州偏远地区,由于地理位置复杂、地形崎岖和交通基础设施不足,传统的供水系统难以覆盖。
    • 作为提供清洁水给沙巴州Lok Dangkaan村庄的一部分,本研究开发了一个专门的小型水处理和过滤系统。
  2. 硬件在环(HIL)技术

    • 采用硬件在环(HIL)框架来支持为Lok Dangkaan的小型水处理厂开发电子控制单元(ECU)。
    • HIL技术通过结合实际硬件和系统动态的软件仿真,增强了原型开发过程。
  3. 系统设计

    • 系统由两套设备组成,每套代表目标部署地点的不同水储存罐位置,使用树莓派作为核心嵌入式控制器。
    • 采用图形用户界面(GUI)展示当前水位和每个位置泵的激活情况。
    • 通过为该地区配置的MQTT协议中继信息。
  4. 研究方法

    • 定义了项目目标,重点是双站点设置:站点1作为收集池塘(罐1),站点2包括过滤系统和储存罐(罐2)。
    • 主要目标是建立一个鲁棒的控制器系统,管理两个站点的水过滤系统的所有关键元素,包括泵、指示器、开关、水位传感器、数据记录、远程监控和水使用量调节。
  5. 硬件和软件开发

    • 电子控制单元(ECU)包括控制面板、树莓派、接触器继电器、灯指示器、选择开关和Arduino Nano。
    • HIL部分包括嵌入在Arduino Nano中的水箱填充模型。
  6. GUI开发

    • 使用开源软件Node-RED开发了GUI,使用SVG图形,每个元素都有其独特的ID。
  7. 实验结果

    • 功能性测试旨在评估系统的操作能力和响应性,包括所有主要功能,从手动控制到界面交互和连接协议。
    • 测试结果表明,系统的所有测试项都表现出令人满意的性能,包括手动启动/停止操作、通过GUI的启动/停止操作、GUI的响应性和更新、灯指示器、MQTT连接、低水位指示器和溢流指示器。
  8. 结论

    • 研究工作对于实施定制的HIL仿真,针对偏远地区的小型水过滤系统具有重要意义,这些地区的传统供水服务无法到达。
    • 功能性测试证实了HIL设置的输入/输出罐仿真的系统操作有效性,所有测试项都显示出令人满意的性能。
    • 论文提出,未来的工作可以集中在提高GUI的响应性,以提供更无缝的用户体验,并探索集成高级诊断功能和机器学习能力,以实现泵操作的预测性维护、预测村庄的水使用情况以增强水管理,并减少中断或短缺的可能性。
  9. 致谢

    • 作者感谢UiTM Terengganu提供测试原型所需的实验室设施,以及马来西亚财政部下属的Unit Pelaksanaan dan Koordinasi Stimulus Ekonomi Antara Agensi Nasional (LAKSANA) 和沙巴州Baitulmal Negeri Sabah (PBNS)在资金计划下对这项工作的支持。

论文详细介绍了一种实时HIL仿真系统,用于物联网(IoT)支持的小型水处理厂,强调了在实际部署前进行预部署验证和可靠性评估的重要性。

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

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

相关文章

搭建 xxl-job 调度中心

文章目录 1、初始化“调度数据库”2、修改“调度中心”配置3、打包运行”调度中心“ 1、初始化“调度数据库” 请下载项目源码并解压,获取 “调度数据库初始化SQL脚本” 并执行即可。 “调度数据库初始化SQL脚本” 位置为:/xxl-job/doc/db/tables_xxl_j…

微服务日常总结

1.当我们在开发中,需要连接多个库时,可以在yml中进行配置。 当在查询的时候,跨库时,需要通过DS 注解来指定,需要yml配置需要保持一致。 2. 当我们想把数据存入到clob类型中,需要再字段 的占位符后面加上j…

鸢尾花书实践和知识记录[数学要素3-1万物皆数]

章节框图 文章目录 本章用到的函数使用math库来打印出一些常用的值判断奇数偶数两数加减产生序列矩阵向量的表示:取数组矩阵元素的方法streamlit的绘图矩阵的一般类型构造二维矩阵矩阵的加和运算 本章用到的函数 复数和自然数 使用math库来打印出一些常用的值 i…

多表查询_关联查询

inner join:通常关联项on后面的是主外键,两个表都有的才显示 left join:左连,select * from S left join B on s.字段 B.字段,一定会将左边表的数据全部查询出来 right join:select * from S right join B on s.字段 B.字段一定会将右边表的…

Unity面向对象补全计划 之 List<T>与class(非基础)

C# & Unity 面向对象补全计划 泛型-CSDN博客 关于List,其本质就是C#封装好的一个数组,是一个很好用的轮子,所以并不需要什么特别说明 问题描述 假设我们有一个表示学生的类 Student,每个学生有姓名和年龄两个属性。我们需要创…

Git学习尚硅谷(002 git常用命令)

尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab) 总时长 4:52:00 共45P 此文章包含第8p-第p15的内容 文章目录 git常用命令设置用户签名初始化本地库查看本地库状态添加暂存区提交本地库日志查看修改文件版本穿梭 git常用命令 设置用户签名…

视频集中存储智能边缘计算网关软硬一体机智能边缘计算网关应用场景

在信息化飞速发展的今天,数据处理的速度和效率直接影响到各行各业的运作和发展。传统的云计算模式虽然强大,但在面对实时性和带宽要求越来越高的应用场景时,往往显得力不从心。此时,智能边缘计算网关的出现,为我们带来…

源代码怎么加密防泄漏?9种方法教会你

想做源代码加密防止泄漏,首先要了解程序员可以通过哪些方式将源代码传输出去! 程序员泄密的常见方式 物理方法: — 网线直连,即把网线从墙上插头拔下来,然后和一个非受控电脑直连; — winPE启动,通过光盘…

pikachu文件包含漏洞靶场攻略

1.File inclusion(local)(本地文件包含) 步骤一:选择一个球员提交 步骤二:filename后面输入../../../../shw.php访问php文件 2.File Inclusion(remote)(远程文件包含) 步骤一:修改配置 远程包…

网吧业务安全对抗(有源码)

网吧业务竞争激烈,网吧都会有以下系统软件。 无盘: 无盘是指没有硬盘。好处是统一维护管理和节约成本。本人研究无盘好几年,后面会专门发帖介绍。 计费: 是指收费系统。 营销软件: 包括销售饮品、‌零食和向客户发送电子邮件营销和短信营销等。产品如…

银行资本种类

一、账面资本(会计资本) 账面资本又称为会计资本,是指商业银行持股人的永久性资本投入,即出资人在商业银行资产中享有的经济利益,其金额等于资产减去负债后的余额,包括实收资本或普通股、资本公积、盈余公…

【C++第十六章】多态

【C第十六章】多态 定义🧐 多态通俗来说,就是多种形态,我们去完成某个行为时,不同对象完成时会产生出不同的状态。比如游乐园中,1.2米以上买票就需要买成人票,1.2米以下就可以买儿童票。 多态是在不同继承…

Spring之整合Mybatis底层源码解析

整合核心思路 由很多框架都需要和Spring进行整合,而整合的核心思想就是把其他框架所产生的对象放到Spring容器中,让其成为Bean。 ​ 比如Mybatis,Mybatis框架可以单独使用,而单独使用Mybatis框架就需要用到Mybatis所提供的一些类…

ctfshow之文件包含(web78~web86)

web78 if(isset($_GET[file])){$file $_GET[file];include($file); }else{highlight_file(__FILE__); } 解法一&#xff1a;data伪协议 ?filedata://text/plain,<?php system("tac flag.php"); 解法二&#xff1a;php:filter伪协议 ?filepHp://FilTer/conver…

数理天地杂志数理天地杂志社数理天地编辑部2024年第12期目录

基础精讲 “瓜豆模型”与动点问题探析 明倩妤; 2-3 二次函数参数取值范围常见题型分析 邹纯; 4-5 基于数形结合思想的初中数学解题实践——以初中函数问题为例 李玉平; 6-7 旋转思想在构造全等三角形中的渗透 赵兴燕; 8-9 初中数学“一元一次方程”试题设计…

作业0903

1.封装栈 #include <iostream>using namespace std;class myStack { private:int size; // 大小int capacity;int *ptr;int top; // 栈顶下标 public:// 无参构造函数myStack():size(0), top(-1), capacity(10) {ptr new int[capacity];}// 有参构造函数myStack(in…

【数据结构】你真的了解栈和队列吗?

文章目录 1. 栈1.1 概念与结构1.2 栈的实现 2. 队列2.1 概念与结构2.2 队列的实现 3. 栈和队列的算法题3.1 有效的括号3.2 用队列实现栈3.3用栈实现队列3.4 设计循环队列 4. 结语 1. 栈 1.1 概念与结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插…

.hackme靶机通关攻略

第一步查找ip 通过御剑扫描到IP进入尝试 成功找到靶场 步骤二来到这个靶场注册登录 进来点一下提交出来书名 只有一个框框那就来试试sql注入 1’ and 12 -- 然后查看数据库 -1 union select database(),2,3 # 查看数据库表名 -1 union select group_concat(table_name),2…

Java面试题精选:消息队列(三)

1、RabbitMQ中的vhost起什么作用&#xff1f; &#xff08;1&#xff09;vhost本质上就是一个mini版的mq服务器&#xff08;虚拟消息服务器&#xff09;。 有自己的队列、交换器和绑定&#xff0c;最重要的&#xff0c;拥有独立的权限机制&#xff0c;可以做到vhost范围的用户…