# IntelScarecrow2 **Repository Path**: adjaisd/intel-scarecrow2 ## Basic Information - **Project Name**: IntelScarecrow2 - **Description**: 对IntelScarecrow优化 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-21 - **Last Updated**: 2023-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, Vue, JavaScript ## README ## 智能稻草人软件设计  项目名为**IntelSCARECROW2**,旨在管理物联网设备与传感器数据的管理。  项目基于Springboot+Vue,前端采用了[vue-element-admin解决方案](https://github.com/PanJiaChen/vue-element-admin)  [原版本算是软件+物联网项目,已废弃,预览地址](http://106.13.74.173:13239/);  新版本为纯软件项目,也可通过emqx与物联网设备交互;  [项目预览地址版本2.0,IntelScarecrow2:2.0](http://106.13.74.173:13240/)  [项目预览地址版本2.1,IntelScarecrow2:2.1](http://106.13.74.173:13241/)  由于服务器可能到期或者数据库原因,预览效果可以在[img目录下](/img)查看 ### 需求分析  随着物联网设备的规模化应用,对物联网设备的管理、传感器数据的传输与监控成为一个问题。  本项目将重心集中在对设备管理与对传感器数据的监控,当出现异常或故障,通过预先设定的网络钩子来做出相应的处理,从而减少损失。 ### 软件功能需求  目前是单用户对多设备的管理,功能实现上是数据层面的操作,没有验证事物真实存在(比如设备存在、传感器数据存在、应急处理有效);  下面是最终软件各模块功能与当前开发进度. #### 用户模块 | 序号 | 功能 | 是否完成 | 完成度 | |:--:|:------:|:----:|:---:| | 1 | 登录 | ✔ | 80% | | 2 | 用户信息管理 | × | 0% | #### 设备管理模块 | 序号 | 功能 | 是否完成 | 完成度 | |:--:|:--------:|:----:|:---:| | 1 | 验证设备真实存在 | × | 0% | | 2 | 设备管理 | ✔ | 80% | | 3 | 开关设备 | ✔ | 80% | #### 设备状态管理 | 序号 | 功能 | 是否完成 | 完成度 | |:--:|:-----------:|:----:|:---:| | 1 | 查看在线离线设备数 | ✔ | 95% | | 2 | 查看设备定位 | ✔ | 95% | | 3 | 查看设备报警趋势 | ✔ | 95% | | 4 | 查看异常较多的设备 | ✔ | 95% | | 5 | 设备连接与断连邮箱提醒 | ✔ | 95% | | 6 | 查看设备详细信息 | × | 5% | #### 设备指标管理模块 | 序号 | 功能 | 是否完成 | 完成度 | |:--:|:----------:|:----:|:---:| | 1 | 验证设备指标真实存在 | × | 0% | | 2 | 验证应急处理有效 | × | 0% | | 3 | 设备指标管理 | ✔ | 80% | | 4 | 数据异常应急处理 | × | 10% | #### 指标报警管理模块 | 序号 | 功能 | 是否完成 | 完成度 | |:--:|:--------:|:----:|:---:| | 1 | 验证应急处理有效 | × | 0% | | 2 | 指标报警管理 | ✔ | 80% | | 3 | 查看报警日志 | ✔ | 90% | | 4 | 报警沉默周期 | × | 0% | | 5 | 数据异常应急处理 | × | 0% | | 6 | 最佳生长参数预测 | × | 0% | #### 视图管理模块 | 序号 | 功能 | 是否完成 | 完成度 | |:--:|:-------:|:----:|:---:| | 1 | 视图管理 | ✔ | 90% | | 2 | 添加和预览视图 | ✔ | 90% | #### 其他模块 | 序号 | 功能 | 是否完成 | 完成度 | |:--:|:------:|:----:|:---:| | 1 | 消息队列认证 | ✔ | 90% | | 2 | 爬取天气数据 | × | 10% | | 3 | 应急处理 | × | 2% | ### 硬件程序功能需求  考虑到设备过多,设备数达到上百,再加上传感器数据的高频且不间断特点,后期需要考虑将设备分配到不同网络,网络拓扑呈现树形;  数据传输开始采用消息队列(Message Queue),但有时延迟较高或者收不到消息,后续引入其他传输协议比如Zigbee;  局部网络中心节点汇聚下层节点数据并对其去冗余,最上层的几个节点处理与上层应用的交互;  其中减少冗余可通过数据融合技术,一定区域内的节点数据进行数据融合,可以考虑多种策略,比如取均值、中位数或者滤波算法,后期还要兼容更多数据类型(包括图片、音频、多维数组);  此外所有中心节点应该有一个或多个备份节点,他们间交替工作,不工作的节点进入低功率运行状态,随时进行应急处理; | 序号 | 功能 | 是否完成 | 完成度 | |:--:|:----:|:----:|:---:| | 1 | 数据传输 | ✔ | 30% | | 2 | 数据融合 | × | 5% | | 3 | 应急处理 | × | 2% | ### 存在问题 1. 界面需适配移动端 2. 硬件程序功能(消息队列延迟高、数据传输的协议单一、数据融合策略、应急处理) 3. 数据库不完善需重建,后端代码不规范需重构 4. 软件功能尚存在很大不足(验证设备存在、验证设备指标存在、验证应急处理WebHook有效、报警沉默周期、应急处理等) 5. 存在很多需要人工管理,和"智慧"相差较大(设备指标和指标报警,尤其指标报警需种植经验丰富的人能胜任,后期通过累积的数据包括生长环境参数与产量来建立作物生长模型,辅助对数据标记的决策) ### 如何参与开发 #### 软件开发  需修改项目根目录下`backend`目录下的代码,需先对Java代码的方法测试,再进行接口测试,在注明做出的修改后才允许提交; #### 硬件程序开发  后续会新建仓库存储硬件程序相关的开发,目前处于学习阶段; #### 运维开发  负责软件镜像的维护与发布、脚本编写、云端软件部署、硬件程序调试. --- 2022-3-25重新开发,在已有功能模块基础上进行开发 --- 2022-05-04 软件前后端的主要功能已实现 2022-05-04 [mqtt身份验证使用说明](others/README.md) 2022-05-04 [后端使用说明](backend/README.md) 2022-05-04 [前端使用说明](frontend/README.md) 2023-05-30 更新README.md 2022-05-04 如果遇到问题,可联系作者邮箱:adjaisd@qq.com ---