传感器数据收集和数据处理系统设计需求请教请教

有个系统需求,一个智能浇花的系统,有大约15个传感器,收集紫外线,温度,PM2.5等,每个传感器的数据大约是30s收集一次(数据收集已经写成了接口,可以直接调用接口),每30s一共产生大约450条数据,要将这些数据存到业务数据库中并根据这些数据输出浇花的策略。

  1. 要对这些数据进行补全(可能会偶尔掉一两个数据),也可能数据会有重复的问题,要进行处理。我的想法是每30秒调用接口放到RabbitMq中,再消费这些数据进行补全或者去重处理,可以采用Flink这些流式数据处理框架吗,还是有更好的方法或架构?不过这种数据量似乎达不到大数据的范畴。
  2. 最终这些数据要收集到数据库中,并且要有一个可视化的平台可以展示这些传感器的数据。这里要集成一个管理系统并进行数据可视化和查询,所以考虑写成接口,然后用vue和SpringBoot写一个管理页面,用Echart来展示。或许有更好的方法吗?
  3. 还要爬取天气信息,根据天气和传感器数据输出浇花的策略,比如若牵牛花一天要浇3次水保证生长湿度,天气下雨就不浇水,或者若湿度太低就要多浇水,这就是动态调整策略。这个暂时还没想到该怎么处理,好像也涉及到流式数据处理。
    本人java开发,当然有其他语言的方法也可以学一下,各位兄弟姐妹提提意见呗~

你这个问题是一个典型的智能物联网开发案例。

  1. 你的数据上报是谁在上报你没有说清楚,是物联网开发板吗还是网关?不管是开发板还是网关,我们一般都是采用MQTT协议上报传感器采集到的数据,这里推荐你使用MQTT上报数据。如果你的系统是局域网的话,采用API接口调用的方式也是可以的。

  2. 当你的传感器采集到数据上报后,你需要有一个后台管理系统去接收数据,并进行存储,考虑到每30秒才不到1000条数据,所以数据库选型就选你熟悉的,数据量太少选什么数据库都一样,如果数据量大的情况下可以考试使用时序数据库,例如influxDB。关于可视化平台,你说的vue+springboot+echart这套方案就很好,可以去github上找找,有很多类似的项目可以参考。

  3. 关于爬取天气信息或其他什么策略之类的,都放在后台来做,基于数据处理,输出策略。然后根据平台生成的策略,向传感器下发指令,我们一般都是由网关或物联网开发板驱动传感器,采用MQTT协议下发指令,当然你也可以使用API接口调用的方式。

建议楼主先去github上搜索相关项目案例,诸如此类案例非常之多,大同小异。