宣传网站建设,中国建设银行亚洲网站,做柱状图饼状图好看的网站,百度平台推广的营销收费模式目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 系统基础模块2.3 烟雾传感器模块2.4 温度传感器模块2.5 历史记录模块2.6 园区数据模块 三、系统设计3.1 用例设计3.1.1 森林园区基础系统用例设计3.1.2 森林预警数据用例设计 3.2 数据库设计3.2.1 烟雾… 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 系统基础模块2.3 烟雾传感器模块2.4 温度传感器模块2.5 历史记录模块2.6 园区数据模块 三、系统设计3.1 用例设计3.1.1 森林园区基础系统用例设计3.1.2 森林预警数据用例设计 3.2 数据库设计3.2.1 烟雾传感器 3.2.2 温度传感器3.2.3 历史记录3.2.4 园区数据 四、系统展示五、核心代码5.1 一键创建传感器5.2 模拟传感器数据变化5.3 WebSocket 搭建 六、免责说明 一、摘要
1.1 项目介绍
基于websocketVueSpringBootMySQL的森林火灾预警系统包含园区数据模块、温度传感器模块、烟雾传感器模块、园区监控模块、园区报警历史模块还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块森林火灾预警系统基于角色的访问控制给园区管理员、普通用户使用。
1.2 项目录屏 二、功能模块
本文设计的森林火灾预警系统的包括了系统数据中心模块用来存放管理系统通用的模块另外分别设计了系统基础、烟雾传感器、温度传感器、历史记录、园区数据这五大模块用于存放系统的核心业务逻辑。
2.1 数据中心模块
数据中心模块包含了对产森林火灾预警系统的基础模块比如管理谁可以登录这套系统记录这些人登录系统做了什么不同的人拥有不同权限的管理。
2.2 系统基础模块
系统基础模块是对园区信息进行管理其中包括用户管理部门管理云盘角色支持菜单支持日志管理数据字典前端表格等可以通过此模块对园区进行添加、编辑更新、删除、查询操作。
2.3 烟雾传感器模块
烟雾传感器模块是对导致森林火灾发生的重要因素——烟雾浓度进行记录设置了烟雾浓度的阈值达到这个阈值就会引起报警。烟雾浓度数据的精准捕捉将有效的对防止森林火灾起到作用森林管理员可以对阈值进行更改应对不同季节的森林情况。
2.4 温度传感器模块
温度传感器模块是对导致森林火灾发生的重要因素——森林温度进行记录设置了森林温度的阈值达到这个阈值就会引起报警。森林温度数据的精准捕捉将有效的对防止森林火灾起到作用森林的温度越高森林火灾发生的概率就会越大所以应该及时关注森林温度的变化这样才可以及时预警。
2.5 历史记录模块
历史记录模块的设计是为了通过对森林火灾预警次数的观测可以看出哪片园区的森林火灾发生概率比较高可以安排相应的人员以及物质对高危险区域进行更多的部署将有效缓解救援人员以及物资短缺的问题将防火的重心放在极易发生火灾的区域如果发生了森林火灾可以及时进行相应的措施。
2.6 园区数据模块
园区数据模块的设计是为了整合各个园区之间的关系将各个园区的数据统计在一个模块上管理员可以通过园区数据模块及时的发现森林的情况如果发生了森林火灾或者监测到数据快达到临界值可以达到更快的反应速度。 三、系统设计
3.1 用例设计
3.1.1 森林园区基础系统用例设计 3.1.2 森林预警数据用例设计 3.2 数据库设计
3.2.1 烟雾传感器
烟雾传感器模块是对导致森林火灾发生的重要因素——烟雾浓度进行记录设置了烟雾浓度的阈值达到这个阈值就会引起报警。烟雾浓度数据的精准捕捉将有效的对防止森林火灾起到作用森林管理员可以对阈值进行更改应对不同季节的森林情况。 3.2.2 温度传感器
温度传感器模块是对导致森林火灾发生的重要因素——森林温度进行记录设置了森林温度的阈值达到这个阈值就会引起报警。森林温度数据的精准捕捉将有效的对防止森林火灾起到作用森林的温度越高森林火灾发生的概率就会越大所以应该及时关注森林温度的变化这样才可以及时预警。 3.2.3 历史记录
历史记录模块的设计是为了通过对森林火灾预警次数的观测可以看出哪片园区的森林火灾发生概率比较高可以安排相应的人员以及物质对高危险区域进行更多的部署将有效缓解救援人员以及物资短缺的问题将防火的重心放在极易发生火灾的区域如果发生了森林火灾可以及时进行相应的措施。 3.2.4 园区数据
园区数据模块的设计是为了整合各个园区之间的关系将各个园区的数据统计在一个模块上管理员可以通过园区数据模块及时的发现森林的情况如果发生了森林火灾或者监测到数据快达到临界值可以达到更快的反应速度。 四、系统展示 五、核心代码
5.1 一键创建传感器
RequestMapping(value /createSensor, method RequestMethod.GET)
ApiOperation(value 一键创建传感器)
public ResultForestPark createSensor(RequestParam String id){ForestPark park iForestParkService.getById(id);if(park null) {return ResultUtil.error(园区不存在);}// 删除原烟雾传感器QueryWrapperSmokeSensor ssOldQw new QueryWrapper();ssOldQw.eq(park_id,park.getId());iSmokeSensorService.remove(ssOldQw);// 删除原温度传感器QueryWrapperTemperatureSensor tsOldQw new QueryWrapper();tsOldQw.eq(park_id,park.getId());iTemperatureSensorService.remove(tsOldQw);// 创建传感器SmokeSensor ss new SmokeSensor();ss.setParkId(park.getId());ss.setParkName(park.getTitle());ss.setValue(0);ss.setLastTime();iSmokeSensorService.saveOrUpdate(ss);TemperatureSensor ts new TemperatureSensor();ts.setParkId(park.getId());ts.setParkName(park.getTitle());ts.setValue(0);ts.setLastTime();iTemperatureSensorService.saveOrUpdate(ts);return ResultUtil.success();
}5.2 模拟传感器数据变化
private void changeValue1Fx() {ListSmokeSensor sensorList iSmokeSensorService.list();Random r new Random();for (SmokeSensor ss : sensorList) {int tempValue r.nextInt(100);ss.setValue(tempValue);ss.setLastTime(DateUtil.now());iSmokeSensorService.saveOrUpdate(ss);try {parkTask.updatePartAlertTime(ss.getParkId());} catch (InterruptedException e) {}BaseWebSocketService.sendInfo(Smoke ss.getParkId() tempValue);}
}5.3 WebSocket 搭建
Configuration
EnableWebSocketMessageBroker
public class StompWebSocketConfig implements WebSocketMessageBrokerConfigurer {Autowiredprivate StompChannelInterceptor myChannelInterceptor;Overridepublic void registerStompEndpoints(StompEndpointRegistry registry) {// 1.定义客户端连接地址/stomp-ws// 2.使用sockJS,stomp协议// 3.配置跨域registry.addEndpoint(/stomp-ws).setAllowedOriginPatterns(*).withSockJS();}Overridepublic void configureMessageBroker(MessageBrokerRegistry registry) {// 1.设置服务端推送数据的主题节点registry.enableSimpleBroker(/topic, /queue);// 2.设置客户端向服务端推送消息的前缀
// registry.setApplicationDestinationPrefixes(app);}Overridepublic void configureClientInboundChannel(ChannelRegistration registration) {// 注册拦截器中间件registration.interceptors(myChannelInterceptor);}
} 六、免责说明
本项目仅供个人学习使用商用授权请联系博主否则后果自负。博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权拥有最终解释权。如有问题欢迎在仓库 Issue 留言看到后会第一时间回复相关意见会酌情考虑但没有一定被采纳的承诺或保证。
下载本系统代码或使用本系统的用户必须同意以下内容否则请勿下载
出于自愿而使用/开发本软件了解使用本软件的风险且同意自己承担使用本软件的风险。利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关博主对此不承担任何责任。在任何情况下对于因使用或无法使用本软件而导致的任何难以合理预估的损失包括但不仅限于商业利润损失、业务中断与业务信息丢失博主概不承担任何责任。必须了解使用本软件的风险博主不承诺提供一对一的技术支持、使用担保也不承担任何因本软件而产生的难以预料的问题的相关责任。