首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传感器数据采集分析软件

传感器数据采集分析软件
EN

Stack Overflow用户
提问于 2012-05-03 18:55:52
回答 2查看 661关注 0票数 2

我有一个应用程序,可以从智能住宅中的十几个传感器收集数据。它以以下表格格式将其数据存储在MySQL数据库中:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `datapoints` (
  `PointID` int(11) NOT NULL,
  `System` varchar(50) NOT NULL,
  `Sensor` varchar(50) NOT NULL,
  `Value` varchar(50) NOT NULL,
  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`PointID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

System场用于分组传感器,例如,“空气”系统有“温度”和“湿度”传感器,“太阳能电池板”系统有“发电(kW)”和“今日生产(kWh)”。所有字段都是varchar,因为有几种来自传感器的数据类型,而原始数据库设计人员则采用了简单的方法。(我知道这种数据结构效率不高,但改变它为时已晚。)

传感器包括空气温度、湿度、太阳能电池板输出、太阳能热水器温度等.

我们现在有了这个数据库,每天收集数万个数据点。到目前为止,我们已经使用了一个查询数据库的应用程序来构建传感器数据随时间变化的图表。然而,我们现在有许多千兆字节的数据,最终将耗尽日志硬件上的存储空间。

我正在寻找一种方法收集统计数据,然后删除它。我想到了很多类似于谷歌分析,Piwik,Awstats的数据。问题是我真的不知道从哪里开始。我希望能够查看最近几次的更详细的数据,例如:

  • 所有数据的1天值
  • 1周的小时数据
  • 1个月的每日数据
  • 我想我想永远保持每周和每月的统计数据。

但是,我不想过多地平滑数据。最终,我将不得不平滑数据,但我想保持它的详细尽可能长。例如,如果我的发电量大幅上升,如果它被平滑(低)成小时数据,然后再(低)在每日数据中,然后再(低)在每周数据中,本周的数据将不会反映出有一个高峰,因为平均值并不是所有点的平均值相同的。

有什么软件已经这样做了吗?如果不是,什么是好的开始方式?我可以使用任何语言,但首选是.NET、PHP或C(适用于Windows),因为这些语言是其他项目成员已经知道的语言,并且日志硬件已经设置好了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-03 15:43:54

如果我今天还在做这个项目(以及其他类似的项目),我会使用时间序列数据库

TSDB是专门为长期摄入大量数据点并允许对它们进行分析而设计的。

现在,我一直在为另一个项目使用TimeScale扩展PostgreSQL,它将完全满足我的需要。

票数 0
EN

Stack Overflow用户

发布于 2013-08-18 03:43:11

您的数据问题是如此之大和潜在的开放式,我不认为有任何单一的工具可以解决您的问题。你可能需要为你的具体问题发明你自己的工具。

我认为您应该看看科学和工程社区使用的基于Python的工具。这包括用于交互式数据分析和可视化的IPythonMatplotlib。使用Numpy西皮处理和处理大型数据数组。最后,当您需要进行一些严肃的数字处理时,请考虑SciKit学习

祝好运。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10437654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档