我目前正在构建一个web应用程序,用作储罐液位仪表板。它解析来自坦克中多个传感器的传入数据,并将这些值存储在数据库中。应用程序是使用express/node构建的。js。数据每5分钟采样一次,但每小时发送到服务器(每次传输12个样本)。
我目前正在尝试扩展应用程序的功能,以检测油箱液位因加注或排空而发生的变化。最终目标是编制每日报告,生成填充/清空事件的摘要,以及添加或删除的时间和数量。此图显示了一天内储罐容量的屏幕截图-
https://imgur.com/a/kZ50N
.
我的问题是:
-
有哪些算法/功能可用于检测油箱液位的变化?我将如何在应用程序中实现它们?
-
数据处理应在何时进行?当数据被解析并保存到服务器时?在一天结束时使用一个函数来检查当天的所有数据?
-
是否值得考虑在解析阶段进行某种数据清理?我注意到,有时由于噪声,数据中会出现随机尖峰。
-
当他们在完成交付后立即开始清空储罐时,我应该如何处理事件?我需要算法足够健壮,能够检测到坡度方向的变化,从而作为事件的结束。这方面的示例如所提供的图像所示。
我意识到,可能很难找到一个可靠的解决方案。有时油箱在加注的同时排空。这使得很难衡量这些减少。唯一要知道的是,这是在大约15分钟的交付期间发生的,并且交付量比通常的交付总量少。
这是一个有趣的项目。谢谢你的帮助。