大气污染监控智能传感器软件设计方案
大气污染监控智能传感器软件名称:
大气污染智能传感器系统软件【Software for the Intelligent Sensor System for Atmospheric Pollution (SISSAP)】
软件目标:
开发一个网页式网络大气信息检测平台,使得用户可以通过网络为用户提供用户给定区域内大气污染物信息(如污染气体种类、气体浓度等)。通过网络连接的硬件系统,将传感器获得的数据实时传递给数据库,并实现大气信息处理的智能推荐服务。
具体而言,软件将拥有如下功能:
开发出网页系统,外部用户可以直接公开登记访问。
软件框架与功能模块设计:
软件设计总体分为两部分:图片可视化页面(图1表示)、具体数据显示页面(图2表示),如下图所示:
图1可视化页面
图2具体数据显示页面
图1为图2的一个表现形式,图1数据信息来自于图2一部分。
页面功能介绍:
图1:调用数据库进行绘图,绘图所需信息需要从数据库特定条件查询再绘制得到;同时图片刷新时间给定;已注册用户可以设置手动刷新按钮、手动调整图片;信息弹窗、详细信息。
图2:数据库的所有信息的显示,可以使用多表联立放到同一个表中,包括用户信息、气体信息、数据库表新增设置、网站积分钱包等,其中区分用户权限,游客、普通用户、vip用户、管理员,对应操作范围逐步提高。目前需要有:查询、修改、增加功能(换肤)、修改图一显示顺序。
Web后台功能:
实时数据入库,页面定时更新;入库前判断数据异常等信息,将这些后期信息当作另一种附加信息保存到数据库\或是入库后再检查异常,这里信息的检查标准可以通过图2页面进行更改;接口通用化,数据入库函数可以适用于不同设备;数据机器学习等训练接口,可能结果或预测存到数据库。额外信息批量导入,注意信息的真实性,可添加个标签
图片可视化,只用到数据库调用,此时数据库信息包含了异常推荐等额外信息。
权限设置,数据库读取用户权限,导致web页面显示区别,管理员能够修改数据,例如附加信息异常的修改、推荐信息的修改(导致用户收到推荐);异常信息的标记。设置刷新时间,
管理员可以通过页面对数据库表的修改增加删除。
整体设计:
软件总体框架设计为基于网页架构的智能数据库应用系统,简要描述即:软件以围绕数据库读取进行,主要由可视化页面和数据详细信息页面,以及web后台程序。后台读取数据库、处理数据,再将数据传到两个页面显示即可。
SISSAP软件最后整体将部署于在线服务器中。技术拟采用前后端分离架构或是mvc框架,web整体采用python django框架和php 的thinkphp框架,两者为轻量型web框架,适合该软件;数据库使用Mysql进行;前台使用thinkphp自带的框架或是vue,使用多种js插件实现。
人员分工:
软件初期,程序原型框架
(胡宇:编制框架主程序、主程序调试、主程序与数据库模块接口;吴宏卓:主程序测试、数据库模块开发、数据库与主程序接口;林燕茹:图形界面设计和开发、用户登录系统和权限设置程序;张欣:硬件数据接口缓冲程序,硬件缓冲数据传递给数据库的接口程序。)以下所有内容需进一步展开细化。
数据监控模块:主要调用4个接口,传感器数据写入接口、平台数据导入接口、预测接口、数据检测接口,前两个和后两个分别对应数据写入和数据评价检测接口。
a) 硬件连接接口:该接口用于连接传感器等硬件设备。
b) 数据异常检测接口:用于对于传输数据异常的判断,附加额外标签。
c) 硬件写入数据库接口:需要调用硬件连接接口,在硬件连接情况下,读取传输数据,并调用数据异常检测接口,检测异常等信息,将处理后的数据导入到数据库。
d) 数据预测接口,调用单、多表查询接口,将所需数据传入预测函数,并返回数据结果,传入前端的echarts图表。
e) 推荐数据接口,调用单、多表查询接口,将所需数据传入推荐函数中,并返回数据结果,传入前端信息中。
f) 4.接口使用两层结构,后台建立数据库表实体和模型,模型封装了调用实体对象进行操作的函数。
b) 主控制器程序调用数据库及子数据库的连接程序(胡宇)
c) 主控制器程序接收用户指令及返回数据传递给图形信息程序的接口(胡宇)
b) 确立气体污染数据库中表条目之间的逻辑,以及各项数据获取方法
表名 含义 表名 含义
users 用户信息表 position 站点
users_permission 用户权限表 Abnormal data 异常数据表
users_menu 用户访问权限表 algorithm_state 算法状态表
user_operation 用户操作权限表 pre_data 预测数据表
AQI_data 空气质量数据表 loginfo 日志信息表
部分重要的数据表
c) 建立用户权限子数据库系统及用户信息更新接口
d) 建立硬件子数据库系统及用户信息接口
e) 根据主控制器程序指令对各数据库操作(增删查改)与返回程序
f) 开发初步功能的数据分析程序(气体浓度超标警告信息)
3. 前台页面建立:(林燕茹)
a) 用户登录页面,用户信息数据与用户数据库的接口
c) 区域硬件分布和区域地图实时显示(地图录入)
2011-获取污染物实时数据;PW-预设账号;MN-每个设备id
a、b、c和d-四种污染物气体编号 (以上设定根据国家标准设置)
c) 采集数据与数据库连接程序
需要调用硬件连接接口,在硬件连接情况下,读取传输数据,并调用数据异常检测接口,检测异常等信息,将处理后的数据导入到数据库
软件后期,丰富内容
(胡宇:框架主程序部署和维护、主程序与更新后模块接口;吴宏卓:框架主程序维护、主程序测试、数据库模块内的数据分析算法和程序开发;林燕茹:用户交互动画图形界面设计和开发、图形数据处理程序;张欣:硬件信息和数据智能更新程序、硬件应急处理智能操作推荐程序,硬件处理推荐信息与数据库的接口程序。)
6. 软件主控制器程序更新(胡宇)
a) 将软件在阿里云服务器上部署并调试
b) 对云端服务中的软件进行维护
c) 各个模块更新后的主控制器程序更新迭代
7. 管理页面内容进阶(吴宏卓)
a) 对云端服务中的软件进行维护和测试
b) 开发数据库进阶分析程序,实现对于历史信息的数据分析,利用深度学习方法,建立关联判断模型,实现未来信息预测功能。
c) 根据数据分析结果,建立分级警告、用户推荐操作等功能(含硬件、气体环境等情况)
b) 预测数据下载子模块:空气质量预测数据下载子模块的作用就是为用户提供详细的预测数据的查看与下载服务。在此模块中,由前端发向服务器的数据主要为用户身份令牌 token,数据 id 等,后端在将身份认证,权限处理,逻辑处理等相关工作完成后,会为前端提供预测简报,预测数据详细信息等,最后前端会根据后端提供的数据将网页渲染提供给用户。此功能模块的核心接口如下:
接口 函数 参数 返回值 解释
forecast service get AllBrief Forecast String List 获取站点预测信息
forecast service getDetailForecast InfoById Sting List 根据ID获取空气质量详细预测信息
forecast service downloadAll Data Sting List 下载最新的空气质量预测信息
forecast service getALLForecast Data Sting List 获取所有预测空气质量数据
c) 预测算法状态子模块:空气质量预测算法状态子模块主要为用户提供查询系统核心算法的运行状态,比对预测数据与实际监测数据等功能。空气质量预测模块中的算法状态查看子模块的具体实现结果用户在此模块中可以根据文字和颜色直观的查看系统中两种核心算法的运行状态,而且在此模块中用户还可以根据自己选择的污染物种类来对比由预测算法产生的预测数据与由小微站实际监测获取的空气质量监测数据进行曲线对比。其中蓝色的线代表真实数据,红色的线代表预测值。
空气质量预测算法状态子模块主要为用户提供查询系统核心算法的运行状态,比对预测数据与实际监测数据等功能,实现此功能时用到的部分核心接口如表:
接口 函数 参数 返回值 解释
forecast service getForecast PositionAndPollutant String List 根据污染物种类获取预测数据
forecast service getHistoryDataByPositionAndPollutant Sting int 获取监测站点和污染物种类致的历史监测数据
forecast service getForecast StateByPolutant Sting int 获取某种污染物的预测算法状态
forecast service getFill StateByPositionAndPolutant Sting int 获取某个站点某污染物
上述所有API接口,都是通过后端编写函数实现,通过调用接口函数,就可以获取相应的数据,相应的数据会存储在数据库的对应表中。
8. 可视化页面内容进阶(林燕茹)
a) 开发程序优化界面设计和排版,实现美观化效果
b) 在用户交互界面的数据显示中加入动画效果,可反馈数据随时间的动态变化
c) 开发图形处理程序,为传感器硬件布点设计推荐提供依据
9. 硬件处理信息进阶(张欣)
a) 开发程序可智能更新硬件信息,并反馈到数据库端
b) 考虑硬件通讯在复杂环境中失效条件下,开发硬件应急处理的操作智能推荐程序(硬件失效、信号反常)
c) 硬件处理推荐信息与数据库的接口程序