项目介绍之物联网环境监测系统
概述
该系统主要用于环境数据的采集和读取,整体架构分为硬件部分和软件部分。硬件指的是用来实时采集环境指数的监测设备,软件部分包含处理这些数据的程序和数据库。
软件介绍(只负责软件部分)
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
(1) 客户端
树莓派系统通过指定的协议将传感器采集的数据发送到客户端。
注意:客户端并不会立即、实时地将数据发送给服务器端,而是会将采集到的数据以不断累加的方式保存在客户端的原始数据文件中(radwtmp)。待需要时,启动程序对原始数据文件进行批量解析,并整理成数据清单,通过网络发送至服务器端。
(2) 服务器
系统采用传统的C/S架构,一台服务器可以同时接收多个客户端发送的数据。服务器部分接收到客户端发来的数据之后,将其保存至数据库中,便于日后的分析调研。
(3) 数据库
持久化保存
(4) 后台管理系统
模块划分
1)客户端部分
采集模块 备份模块 网络模块 配置模块 日志模块
2)服务器部分
入库模块 备份模块 网络模块 配置模块 日志模块
功能说明:
1)采集模块
运行在客户端,负责直接读取、解析原始数据文件。对其中的数据进行分析,整理成Java版数据清单。
注意事项:
a)硬件设备会持续性地向客户端发送数据,radwtmp文件中的数据会不断地增长。请注意,在解析的过程中,已经解析过的数据是否需要重复解析?如何避免?
b)radwtmp中的一行数据代表硬件设备发送的一次读数。但是注意,硬件设计方面,温度和湿度属于同一个采集器。也就意味着,树莓派发送来的一条数据有可能是以下三种情况:
1)包含一条二氧化碳数据
2)包含一条光照强度数据
3)*同时包含一条温度数据和一条湿度数据(温湿度同时发送,不能分离)
2)备份模块
备份模块运行在客户端和服务器两端,主要解决如下问题:
a)网络模块客户端部分在发送数据的时候出现异常,将数据进行备份
b)服务器端入库模块在向数据库插入数据时出现异常,备份未插入的数据
c)将采集模块已读取的字符数进行备份,避免重复读取
3)网络模块
网络模块分为Client和Server两部分:
Client运行在客户端,将采集模块整理好的清单发送至服务器端;
Server运行在服务器端,接收客户端发送来的数据清单,并调用入库模块存至DB。
4)入库模块
运行在服务器端,将网络模块接收到的数据保存至数据库中。
5)日志模块
运行在客户端和服务器两端,对系统运行过程进行日志记录,便于维护。
6)配置模块
运行在客户端和服务器两端,对系统中的其他模块进行整合,解除模块之间的耦合度。
代码部分
[link]:链接: https://pan.baidu.com/s/15jgnaXSL3gGP11F4JrCZ6Q&shfl=shareset 提取码: 8exq 复制这段内容后打开百度网盘手机App,操作更方便哦